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

数据库 SQL Server
以下的文章主要向大家描述的是如何正确应用触发器来生成SQL Server2000数据表的实际操作日志,以下就是文章的主要内容讲述。

此文章主要向大家讲述的是用触发器来生成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不可怕!

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-04-15 15:32:59

Oracle操作日志

2010-10-19 15:31:40

sql server触

2010-07-05 11:09:55

SQL Server触

2010-07-06 14:47:03

SQL Server数

2010-06-18 11:04:39

SQL Server

2010-09-13 17:03:34

sql server触

2009-04-07 13:56:03

SQL Server触发器实例

2010-10-22 11:10:43

SQL Server触

2010-11-08 11:49:24

SQL Server管

2010-10-20 14:34:48

SQL Server触

2010-07-23 15:26:29

SQL Server

2010-06-18 10:20:22

SQL Server

2010-11-12 15:35:55

SQL Server约

2010-07-16 10:19:31

2019-10-22 07:50:45

SqlServer数据库触发器

2010-11-10 13:37:01

SQL Server触

2011-03-28 10:05:57

sql触发器代码

2010-09-02 17:44:30

SQL server安装

2010-06-30 09:36:25

SQL Server

2011-04-01 16:35:09

SQL Server数触发器
点赞
收藏

51CTO技术栈公众号