sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)
环境:
SSMS
sql-server2016
一、为数据库添加数据文件
添加日志数据文件
以下是添加数据文件和日志文件的代码
ALTER DATABASE [joinbest] ADD FILE ( NAME = N'joinbest_2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\joinbest_2.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]
ALTER DATABASE [joinbest] ADD FILE ( NAME = N'joinbest_2_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\joinbest_2_log.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]
二、测试文件自动增长功能,往joinbestgo数据库添加海量数据
use benet
create table t(id int,name nvarchar(max),pwd nvarchar(max))
为t表添加100000行数据,观察cpu、内存和文件大小的变化
declare @i int=1;
while(@i<=100000)
begin
insert into t values(@i,replicate(rand()*100000,1000)
,replicate(rand()*100000,1000));
set @i=@i+1;
end
如果一切操作无误的话,相信你已经看到结果了,数据文件原始文件是8M,自动增长,每次增长64M,没有上限;但是日志文件是必须要设置上限的,原因是,不管数据库做什么样的更改操作,都会记录到日志文件里面,更是要定期的进行清理呢
三、删除数据库中数据,查看测试结果
删除t表中的数据,观察cpu、内存和文件大小的变化
delete from t
我们在观察一下数据文件,以及日志文件的大小,日志文件更大了,而且数据文件大小也没有降下来,这是因为虽然你删除了数据,但是文件在你的文件系统磁盘上还是占着那么大地方,只不过里面没有东西而已
收缩数据库,从而节省磁盘资源
DBCC SHRINKDATABASE(N'joinbest')
//执行该命令是收缩整个数据库的容量,
DBCC SHRINKFILE (N'joinbest' , 5)
//该命令是收缩单个数据文件的
ALTER DATABASE [joinbest] SET AUTO_SHRINK ON WITH NO_WAIT
//该命令是设置自动收缩数据库
本文完。。。
sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)的更多相关文章
- Sql Server之使用T_SQL创建,修改,查看数据库信息
一.使用Transact_SQL创建数据库 Transact_SQL语法如下: create database database_name [ on [primary] [<fi ...
- SQL Server 2017 SELECT…INTO 创建的新表指定到文件组
原文:SQL Server 2017 SELECT-INTO 创建的新表指定到文件组 SELECT-INTO 在 SQL Server 中也是常见的一个功能,过去用此方法创建的新表只能存储到默认的文件 ...
- SQL Server安全(7/11):使用跨数据库所有权链接(Cross-Database Ownership Chaining)的跨数据库安全
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...
- SQL Server 无法在服务器上访问指定的路径或文件解决方法
SQL Server 无法在服务器上访问指定的路径或文件解决方法 在SQL Server附加数据库或备份数据库时出现:无法在服务器上访问指定的路径或文件. 请确保您具有必需的安全权限且该路径或文件存在 ...
- 报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容
在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Da ...
- SQL Server ->> 重新创建Assembly和自动重建相关的数据库编程对象(存储过程,函数和触发器)
在SQL Server中,一旦一个Assembly被其他的数据库编程对象(存储过程,函数和触发器)引用了,这个Assembly就不能被删除.但是问题是,在SQL Server要更新一个Assembly ...
- SQL SERVER 表添加新字段
SQL SERVER 表添加新字段 ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL; -- doc_exa 是表名 -- column_b 是新加的 ...
- SQL server 如何附加、还原、分离、备份数据库文件
No1 : 附加 No2 : 还原 一.(需要 .bak文件)首先建立一个数据库,数据库名称与你的.bak文件名要相同. 当然.这时候的这个数据库还是空的,需要还原回去数据.右键 ...
- SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”
打开MSSQL数据库管理系统的安装目录,例如: X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA. 其中 X:\ ...
- SQL Server 2012实施与管理实战指南(笔记)——Ch4数据库连接组件
4.数据库连接组件 访问数据库有多种不同的技术,包括ADO,ODBC,OLEDB,ADO.NET等这些都有一些共性.首先要建立连接(Connection),然后通过命令(Command)对数据库进行访 ...
随机推荐
- 关于css,js放置位置的问题
一天,小明正在网上查找资料,项目中遇到的问题需要通过查阅资料来解决,他看到一个标题很有意思,觉得这应该是他要找的答案,于是他就点了进去,结果进入网站后几秒钟的时间,网页还是一片空白,过了好久才加载完成 ...
- Win32知识之窗口绘制.窗口第一讲
Win32知识之窗口本质 一丶摘要 在学习Win32的时候. 很多操作都是窗口进行操作的.那么今天就说一下窗口的本质是什么. 窗口的本质是不断绘制.是windows通过消息机制进行绘制的. 我们知道. ...
- Gradle nexus配置
1.下载Gradle; 2.添加脚本init.gradle到gradle的init.d目录中: ext { nexus = 'http://192.168.184.6:8081/nexus' user ...
- Perl:undef类型和defined()函数
undef和defined()函数 undef表示的像是数据库中的"null".它表示空,啥也没有,是完全未定义的.这不等于字符串的空,不等于数值0,它是另一种类型. 在某些时候, ...
- Go基础系列:struct的导出和暴露问题
struct的导出和暴露问题 关于struct的导出 struct的属性是否被导出,也遵循大小写的原则:首字母大写的被导出,首字母小写的不被导出. 所以: 如果struct名称首字母是小写的,这个st ...
- Linux某些命令找不到/无法使用
1.zip/unzip: command not found yum list | grep zip/unzip yum install zip yum install unzip 2.rz -y/s ...
- .NET Core 实践一:微服务架构的优点(转)
微服务现在已经是各种互联网应用首选的云架构组件,无论是 BAT 还是 滴滴.美团 ,微服务都是重要的一环. 相对于微服务,传统应用架构有以下缺点: 1. 业务代码混杂,团队成员职责边界不清,团队协作体 ...
- devDependencies与dependencies (转载)
简单整理: 一.关键词解释 devDependencies用于本地环境开发 dependencies用户发布环境 devDependencies是只会在开发环境下依赖的模块,生产环境不会被打入包内.通 ...
- C#实现给图片加边框的方法
Bitmap bit= new Bitmap(@"" + Path);//给图片加边框 //Bitmap bit = new Bitmap(Screen.AllScreens[0] ...
- springMVC_05结果跳转方式
一.总结 总共有四个, 1.设置ModelAndView的值,根据view和视图解析器跳转到指定的页面 2.通过servletapi对象来实现,不需要视图解析器 3.通过springmvc来实现转发和 ...