你是否想知道SQL Server内部运行状况?你是否想知道一个应用实际提交的查询是什么?你是否想要基于现实世界的活动和使用模式来优化你的数据库索引? 如果是这样,那么你应该了解一下SQL Profiler,任何一个完整版本的Microsoft SQL Server的管理工具中都具备这个工具。我们几乎可以在任何基于Windows的客户端计算机上安装这些工具,并使用Profiler连接网络中的任何一个SQL Server——当然,前提是我们拥有足够的分析权限。 SQL Profiler能捕捉事件,例如查询停止和开始通知、每一个执行的查询的完整文本、查询编译信息、等等。它就像是SQL Ser……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
你是否想知道SQL Server内部运行状况?你是否想知道一个应用实际提交的查询是什么?你是否想要基于现实世界的活动和使用模式来优化你的数据库索引?
如果是这样,那么你应该了解一下SQL Profiler,任何一个完整版本的Microsoft SQL Server的管理工具中都具备这个工具。我们几乎可以在任何基于Windows的客户端计算机上安装这些工具,并使用Profiler连接网络中的任何一个SQL Server——当然,前提是我们拥有足够的分析权限。
SQL Profiler能捕捉事件,例如查询停止和开始通知、每一个执行的查询的完整文本、查询编译信息、等等。它就像是SQL Server的一个网络监视器,它可以捕捉每一个字节的流量,然后能够进行过滤并找出想要的信息。
一些SQL Profiler实践
首先,SQL Profiler绝不能运行在实际要进行分析的计算机上。我们要从一个客户端计算机上来运行Profiler,并通过网络来连接到我们要分析的SQL Server。
SQL Profiler可以保存对一个文件或数据库的跟踪。如果是一个文件,我通常设置最大文件大小为250MB,而让SQL Profiler在需要时自动地切换到一个新的文件。这能够使用文件不会大太(特别是在压缩后),然后可以在需要时快速地移动。如果是一个数据库,要确保该数据库不在我们分析的服务器上。换句话说,我们需要2台SQL Server计算机:一个用于分析而一个用于捕捉。我通常只捕捉一个文件,因为文件更容易实现并且不需要额外的硬件。坦白地说,我还认为它们会更快些——Windows写数据到文件中的性能并不高,而且在这种方式下没有数据库服务器“中间层”。
要尽可能地捕捉少一点的事件,以使跟踪日志更容易管理。SQL Profiler有几个预定义的捕捉模板,例如一个专门用于修复查询错误(这很适合于查看一个应用提交到SQL Server的查询内容),一个专门用于调优(这个我将在下一节讨论)。要尽可能地使用这些模板,只在你有特殊的捕捉需求且现有模板无法满足需要时才创建新的模板。
翻译
TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。
相关推荐
-
解决SQL查询性能问题
一旦您优化了数据库索引,配备了最好的硬件和最快的磁盘,您将遇到的瓶颈是SQL Server主机的最大性能。
-
使用SQL Profiler进行性能优化和故障修复
SQL Profiler是一个非常有用的工具,它学习起来不会太难——正确地掌握这一工具,可以帮你成为数据库管理高手。
-
使用SQL Profiler 性能分析器进行MySQL优化
MySQL的SQL性能分析器主要用途是显示SQL执行的整个过程中各项资源的使用情况。分析器可以更好的展示出不良SQL的性能问题所在。
-
如何诊断和修复T-SQL问题
有几种方法可以诊断代码相关的性能问题,你可以使用SQL Profiler来去掉性能糟糕的一系列常规程序。