SQL Server数据库调优顾问是否修改数据?

时间:2009-11-20 17:10:47

标签: sql-server performance

我一直在尝试提高性能并诊断SQL Server 2005实例上的死锁。它一直在运行SQL Server 2000,直到一个月前进行了原位升级。在升级之后,我们遇到了许多问题 - 性能下降并且死锁正在上升。 MS建议我们使用2005年的数据库引擎优化顾问(DTA / DETA)。

我一般对这样的自动化工具持怀疑态度,但是在启动时抛出的消息DTA真是吓坏了我:

  

“在Workload部分中,选择Database Engine Tuning Advisor将使用的数据库   connect用于分析工作负载。如果您的工作负载包含事件或Transact-SQL   更改数据库的语句,数据库引擎优化顾问也将更改   分析工作量时的数据库。最后,选择一个或多个数据库或特定数据库   要调整的表格。“

至少在我看来,它会在进行工作负载分析时重新运行任何和所有语句。是这样的吗?如果是这样,它是否会回滚语句和事务,或者只是逐字地浏览跟踪文件中的所有内容?

一个附带问题:“工作负载分析数据库”有何不同?它默认为master。将它保留在主服务器上或将其更改为我想要调整的数据库名称是否更有意义?

提前致谢!
亚伦

1 个答案:

答案 0 :(得分:8)

我在具有数百万条记录的任务关键型数据库上多次使用它,而有些用户在数据库中修改数据,它对我来说非常适合。它从未修改或损坏数据。它唯一能做的就是在应用索引变化时减慢速度。

我确信它不会重新运行语句,因为我有一些进程可以修改数据。我故意在执行分析器时运行它们,然后在其上使用调优向导,我会知道这些特定语句是否被重新执行。正在进行的工作非常明显,并且会导致明显的差异。

所有这些都说,为了以防万一,最好备份你的数据库。