sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)

环境:

    SSMS

    sql-server2016

一、为数据库添加数据文件

image

image

添加日志数据文件

image

以下是添加数据文件和日志文件的代码

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

//该命令是设置自动收缩数据库

本文完。。。

转载于:https://www.cnblogs.com/joinbestgo/p/10534534.html

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值