小编Jor*_*anT的帖子

清除 TEXT 列后减小表大小的注意事项

我有第三部分应用程序,其中有一个 450GB 的表,其中在 TEXT 列中包含文件附件(是的,我知道)。通过文档保留角度,我已使用便携式驱动器将大约 35% 的旧附件导出到磁盘。TEXT 列现在有一条注释,表明附件已存档(有利于应用程序的 UI) - 从多个 MB/GB 减少到不到 1KB。

我知道反对缩小数据库的论点。我从这个论坛收集的选项包括(1)复制表、删除原始表、重命名副本、(2)使用 xp_cmdshell 'bcp...' 导出表、截断表、使用 BULK INSERT 从 'c: 导入数据。 ..' 和 ...; (3) 运行 ALTER INDEX ALL ON dbo.Table REORGANIZE WITH (LOB_COMPACTION = ON)

我最关心的是 SQL Server 将用于任何选项的资源(磁盘空间、CPU、内存...),特别是考虑到表的大小。至于时间,如果需要,我可以阻止周末时间,但是日志文件、临时数据库文件等呢?在开始使用这些选项中的任何一个之前,我应该设置/更改哪些设置?

该服务器具有 160GB 内存,其中 128GB 用于 SQL Server (2016),2 个节点,配有 20 个处理器,每个节点在 MS Windows Server 2012 R2 标准上额定频率为 2.2 GHz。

index sql-server blob sql-server-2016 index-maintenance

3
推荐指数
1
解决办法
245
查看次数