T
tuorx
Unregistered / Unconfirmed
GUEST, unregistred user!
最近做了个SQL SERVER 2000上应用的程序,老是发现有人通过数据库管理工具直接在后台改数据,或是找一些工具,改数据。我想记录下这种操作,目前想到了一种方法:<br>1、在数据表上加上触发器,当数据被修改时,触发;<br>2、在触发器里执行一个存储过程,将此时的进程信息记录到表里。<br>这样做了后,发现在修改数据POST时,告诉我列信息不足,无法更新定位行的问题。<br>不知道错在那儿,大家帮看看。<br><br>以下我写的程序:<br>我在T_UserInfo上写触发器,在aa表里记录进程信息:<br>if Exists(Select * From sysobjects Where Name='T_UserInfo_Edit')<br> drop trigger T_UserInfo_Edit<br>go<br><br>Create TRIGGER T_UserInfo_Edit ON T_UserInfo<br>FOR UPDATE<br>AS<br> Exec P_GetSysInfo<br>Go<br><br>if Exists(Select * From sysobjects Where Name='P_GetSysInfo')<br> drop procedure P_GetSysInfo<br>go<br><br>CREATE PROCEDURE P_GetSysInfo AS<br> Insert Into aa(aa,bb,ee) Select program_name,cmd,GetDate() From master..sysprocesses where dbid=db_id('SW_Glb') and hostprocess<>(Select top 1 ID_SjzdNr From T_SjzdNr Where ID_Sjzd=-9999)<br>go