我的客户需要将其生产数据库迁移到新服务器。数据库的大部分是审核消息。该文件最初约为200GB。在这种情况下,为了最大程度地减少停机时间,我一直在做的工作是将备份迁移到新服务器,然后截断审核表。这样可以保证切换后的所有内容都是新数据,并且一旦不再使用旧数据库,就可以将Audit表的内容导出到新数据库中,以确保保留所有审核消息。
这里的问题是我以某种方式运行了5次导出作业,现在数据库已超过1TB。我设法从表中删除了所有重复的数据,但是文件本身仍然超过1TB。
有人对如何清理这个烂摊子有建议吗? “收缩”选项是最佳途径,还是有更好的选择?
答案 0 :(得分:1)
这就是我要做的:
使用DBCC SHRINKFILE收缩单个文件而不是整个数据库
使用ALTER INDEX REORGANIZE减少索引碎片(即dbo.MyTable REORGANIZE;的ALTER INDEX MyIndex;)。否则,您将有可能在尝试收缩索引时炸毁数据库
最后,我将收缩日志文件
以此顺序进行操作应该会给您带来最好的效果,而影响最小。