Plain_Dude_Sleeping_Alone Asked: 2020-10-02 06:18:39 +0800 CST2020-10-02 06:18:39 +0800 CST 2020-10-02 06:18:39 +0800 CST “缩小”文件与简单地减小初始大小有什么区别? 772 我是DB Administration的新手。所以我对 SQL Server Management Studio (SMSS) 或通过 T-SQL 提供的“文件收缩”功能感到困惑。如果我可以简单地降低数据库的初始大小,为什么我需要使用“文件缩小”功能? 我试图(编辑)减少我的数据库的初始大小,它成功地减少了我的数据库的物理文件。如果我使用“收缩”功能,这也将完全一样。 sql-server shrink 2 个回答 Voted Best Answer Josh Darnell 2020-10-02T06:49:52+08:002020-10-02T06:49:52+08:00 “初始尺寸”标签具有误导性。它实际上是文件的“当前大小”。此外,更改该数字并单击“确定”会SHRINKFILE在幕后进行,因此您要比较的两件事实际上是……同一件事? 这是我的 StackOverflow2010 数据库副本(当前大小实际上是 9,105 MB): 如果我将其更改为“5”: 然后单击窗口左上角的“脚本”按钮,这是 SSMS 生成的: USE [StackOverflow2010] GO DBCC SHRINKFILE (N'StackOverflow2010' , 5) GO 所以你的问题的答案是 SSMS 的这两个功能做同样的事情。 顺便说一句,我强烈建议您在学习时经常使用 SSMS 中的“脚本”按钮。这是了解 SSMS GUI 正在做什么的好方法,并且有助于自动化和克服用户界面的限制,因为您对 T-SQL 脚本更加熟悉。 请注意,您应该警惕收缩数据库文件,有关更多信息,请参见此处: 我需要缩小我的数据库 - 我刚刚释放了很多空间 什么时候可以收缩数据库? Tibor Karaszi 2020-10-02T23:59:17+08:002020-10-02T23:59:17+08:00 请注意,MS 最终在 SSMS 版本 18 的 GUI 中删除了“初始”一词(在我大声抱怨之后:-))。因此,使用更新的 SSMS,您可能不会感到困惑。
“初始尺寸”标签具有误导性。它实际上是文件的“当前大小”。此外,更改该数字并单击“确定”会
SHRINKFILE
在幕后进行,因此您要比较的两件事实际上是……同一件事?这是我的 StackOverflow2010 数据库副本(当前大小实际上是 9,105 MB):
如果我将其更改为“5”:
然后单击窗口左上角的“脚本”按钮,这是 SSMS 生成的:
所以你的问题的答案是 SSMS 的这两个功能做同样的事情。
顺便说一句,我强烈建议您在学习时经常使用 SSMS 中的“脚本”按钮。这是了解 SSMS GUI 正在做什么的好方法,并且有助于自动化和克服用户界面的限制,因为您对 T-SQL 脚本更加熟悉。
请注意,您应该警惕收缩数据库文件,有关更多信息,请参见此处:
我需要缩小我的数据库 - 我刚刚释放了很多空间
什么时候可以收缩数据库?
请注意,MS 最终在 SSMS 版本 18 的 GUI 中删除了“初始”一词(在我大声抱怨之后:-))。因此,使用更新的 SSMS,您可能不会感到困惑。