今天给大家介绍一个SQL Server代码跟踪和性能优化工具:Profiler
SQL Server Profiler是什么
SQL Server Profiler是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤。同时也可以利用它来对跟着文件进行分析,分析完成后会给出优化建议。
SQL Server Profiler的使用
下面我将一步一步以图片+文字解说的方式告诉大家该如何使用它来进行跟踪和优化。
第一步
启动SSMS——>【工具】——>【SQL Server Profiler】,即可启动SQL Server Profiler,如图1:
![142cbf2efd12ae91ad81ed47a84e833f.png](https://i-blog.csdnimg.cn/blog_migrate/989410e5f4de7a36b3f3f88360f91fde.jpeg)
图1 启动SQL Server Profiler
第二步
启动后会再次要求连接被跟踪的数据库,如图2:
![fdc5698a251b06bc89d32d4feb604384.png](https://i-blog.csdnimg.cn/blog_migrate/c430ad0ed567f971dbe969eb3a75d99e.jpeg)
图2 连接到被跟踪数据库
第三步
设置跟踪属性,根据界面提示填入相关信息,如图3:
![32dd34fe598cf4500e3dc6c5170a62dc.png](https://i-blog.csdnimg.cn/blog_migrate/a51ebbb9b06ace8a10acf56d77c66168.jpeg)
图3 设置跟踪属性常规页面
第四步
设置【事件选择】内容,根据图4中的提示,勾选相关内容即可:
![cd70d938b9fad1562147e720dbcfcb72.png](https://i-blog.csdnimg.cn/blog_migrate/f0194573c52db95897ae179810f5a382.jpeg)
图4 事件选择设置页面
第五步
在【事件选择】页面继续勾选显示DatabaseName列,方便显示被跟踪数据库,按图5步骤中操作:
![25e32d47fb84cd52130dbac03329a44a.png](https://i-blog.csdnimg.cn/blog_migrate/8d1cb7aff7bcb191771cb2e472c6c865.jpeg)
图5 勾选DatabaseName选项
第六步
按图6中步骤,先点击【列筛选器...】在弹出的页面中找到【DatabaseName】选项,然后输入指定数据库名称,这里我们输入AdventureWorks。这是小编本地数据库名称。
![d74205fe01b8cb2465e79e339b7d8bb1.png](https://i-blog.csdnimg.cn/blog_migrate/bb30ce5a10e5e9078c4ba59464f1b54b.jpeg)
图6 输入被跟踪数据库名称
第七步
按图7中步骤,选中【TextData】的选项,输入select%,其意思是跟踪以select开头的查询语句,%为通配符。点击【确定】后会弹出一个提示框,点击【确定】即可。
![3139021c83e70ae274f379442e842962.png](https://i-blog.csdnimg.cn/blog_migrate/c4b2d06c66d52fa847d789097b386663.jpeg)
图7 输入被跟踪的TextData
第八步
返回SSMS,选择AdventureWorks数据库,新建一个查询,点击【执行】。如图8:
![d47dc5bd0f13a758854a4d8b7b310dd0.png](https://i-blog.csdnimg.cn/blog_migrate/55c13da6bbb6343ad9b5a95b98a54ee2.jpeg)
图8 在被跟踪数据库中输入被跟踪的查询语句
第九步
返回SQL Server Profiler查看跟踪界面,如图9在跟踪页面上可以看到刚才执行的查询语句。
![f805dbc41517748384c8099a4f47862e.png](https://i-blog.csdnimg.cn/blog_migrate/ccffea04c4beb2d5bdd5a209b7af2477.jpeg)
如图9 查看被跟踪的查询语句
第十步
将当前的跟踪文件另存为跟踪文件Test.trc,如图10:
![f2deecd21ed7dd100d1fd4cca048eed9.png](https://i-blog.csdnimg.cn/blog_migrate/40974cf55bae85b51412f29ae2238b3e.jpeg)
图10 保存跟踪文件
第十一步
点击SQL Server Profiler菜单栏中的【工具】——>【数据库引擎优化顾问】开始对刚才的Test.trc文件进行分析,如图11:
![b2353a76e03ce9efe2b1fba9baa52263.png](https://i-blog.csdnimg.cn/blog_migrate/b1b9eba17095549eab497fbbbbc79e45.jpeg)
图11 开启引擎优化顾问
第十二步
在弹出的页面中,我们开始设置优化顾问。
- 在【工作负荷】中找到刚保存的Test.trc文件
- 在选择要优化的数据库和表中,我们单独找到需要被分析的表Address
如图12:
![6b8742636816af8d16a3f476dc74e12c.png](https://i-blog.csdnimg.cn/blog_migrate/8d6db66d9b1cb3377feccbdcd92c6f8f.jpeg)
图12 设置引擎优化界面
第十三步
设置完成后,点击【开始分析】即可,如图13:
![0d81540fa1efcab50412a3223443c8b5.png](https://i-blog.csdnimg.cn/blog_migrate/11be42a58a784929fcf07f4f76971cc1.jpeg)
图13 开始分析被跟踪文件
第十四步
等分析完成后,在索引建议一栏中的最后一列【定义】中会给出优化建议,这里点开,然后点【复制到剪贴板】即可获取优化建议脚本,返回SSMS粘贴后执行即可完成优化。如图14:
![65cb6854941b55cd2f34f95ec87bfc9a.png](https://i-blog.csdnimg.cn/blog_migrate/f1c75fc73400f94a1fbac47d9102cd25.jpeg)
图14 获取优化建议脚本
第十五步
这一步是和第十四步功能类似,只是更加智能,由系统自动执行,无需复制粘贴执行脚本。点击数据引擎优化顾问的菜单栏的【操作】——>【应用建议...】,在弹出的对话框如图15,点击确定即可自动执行引擎顾问提供的优化建议。
![8ca42e5fda934184fc75acb9f00b2bf8.png](https://i-blog.csdnimg.cn/blog_migrate/05d99c3b25e2fc837233491fd6205d18.jpeg)
图15 自动执行优化建议
以上就是SQL Server Profiler的基本使用操作,还有很多其他用处,小伙伴们可以慢慢探索。等你用久了,你会发现这绝对是一个神器!
老铁们觉得不错,记得转发+点赞,谢谢啦!