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

3/13/2008来源:SQL技巧人气:4882

SQL Server 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