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