如何在SQL Server里跟踪一个表的操作(十分紧急!! 找批发零售软件
问题解决后继续加分!
2楼: 不知道事件探查器能不能解决你的问题,可以试一下 如批发零售软件
3楼: SQL的事件探查器!
4楼: 我在用这种工具,但是好像不能看到查询、删除、插入等操作,请问要看到这些操作,具体要设置哪些事件、数据列和筛选条件。
5楼: SQL的事件探查器也行,自己写个触发器也行.
给个例子你(这是修改了某个字段的值后,发条信息给管理者的电脑.你把它改成删除记录就触发)
CREATE TRIGGER GetHostName ON [dbo].[exemplar_Master]
FOR UPDATE
AS
if update(Cust_code)
begin
declare @str varchar(1000),@SHosptialName varchar(500),@CHosptialName varchar(500),@Code varchar(10)
insert into t_log(code,SHosptialID,SHosptialName,CHosptialID,CHosptialName)
select a.code,a.cust_code,b.yymc,c.cust_code,d.yymc from deleted as a,kingwik.dbo.yyxx as b,Inserted as c,kingwik.dbo.yyxx as d
where a.code=c.code and a.cust_code=b.id and c.cust_code=d.id
select @Code=a.code,@SHosptialName=b.yymc,@CHosptialName=d.yymc from deleted as a,kingwik.dbo.yyxx as b,Inserted as c,kingwik.dbo.yyxx as d
where a.code=c.code and a.cust_code=b.id and c.cust_code=d.id
if @Code is null
set @code=''''
if @SHosptialName is null
set @SHosptialName=''''
if @CHosptialName is null
set @CHosptialName=''''
-- set @str=''master.dbo.xp_cmdshell ''''''+''net send 192.168.0.18 有人在“''+host_name()+''”机器上把条码为“''+rtrim(@Code)+''”的医院“''+rtrim(@SHosptialName)+''”改成了“''+rtrim(@CHosptialName)+''”'''', NO_OUTPUT''
-- print @str
execute(@str)
-- set @str=''master.dbo.xp_cmdshell ''''''+''net send 192.168.0.246 有人在“''+host_name()+''”机器上把条码为“''+rtrim(@Code)+''”的医院“''+rtrim(@SHosptialName)+''”改成了“''+rtrim(@CHosptialName)+''”'''', NO_OUTPUT''
-- execute(@str)
-- Insert T_log(code) values(''aa'')
end
6楼: 怎么可能
连接数据库,设置跟踪摸版属性
把你需要监控的事件添加进去
TSQL,存储过程(当然你嫌不够的话,多加点没关系),然后开启跟踪即可
进销存软件版7楼: 根据事件探察器已解决问题,谢谢大家!