SQLServer2000数据表用触发器来生成操作日志

此文章主要向大家讲述的是用触发器来生成SQL Server2000数据表的实际操作日志,在实际操作中有时如果想知道登录到数据库的用户具体做了什么,于是,记录用户执行的SQL语句就非常有必要,这将是重要的参考依据。

公司主营业务:成都做网站、成都网站建设、成都外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出衡南免费做网站回馈大家。

我们先建一张日志表(DBLoger)用于保存用户执行的SQL语句:

程序代码

 
 
 
  1. Create TABLE DBLoger(  
  2. LoginName nvarchar(50),  
  3. HostName nvarchar(50),  
  4. EventInfo nvarchar(500),  
  5. Parameters int,  
  6. EventType nvarchar(100)  

接着再建一个触发器,在用户对表进行增/删/改时触发,将执行的SQL语句记录到日志表中:

程序代码

 
 
 
  1. Create TRIGGER Loger ON student  
  2. FOR Insert, Update, Delete   
  3. AS  
  4. SET NOCOUNT ON  
  5. Create TABLE #T(EventType nvarchar(100),Parameters int,EventInfo nvarchar(500))  
  6. Insert #T exec('dbcc inputbuffer(' + @@spid + ')') 

记录到日志表

 
 
 
  1. Insert INTO DBLoger(LoginName,HostName,EventInfo,Parameters,EventType)   
  2. Select suser_sname(),host_name(),EventInfo,Parameters,EventType FROM #T  

说明:由于dbcc inputbuffer的EventInfo最多只能保存255个字符,所以一旦执行的SQL过长,日志表中将无法看到完整的SQL语句!

上述的相关内容就是对用触发器生成SQL Server2000数据表的操作日志的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server 2005数据库安装实例演示
  2. SQL Server数据库在安装时的注意事项
  3. SQL Server Compact中的DLL文件与工具
  4. SQL Server合并复制性能的提高有哪些方案?
  5. 遇到SQL Server 2000Bug不可怕!

网站名称:SQLServer2000数据表用触发器来生成操作日志
网页网址:http://www.shufengxianlan.com/qtweb/news27/33927.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联