收缩数据库目的:
1、收缩已经分配的但是还未使用的页;
2、收缩后,空间自动减少;
分类:
1、自动收缩;
2、手动收缩;
工具/原料
-
电脑
-
Sqlserver数据库软件
方法/步骤
-
打开Sqlserver数据库软件;
-
第一种方式:自动收缩数据库;
选中数据库,右键属性---常规--查看数据库空间大小和可用大小;
-
选中数据库,右键任属性---选项--设置为自动收缩为True,设置自动收缩数据库;
由于数据库服务器每半小时查看文件的使用情况,如果空余空间大于25%,则数据库将自动进行收缩;
-
第二种方式:手动收缩数据库;
查看数据库的总空间大小、可使用空间大小为1.77M;
查看数据库文件的大小;
-
修改数据库文件大小为2;
-
查看数据库表中的数据,此时为0条数据;
输入命令:
select COUNT(*) from library.dbo.bookInfo;
-
在数据库中插入10000条数据,在数据库中执行语句:
declare @x int,@y int
set @x=10000
set @y=0
while(@y<@x)
begin
insert into library.dbo.bookInfo (bookName,bookAuthor,version,content)
values
('test'+CONVERT(varchar(5),@x),'fww','1,0','testtest nr')
set @y=@y+1
end
go
-
查看数据库表中的数据,此时为10000条数据;
输入命令:
select COUNT(*) from library.dbo.bookInfo;
-
刷新后,查看数据库的总空间大小变为3.5M、可使用空间大小变为0.22M;
查看数据库文件的大小,变为3M;
-
删除数据库表中的所有数据;
输入命令:
delete from library.dbo.bookInfo
select COUNT(*) from library.dbo.bookInfo
-
刷新后,查看数据库的总空间大小变为12.44M、可使用空间大小变为1.2M;
查看数据库文件的大小,变为3M;
则浪费了空间,接下来需要进行手动收缩数据库;
-
选择数据库,右键任务--收缩--数据库,勾选“在释放的数据库前....”,并设置为20%;
-
刷新后,查看数据库的总空间大小变为3.25M、可使用空间大小变为0.45M;
查看数据库文件的大小,变为2M;
则手动收缩数据库成功。