所以这就是我所面对的。
问题
要求
观
计划中是否有任何明显的遗漏,或者我忽略的最佳实践?
答案 0 :(得分:1)
难题。你的计划听起来不错,但只要你在READ UNCOMMITTED的事务隔离级别运行它以停止生成锁,我就不能完全确定你是否真的需要批处理查询。
答案 1 :(得分:1)
我进行大型架构更改的经验是,在维护窗口期间 - 在晚上/周末 - 当用户从系统启动时 - 最好进行大的更改。就像使用修复选项运行dbcc checkdb
一样。然后,当事情向南时,您可以选择在开始升级之前回滚到您提供的完整备份。
项目#3 :重命名旧/新表。您可能希望重新编译存储过程/视图。我的经验是执行计划是绑定对象ID而不是对象名称。
考虑表dbo.foo
:如果将其重命名为dbo.foo_old
,则任何存储过程或用户定义的函数在重新编译依赖对象并且其执行计划重新出现之前不一定会出错。缓存的执行计划继续完美无缺。
sp_recompile
是你的朋友。