sql server trace 和 Profiler

MS SQL Server Profiler概述:
       MS SQL Server Profiler是SQL Trace的GUI接口,提供对SQL Server Database Engine或者Analysis Service实例的事件监控功能。

MS SQL Server Profiler使用:

      我们可以根据需求,来进行GUI的功能性调试,比如要监控一个数据库有那个T-SQL的操作。工具 - profiler - 勾选要跟踪的事件。如果是长时间的半夜操作呢,我们是否每天都要去开启这个gui的界面呢?这个时候我们可以使用SQL Trace 的功能,也就是脚本来进行操作。

示例:

 我们通过GUI来跟踪一下_DBA库下面的查询操作:

上面的设置可以看到我们把文件保存在e盘的DemoTrace文件里面,每个文件的大小是5m,如果超过5m会自动生成下一个 .trc的文件即(DemoTrace1.trc)跟踪停止时间是16:20:57。

 

 

在事件选择里面我们可以选择自己要监控的事件,我这里测试只是选择了一下对_DBA操作的T-SQL语句,如上图所未。在列筛选器中过滤掉你要达到的条件。然后点击运行即可。

  如果我们愿意导出脚本,则可以根据上图进行操作。导出你所需要的脚本。需要注意的时候脚本并不能够直接使用,需要把生成的脚本放在一个SP中,然后使用job来进行调用。
也可以根据你的需求对文件路径,文件的大小,结束时间进行修改。当然自己也可以根据需求把结果集存于表中

 

declare @rc int
declare @TraceID int
declare @maxfilesize bigint
declare @DateTime datetime

set @DateTime = '2014-04-09 16:20:57.000'
set @maxfilesize = 5

-- Please replace the text InsertFileNameHere, with an appropriate -- filename prefixed by a path, e.g., c:\MyFolder\MyTrace. The .trc extension -- will be appended to the filename automatically. If you are writing from -- remote server to local drive, please use UNC path and make sure server has -- write access to your network share exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, @Datetime if (@rc != 0) goto error

生成的脚本中路径名是需要手动修改的,千万不要拿着脚本就看。

可以参考一下sp的参数来进行设置一下: http://www.yesky.com/imagesnew/software/tsql/ts_sp_ta-tz_8h49.htm

 

 

 

posted @ 2014-04-09 16:41  _cc  阅读(5186)  评论(5编辑  收藏  举报