?收缩mssql:层出不穷的新方法(缩小mssql)

收缩mssql是许多数据库管理员都面临的问题。它既不同于前一次更新,也比现有解决方案复杂得多。随着技术的发展,人们开始寻求新的解决方案,以更有效地处理收缩mssql问题。

从优化索引到代码维护,业界给出了大量建议性索引和管理服务器,以使其更高效地运行。但这只是投入式优化,它以某种方式限制了结果。当收缩mssql时,不能按照原有计划进行;在一些情况下,人们使用有害脚本,希望能够立即获得结果,但只是更糟糕。

幸运的是,最近有一些新的方法被提出来解决mssql收缩问题。首先是Partitioned ALTER,它不改变表的结构,只是把它分区,实现收缩。它很简单,不需要重建表,也不需要更改任何数据。只需要进行以下操作就可以完成收缩:

–启用分区管理

ALTER DATABASE 表名 ENABLE PARTITIONING

–使用分区收缩策略

ALTER TABLE 表名 SHRINK PARTITION

尤其适用于较大的表,其执行时间要比以前的方法更短。

此外,技术人员还可以考虑使用新的技术,如ForceTruncate,来完成mssql收缩。ForceTruncate允许用户强行省略空表页,改善空间使用率。与使用普通收缩策略不同,ForceTruncate只需运行简短的SQL脚本就能完成:

–在指定表上使用ForceTruncate

USE 数据库名

go

DBCC FORCETRUNCATE (‘ 表名 ‘ )

go

之所以这么受欢迎,是因为它比普通收缩策略更快,不会造成任何数据丢失。

总之,当面临收缩mssql时,我们具有更多的选项可供选择。对于大量的表,可以使用Partitioned ALTER,而对于空表,可以使用ForceTruncate,这是一种更快更安全的方法。


数据运维技术 » ?收缩mssql:层出不穷的新方法(缩小mssql)