我不是DBA但是我需要缩小数据库,我尝试使用SSMS接口缩小它并且它没有用。
统计数据如下:
我也尝试了DBCC SHRINKDATABASE ... TRUNCATEONLY
命令并且没有改变任何内容。
如何在不丢失数据的情况下缩小此数据库(将未使用的空间释放到操作系统)?
答案 0 :(得分:7)
顺便也检查初始大小。如果您的初始大小为235,013 MB,那么您需要先缩小初始大小。
其次,缩小是你可以对数据文件做的最糟糕的事情之一。如果缩小tlog文件就可以了,因为tlogs不使用数据页面结构。如果缩小数据库数据文件,则可以将完全分散的数据库构建为完全分散的数据库。它会使表现无法承认。为什么你想顺便收缩?数据库是200英镑GB,有60个免费的东西....大约30%免费。难道你不想在一段时间内,可以利用这个空间吗?
如果仍需要缩小数据库,则可以创建文件组并将数据移动到该文件组并删除当前文件组,或者在主文件组的情况下,可以将大小减小到最小值。
答案 1 :(得分:1)
答案 2 :(得分:0)
没有足够的评论要点,但要小心收缩。它可能会因索引碎片而影响性能
这里详细解释: http://www.theboreddba.com/Categories/indexes/SHRINK-a-data-file-Just-say-NO.aspx
萨姆
答案 3 :(得分:0)
点击这个。试图通过SSMS进行缩小,无论选择了哪个缩小选项,对话框都会立即关闭(没有任何错误或任何迹象表明它无法缩小数据库或文件)。
我最终创建了另一个逻辑ROWS数据文件,通过清空/迁移到新文件缩小主数据文件,然后再缩小/清空回原始数据文件。
这是一个开发数据库,所以我不太担心性能影响(只是想释放磁盘空间)。
答案 4 :(得分:0)
我通过以下步骤解决了该问题: