如何收缩数据库 (SQL Server Management Studio)

本主题介绍如何使用 SQL Server Management Studio 中的对象资源管理器收缩数据库。收缩后的数据库不能小于数据库的最小大小。最小大小是在数据库最初创建时指定的大小,或是上一次使用文件大小更改操作(如 DBCC SHRINKFILE)设置的显式大小。例如,如果数据库最初创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小只能收缩到 10 MB,即使已经删除数据库的所有数据也是如此。

收缩数据文件通过将数据页从文件末尾移动到更靠近文件开头的未占用的空间来恢复空间。在文件末尾创建足够的可用空间后,可以取消对文件末尾的数据页的分配并将它们返回给文件系统。

注意事项注意

被移动用来收缩文件的数据可以分布到文件的任何可用位置。这将导致索引碎片并使搜索索引范围的查询变慢。若要消除碎片,请考虑在收缩后重新生成文件的索引。

收缩数据库

  1. 在**“对象资源管理器”**中,连接到 SQL Server 数据库引擎实例,再展开该实例。

  2. 展开**“数据库”**,再右键单击要收缩的数据库。

  3. 指向**“任务”,指向“收缩”,然后单击“数据库”**。

  4. 根据需要,可以选中**“在释放未使用的空间前重新组织文件”复选框。如果选中该复选框,必须为“收缩后文件中的最大可用空间”**指定值。

    选中该选项的作用与执行 DBCC SHRINKDATABASE 时指定 target_percent 值相同。清除该选项的作用与执行 DBCC SHRINKDATABASE 相同。默认情况下,该选项为清除状态。

  5. 输入在数据库收缩后数据库文件中剩余可用空间的最大百分比。值可以介于 0 和 99 之间。仅当选择**“在释放未使用的空间前重新组织文件”**以后,此选项才可用。

  6. 单击**“确定”**。