我在 sql server 2005 上有一个大数据库。缩小数据文件后,数据库仍然很大:大约 9 GB。
以下是来自 sp_spaceused 的一些数据:
exec [dbname].dbo.sp_spaceused
reserved |data kb |index_size |unused |
10221976 KB |849240 KB |9367456 KB |5280 KB |
Run Code Online (Sandbox Code Playgroud)
我可以用吗
DBCC SHRINKFILE(logic_name_dat, 1000(Mb))
Run Code Online (Sandbox Code Playgroud)
不会丢失该数据库上的用户数据?
小智 4
是的,缩小文件不会丢失任何用户数据。但是,文件会增长,因此增长操作不会一直发生,因此通过缩小文件,您可能会选择物理大小而不是性能。此外,如果它增长得太快,您应该更改它的增长方式以及控制它的程度 - 但默认情况下它会以文件实际大小的百分比增长。
请记住,您所做的只是要求它使用文件的缓冲区部分占用更少的磁盘空间,它不会缩小到超过它能够使用物理数据作为其限制的范围。