计算机等级考试备考辅导怎样使用SQL代理来进行一次SQL探查器跟踪呢_第1页
计算机等级考试备考辅导怎样使用SQL代理来进行一次SQL探查器跟踪呢_第2页
计算机等级考试备考辅导怎样使用SQL代理来进行一次SQL探查器跟踪呢_第3页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

怎样使用SQL代理来进行一次SQL探查器跟踪呢SQL 探查器跟踪使用系统存储过程来建立。你可以从一个现有的探查器跟踪中使用SQL命令,并构造你自己的存储过程来创建和启动一个SQL探查器跟踪。你需要使用自己的存储过程来指定一些额外的设置。这些设置包括运行时间、文件大小和跟踪输出文件位置。下面列出了关于如何使用这个存储过程来创建、执行并且关闭探查器跟踪的详细过程。创建跟踪定义定义用于构造一个探查器跟踪的SQL命令最有效的方法是使用SQL探查器。1. 启动SQL探查器并选择File New Trace。指定你在跟踪中想要的事件、字段和过滤器。2. 启动跟踪然后停止它。3. 输出定义。点击File Export Script Trace Definition For SQL Server 。注意,对于SQL Sever 2000 和 ,请选择适当的输出类型。4. 保存跟踪文件。创建一个探查器跟踪存储过程接着,选择这些输出跟踪定义并且用它来创建一个存储过程。1. 使用SSMS来打开上面创建的输出跟踪定义。2. 在SSMS中打开另一个查询窗口并粘贴下面的trc_template存储过程代码。/*use Admingo*/CREATE procedure trc_Template Folder nvarchar(200)as/*Start a 60 minute profiler trace storing the captured output inprovider folder.The folder must exist. A subfolder will be created using the start dateand time to allow for repeated running of this profile withoutreplacing thepreviuos captured trace files.On SQL Server , XP_CMDSHELL needs to be enable to create thesubfolder. Youmight want to disable it when you are done running your scheduledtrace.Sample Command: exec trc_Template Folder =C:OutputProfilerTraceTemplate*/set nocount on- To change the traces duration, modify the following statementdeclare StopTime datetime ; set StopTime = dateadd(mi,60,getdate()declare StartDatetime varchar() ; set StartDatetime =convert(char(8),getdate(),2) + _ +cast(replace(convert(varchar(5),getdate(),1),:,) as char(4) -YYYYMMDD_HHMMdeclare rc intdeclare TraceID intdeclare TraceFile nvarchar(0)declare MaxFileSize bigint ; set MaxFileSize = 50 - The maximum trace file in megabytesdeclare cmd nvarchar(2000)declare msg nvarchar(200)If right(Folder,1) set Folder = Folder + - Check if Folder existsset cmd = dir +Folderexec rc = master.xp_cmdshell cmd,no_outputif (rc != 0) begin set msg = The specified folder + Folder + does not exist, Please specify an existing drive:folder + cast(rc asvarchar() raiserror(msg,1) return(-1)end-Create new trace file folderset cmd = mkdir +Folder+StartDatetimeexec rc = master.xp_cmdshell cmd,no_outputif (rc != 0) begin set msg = Error creating trace folder : +cast(rc as varchar() set msg = msg + SQL Server or laterinstance require OLE Automation to been enabled raiserror(msg,1)return(-1)endset TraceFile = Folder+StartDatetime+traceexec rc = sp_trace_create TraceID output, 2, TraceFile,MaxFileSize, StopTimeif (rc != 0) begin set msg = Error creating trace : + cast(rc asvarchar() raiserror(msg,1) return(-1)end- Using your saved trace file, add the - Set the events section below - Using your saved trace file, add the - Set the Filters section below - Customization is now completed - This filter is added to exclude all profiler traces.exec sp_trace_setfilter TraceID, , 0, 7, NSQL Profiler%- Set the trace status to startexec sp_trace_setstatus TraceID, 1 - start traceselect Trace id = , TraceID, Path=, Folder+StartDatetime+select To Stop this trace sooner, execute these two commandsselect EXEC sp_trace_setstatus traceid = , TraceID , , status = 0; - Stop/pause Traceselect EXEC sp_trace_setstatus traceid = , TraceID , , status = 2; - Close trace and delete it from the serverreturngo3. 在输出跟踪定义中,找到- Set the events部分。复制所有的代码行直到下一个注释行为- Set the Filters。4. 把这些代码行粘贴到代码行add the - Set the events section below后面的存储过程模板。5. 接着,找到输出跟踪定义的- Set the Filters部分。粘贴- Set the trace status to start之前的代码行。6. 把这些代码行粘贴到add the - Set the Filters section below后面的存储过程模版。7. 使用你的命名规则更改存储过程名8. 在SQL代码中,探查器终止时间通过变量StopTime来设置。在跟踪启动后,当前的设置是60分钟。你可以调整这个设置成适合你具体情况的。9. 把MaxFileSize设置成适合跟踪输出文件的大小。目前,它被设置成50兆字节。. 把存储过程代码保存在一个非trc_Template.sql的新文件名下而。准备服务器1. 在将要用于包含探查器跟踪文件的服务器下创建一个文件夹。2. 在SQL Server 和 中启用XP_CMDSHELL。如果你不想一直启用这个功能,那么你可以限制启动程序命令的命令,该命令启用XP_CMDSHELL,启动这个跟踪然后停用XP_CMDSHELL(看下面的示例代码)。3. 使用你上面创建的文件在SQL Server实例上创建存储过程。它可以在任何用户数据库中创建。在下面的例子中,它在数据库Admin中创建。4. 在SQL代理中创建一个作业来执行这个存储过程。不要启用该作业,除非你已经测试了这个存储过程。 - Enable xp_cmdshellEXEC sp_configure show advanced options, 1- To update the currently configured value for advanced options.RECONFIGURE- To enable the feature.EXEC sp_configure xp_cmdshell, 1- To update the currently configured value for this feature.RECONFIGURE- Start profiler traceEXEC Admin.dbo.trc_PerformanceTuning Folder = e:OutputProfilerTracePerformanceTuning- Disable xp_cmdshellEXEC sp_configure xp_cmdshell, 0- To update the currently configured value for this feature.RECONFIGUREEXEC sp_configure show advanced options, 0- To update the currently configured value for advanced options.RECONFIGURE5.Folder必须在服务器上指定一个现有的文件夹。通过启动日期和时间一个子文件夹可以由存储过程创建。这就确保了创建的跟踪一直都是新的、独一无二的。运行探查器跟踪1. 在运行你的SQL代理作业之前,你应该测试下存储过程。2. 通过带有激活的Results to Text的SSMS使用在SQL代理作业中定义的命令来执行这个存储过程。3. 如果没有错误发生,那么它应该正在运行。要确认这一点,你可以执行查询select * FROM :fn_trace_getinfo(default)。示例输出结果停止探查器跟踪1. 要在它的结束时间之前停止探查器跟踪,你可以执行两个命令。一个命令停止这个跟踪,另一个关闭这个跟踪文件。2. 下面是这两个命令:a. 执行select * FROM :fn_trace_getinfo(default)b. 使用启动这个跟踪时指定的文件夹确认这个跟踪。c. 用#代替trace id执行这两个命令。EXEC sp_trace_setstatus traceid = #, status = 0; - Stop/pause TraceEXEC sp_trace_setstatus traceid = #, status = 2; - Close trace and de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论