且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用数据库引擎优化Tuning Advistor和dta

更新时间:2022-08-12 17:34:22

SQL Server 2005一个我非常欣赏的特性就是有了专门优化程序,据说在2K下面也有,不过我没有用过,估计也不会怎么样. 不说2K还是说说2005的这个好东东.

在Sql Server Management Studio中点击"工具"的"数据库引擎优化顾问"可以启动这个程序,当然也可以通过开始菜单中的SQL2005下面的"性能工具"下来打开程序.

打开该程序后输入正确的用户名密码就可以登录数据库.这里的优化是针对具体SQL语句的优化,所以要准备一个要优化的查询语句比如:

USE AdventureWorks ;
SELECT *
FROM Production.Product

把以上语句保存为一个文件,在Tuning Advistor中输入会话名称:TestIt,然后选择"工作负荷"中的"文件",并指定刚才保存的这个文件,当然下面就是要选针对的数据库了,我们用的是测试数据库AdventureWorks ,下面还有"要优化的数据库和表"好像官方说这下面和上面只要选了一个就可以了,不过似乎不行,我们还是把这儿的AdventureWorks 也选上吧.接下来就是配置"优化选项"了,这里面的一般就用默认值.这儿虽然选项不是很多,不过有些概念还是不懂,若要详细研究按F1查看帮助.

以上的配置完成后就可以点"开始分析"了,过一会儿分析结果就出来了.我们最关注的就是"建议"选项,当然这儿有一个"估计提高程度",如果是提高0%那就没有提升空间了什么也不用看了.若有提升空间而且你个人觉得有这个必要那么就按Ctrl+S将建议的脚本保存到硬盘,然后用Management Studio执行这个建议脚本就可以了,当然还有更简单的方法就是点"操作"->"应用建议"就可以了.

我们在完成了优化以后再来使用一下我们当初的脚本来优化,还是和上面的步骤一样,这个时候估计提高程度应该是0%,那也就是说我们优化完成了.

顺便再提一下,在命令行模式下可以使用dta命令来进行优化操作,输入dta /?自己看帮助.其他没有什么好说的唯一要提的就是如果不是默认端口,那么我们的连接字符串应该这样写,而且必须用双引号引起来.如下:

dta -S "tcp:157.60.15.215,12345" -U sa -P 123456 -D AdventureWorks -if C:\myscript.sql -s mysession2 -of c:\ans.sql -ox output.xml -fa IDX_IV -fp NONE -fk NONE