?收缩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,这是一种更快更安全的方法。