快捷搜索:

用索引调节向导调整应用程序的性能 - 调节器

你可以应用SQL办事器调节器(SQL Server Profiler)对象来网络办事器当前活动的紧张信息。被这个Profiler对象所追踪到的信息(包孕稀有据库的真实负载)能够被用在多种场合里。现在让我们来看看若何应用Profiler网络能够被索引调节领导所应用的数据,以及你该若何应用这些对象来调试你的利用法度榜样。

什么时刻应用它?

Profiler对象能够用在数据库开拓生命周期的所有阶段。例如,在初始阶段,你可以用它来帮助调试或者查明你的利用法度榜样应该若何以及在何时调用存储历程和其他的SQL声明。在我近来所介入的一个项目里,一个已编译组件一调用数据库就超时,在这种环境下,我们应用了Profiler来辨别SQL的声明和利用法度榜样调用它们的顺序。应用这个对象就赞助我们发清楚明了逻辑上的差错,这样我们就成功地更正了自己的利用法度榜样。

在开拓历程后面的阶段里,Profiler能够有助于辨别负载/压力测试(load/stress testing)历程中利用法度榜样的瓶颈。你还可以用它来监视日常的活动、履行安然检察,以及辨别其他影响机能的身分(例如设计不佳的查询)。

在Profiler里,你必须抉摘要记录什么,并斟酌将所记录下来的办事器活动应该被保存在哪里。你可以选择将自己的追踪信息保存到数据库表格里或者是文件里。被选择将捕捉到的数据保存到表格里的时刻,你还可以设置要保存数据行的最大年夜数量。这样,Profiler就能够在一个义务繁重的系统里迅速地捕捉大年夜量数据。然则因为这一点,你可能想要限定在一次追踪之中Profiler所要捕捉的数据总量。

你可以选择将所得到的信息保存到追踪文件里。假如选择了这个选项,你就能够在文件达到了必然的大年夜小之后将文件信息覆盖掉落,这将限定捕捉信息文件大年夜小的上限。而且,你可以选摘要从哪里开始进行追踪处置惩罚。这就异常像在利用法度榜样层里编写代码选择是在客户端照样在办事器端进行指针履行。在正式的产品系统里,你可能不盼望在办事器上放上这么一个事情负载,这样的话,让客户端处置惩罚可能便是最好的选择了。

当在这两个选项之间进行选择的时刻,你的主要留意力应该放在其对数据库/利用法度榜样机能的影响上。对付大年夜多半类型的日志记录事情而言,将其保存为文件对系统的包袱要比保存到数据库的小,以是对付高流量的实际产品系统来说,将日至保存为文件可能是更好的选择。

应用Profiler

你可以应用Profiler创建和保存能够被索引调节领导所应用的追踪结果。为了应用Profiler为领导所网络到的数据,你可以选择SQL办事器自带的缺省模板。要做到这一点,在文件(File)菜单里选择新建|追踪(New | Trace)。在老例(General)选项卡里(图A)选择用于领导的缺省模板。你就会看到可以将追踪结果保存为文件或者到数据库里。

图A

Profiler的老例选项卡

在事故(Events)选项卡里(图B),和领导相关联的事故类型有两个:RPC:Completed用于存储历程,以及SQL:BatchCompleted用于其他的TSQL声明。

图B

Profiler的事故选项卡

在应用调节器对SQL办事器的活动进行捕捉的时刻,你会在一段相对较短的光阴内得到大年夜量的数据,这取决于你办事器的应用环境。以是你就应该选择只记录下你所必要的项目而不是改动缺省的模板。而且在运行Profiler的时刻,你要确保在捕捉时代范例的利用法度榜样活动会发生,这对付包管索引调节领导的质量是异常紧张的,除非你是正在试图办理某个特定的问题,在后面这种环境下你要确信指定的事故正在发生。

一旦追踪被保存到文件里或者数据库表格里,你就可以回放这一历程中所发生的所有活动——设置你盼望的断点——这和你应用开拓职员的IDE调试器很类似。

回放Profiler的追踪内容

再次强调,捕捉到的数据会是相称多的。为了赞助限定所捕捉数据的数量,你可以定义过滤器。在定义自己的过滤器(图C)时,设置光阴较长的查询是很常见的。

图C

过滤数据

Profiler还能记录许多其他类型的数据库活动。Profiler本身就有许多选项供你选择。要得到更多的信息,我建议去查询MSDN在线或者SQL办事器的文档。Profiler会成为任何DBA的同伙,别的我还建议你去考察一下它的其他许多选项。

您可能还会对下面的文章感兴趣: