sql-server - 缩小 SQL Server 数据库不起作用

标签 sql-server sql-server-2008-r2

我不是 DBA,但我需要收缩数据库,我尝试使用 SSMS 接口(interface)来收缩,但没有成功。

统计数据如下:

  • 大小:235,013.00 MB
  • 可用空间:65,587.59 MB

我还尝试了 DBCC SHRINKDATABASE ... TRUNCATEONLY 命令,但也没有更改任何内容。

如何在不丢失数据的情况下缩小此数据库(将未使用的空间释放给操作系统)?

最佳答案

顺便还要检查一下初始大小。如果您的初始大小为 235,013 MB,那么您需要首先减小初始大小。

其次,收缩是对数据文件所做的最糟糕的事情之一。如果缩小 tlog 文件也没关系,因为 tlog 不使用数据页结构。如果缩小数据库数据文件,就可以将完美碎片整理的数据库变成完美碎片化的数据库。它会使性能变得面目全非。顺便为什么要缩小呢?数据库有 200 GB 左右,有 60 GB 左右免费……大约有 30% 是免费的。难道你不认为在一段时间内,这个空间可以被利用吗?

如果您仍然需要缩小数据库,您可以创建一个文件组并将数据移动到该文件组并删除当前文件组,或者如果是主文件组,您可以将大小减少到最小。

关于sql-server - 缩小 SQL Server 数据库不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19452485/

相关文章:

sql - 递归查询在服务器上执行但不在本地执行

sql-server - 如何检索 SQL Server 检查约束依赖列

sql - 排序错误

SQL Server 2008 R2 子查询分组、汇总和计数

sql-server - SQL Server 2008 R2 等待类型 - 'PREEMPTIVE_OS%'

sql - 是否可以动态检查该列是否存在于另一个数据库的表中

c# - 优化 LINQ 例程

sql-server - SQL Server 中聚集索引、大型表的 DELETE 性能

sql-server - 查找多边形重叠

sql - 更新存储过程如何具有可选参数?