您的位置:首页 > 博客中心 > 数据库 >

SQL Server Profiler工具

时间:2022-03-14 12:23

  如果有许多跟踪,可以提供一个跟踪名称来帮助在以后进行分类。不同的跟踪模板可帮助建立用于不同目的的跟踪。

  打开跟踪属性窗口后,单击“事件选择”选项卡,为跟踪提供更详细的定义。

  技术分享

  2、事件

  一个事件表现SQL Server中执行的各种活动。这些活动可以简单地分类为事件类,游标事件,锁事件,存储过程事件和T-SQL事件是常见的事件类。

  对于性能分析,主要对SQL Server上执行的各种活动的资源压力水平的事件感兴趣。资源压力主要包含如下内容:

  1. SQL活动涉及哪一类的CPU使用?
  2. 使用了多少内存?
  3. 涉及多少I/0操作?
  4. SQL活动执行了多长时间?
  5. 特定的查询执行的频率有多高?
  6. 查询面对哪类错误和警告?

  下面给出跟踪查询结束的事件:

  下面给出其他一些与性能诊断有关的事件:

  4、列筛选器

  除了为一个Profiler跟踪定义事件和数据列之外,还可以定义各种过滤条件。这些条件帮助缩小跟踪的输出,这往往是一个好主意。下面给出常用过滤条件列表。

   5、跟踪模板

  SQL Server Profiler可以用自定义事件、数据列和过滤器创建一个跟踪模板,然后定义一个新的跟踪,然后重用跟踪个模板来捕捉一个跟踪。定义新跟踪模板的过程类似于定义新跟踪,步骤如下:

  1. 创建一个新的跟踪。
  2. 和前面一样定义事件,数据列和过滤器。
  3. 从文件=》另存为菜单将跟踪定义保存为跟踪模板。

  SQL Server Profiler将自动将新的模板加入到其模板列表中。

  新建模板:

  技术分享

  保存模板:

  技术分享

  查看:

  技术分享

  6、跟踪数据

  定义了跟踪以后,单击运行按钮将开始捕捉事件并将其显示在屏幕上,可以看到一系列滚动事件,可以在我们称之为SQL TV的屏幕上看到系统的运行,可以像DVD播放机一样或多或少地控制跟踪,可以使用工具栏上的按钮暂停、开始和停止跟踪,甚至可以在工作室暂停跟踪并修改它。

  一旦完成了SQL Server活动的捕捉,就可以将跟踪输出保存为一个跟踪文件或一个跟踪表。保存到跟踪文件的跟踪输出是一个原生的格式,可以由Profiler打开以分析SQL查询。将跟踪的输出保存为一个表,也可以使Profiler在跟踪表上用SELECT语句来分析其中的SQL查询。

  具体的操作为 文件 =》 另存为 =》 跟踪表。选择你希望存入的的数据库和表,然后你就可以像普通表一样执行各种SQL查询。

  fn_trace_getinfo函数的输出中,不同的traceid的数量表示SQL Server上活动跟踪的数量。

第三列(value)表示跟踪是否正在运行(value=1)或者停止(value=0)。可以通过执行存储过程sp_trace_setstatus停止特定的跟踪,如traceid=1,如下所示:

EXEC sp_trace_setstatus 1,0;

在跟踪停止之后,它的定义必须执行sp_trace_setstatus关闭并且从服务器中删除,如下所示:

EXEC sp_trace_setstatus 1,2;

  为了验证跟踪成功地停止,重新执行fn_trace_getinfo函数,并确定该函数的输出不包含该traceid。

  这种技术所创建的跟踪文件的格式与Profiler创建的跟踪文件相同。因此,这种跟踪文件可以与Profiler创建的文件以相同的方式进行分析。

  使用前一小节所概述的存储过程捕捉SQL跟踪,避免了与Profiler GUI相关的开销。而且还比Profiler工具提供了管理SQL跟踪计划的更大灵活性。

描述
Plan_handle 引用执行计划的指针
Creation_time 计划创建的时间
Last_execution time 查询最后一次使用的计划时间
Execution_count 计划已经使用的次数
Total_worker_time 从创建起计划使用的CPU时间
Total_logical_reads 从创建器计划使用的读操作数量
Total_logical_writes 从创建器计划使用的写操作数量
Query_hash 可用于识别有相似逻辑的查询的一个二进制hash
Query_plan_hash 可用于识别有相似逻辑的计划的一个二jinzhihash

  为了过滤从sys.dm_exec_query_stats返回的信息,需要将其连接到其他动态管理函数上,如sys.dm_exec_sql_text可以显示与计划相关的查询文本,sys.dm_query_plan显示用于查询的执行计划。一旦连接到其他DMF,可以限制希望过滤得数据库或过程。

热门排行

今日推荐

热门手游