Sql server 数据清理后收缩数据库

Sql server 数据清理后收缩数据库,sql-server,Sql Server,我有一个用于存储Xml的数据库表。许多记录在Xml中有一个base64 pdf文件,这占用了大量空间。如果清除Xml列,数据库的大小不会缩小。我甚至尝试完全删除测试数据库中的所有记录,而数据库的物理大小仍然保持在300GB。如何让SQL意识到空间不再被使用,应该重新调整大小 我尝试过DBCC Shrinkfile,但它只会使日志文件增加1GB。 努力 缩小数据库的步骤 使用SQL Server Management Studio 在对象资源管理器中,连接到SQL Server数据库引擎的实例,然

我有一个用于存储Xml的数据库表。许多记录在Xml中有一个base64 pdf文件,这占用了大量空间。如果清除Xml列,数据库的大小不会缩小。我甚至尝试完全删除测试数据库中的所有记录,而数据库的物理大小仍然保持在300GB。如何让SQL意识到空间不再被使用,应该重新调整大小

我尝试过DBCC Shrinkfile,但它只会使日志文件增加1GB。

努力

缩小数据库的步骤
使用SQL Server Management Studio

  • 在对象资源管理器中,连接到SQL Server数据库引擎的实例,然后展开该实例。
  • 展开数据库,然后右键单击要收缩的数据库。
  • 指向
    任务
    ,指向
    收缩
    ,然后单击
    数据库

    数据库
    显示所选数据库的名称。

    当前分配的空间
    显示所选数据库已使用和未使用的总空间。

    可用可用空间 显示所选数据库的日志和数据文件中的可用空间总和。

    在释放未使用的空间之前重新组织文件
    选择此选项相当于执行DBCC SHRINKDATABASE,指定目标百分比选项。清除此选项相当于使用TRUNCATEONLY选项执行DBCC SHRINKDATABASE。默认情况下,打开对话框时不选择此选项。如果选择此选项,用户必须指定目标百分比选项。

    收缩后文件中的最大可用空间
    输入缩小数据库后数据库文件中剩余的最大可用空间百分比。允许值介于0和99之间。

  • 单击确定。

  • 你是说DBCC Shrinkdatabase?我试过Shrinkdatabase和shrinkfile。最小大小不是300GB吗?它不会缩小到最小尺寸以下。这起作用了。我以前运行过这个,它似乎不起作用,但这次我选中了“在释放未使用的空间之前重新组织文件”。