我有一个大型 SQL Server 2008 测试数据库 (1.9TB),我想减小它在磁盘上的大小。我一直在删除未使用的表,并清除大量数据,但它在磁盘上的大小并没有减少。我该怎么办?
我查看了 SSMS 中的 Shrink 任务,但选项令人眼花缭乱。我是收缩数据库还是文件?有什么选择?
Sta*_*hns 10
选择第二个单选按钮Reorganize pages before releasing unused space
,然后在Shrink file to:
选项中输入指定的最小 MB。如果您放置的 MB 低于指定的 MB,您将得到纠正。然后单击确定。
我发现一直使用 DBCC 命令进行这些工作,因为 GUI 在我的某些情况下不起作用。
另请注意,额外的空间是有原因的。您将需要未来增长的空间,但这是性能方面的一个全新主题。
如果您有可用的 2008 压缩(企业版或开发版),您应该能够使用压缩索引和表来缩减大型数据库。MS 白皮书“数据压缩:策略、容量规划和最佳实践”应该能够帮助您找到所需的内容。引用它:
“Microsoft® SQL Server® 2008 数据库软件中的数据压缩功能可以帮助减小数据库的大小并提高 I/O 密集型工作负载的性能。但是,数据库服务器上需要额外的 CPU 资源来压缩和解压缩数据,同时数据与应用程序交换。因此,在决定压缩哪些表时,了解工作负载特征很重要。本白皮书提供了以下方面的指导:
How to decide which tables and indexes to compress
How to estimate the resources required to compress a table
How to reclaim space released by data compression
The performance impacts of data compression on typical workloads"
Run Code Online (Sandbox Code Playgroud)
这是一个简短的解释。
您可以使用存储过程sp_estimate_data_compression_savings估计可以节省多少空间。
归档时间: |
|
查看次数: |
13548 次 |
最近记录: |