当你分析完问题并有了一定的方案后,就需要进行验证了。如果是在生产环境下,除非非常紧急,否则不应该把你的想法和处理手段在未测试的情况下直接部署到上面。作为“测试”或者解决方案,更好的方法是把生产库备份还原到一个测试服务器上,模拟真实环境,越真实越好,然后进行你的解决方案部署。由于你的应对方案可能是不正确的,所以部署完之后,需要再次验证,然后再分析,迭代地进行这些步骤,直到问题明显得到改进为止。
对于验证环节,可能真的只有在生产环境下才能重现,这时候是可以进行验证的,不过尽可能使用一些手段来做好备份(库、表、代码等),以免产生更严重的问题。举个例子,对于执行计划的分析,可能你已经有了一个更好的执行计划,但是为了不影响系统的正常运行,可以使用第8章中介绍的计划向导来检验执行计划及进行索引修改。或者对于一个存储过程的修改,可以把里面涉及的表、对象等复制一个副本出来,然后用修改了存储过程名之后的测试过程进行验证。
简单来说,直接修改原有环境是最后的手段,应该尽可能地做好回滚的方案,以便真正解决问题。