中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
用SQL语句来建立跟踪的问题
作者:未知 时间:2004-07-21 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

/*--
 下面是我用SQL的事件探察器设置跟踪,并生成的SQL脚本
 现在有几个问题:
 1.这个跟踪不会产生数据,用:
  select * from ::fn_trace_getinfo(1)
 可以看到状态是在运行,但 c:\test.trc 始终是空文件

 2.在事件探察器中设置筛选时,ObjectType 的说明是对应
 sysobjects 表的 type 列,该列是字符型,但我输入字符时
 要求是数字,这个数字从那里查?
 
 3.如果只产生对 insert,update,delete 语句成功的跟踪事件
 应该如何设置呢? 在 事件探察器 中无相关设置,用语句设置的话
 只找到事件号 28, 在执行 SELECT、INSERT 或 UPDATE 语句之前发生
 
 4.用事件探察器建立的跟踪,可以将跟踪结果保存到表中,但我下面生成的SQL脚本却不支持这个功能
--*/

/****************************************************/
/* Created by: SQL Profiler                         */
/* Date: 2004/06/19  16:50:05         */
/****************************************************/


-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
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'c:\test', @maxfilesize, NULL
if (@rc != 0) goto error

-- Client side File and Table cannot be scripted

-- Writing to a table is not supported through the SP's

-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 12, 1, @on
exec sp_trace_setevent @TraceID, 12, 12, @on
exec sp_trace_setevent @TraceID, 12, 14, @on


-- Set the Filters
declare @intfilter int
declare @bigintfilter bigint

exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Profiler'
set @intfilter = 100
exec sp_trace_setfilter @TraceID, 22, 0, 4, @intfilter

set @intfilter = 1
exec sp_trace_setfilter @TraceID, 23, 1, 0, @intfilter

exec sp_trace_setfilter @TraceID, 35, 1, 6, N'pubs'


-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1

-- display trace id for future references
select TraceID=@TraceID
goto finish

error:
select ErrorCode=@rc

finish:
go

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有