监测Table字段被新日志
来源:互联网 发布:淘宝怎么虚拟试穿衣服 编辑:程序博客网 时间:2024/06/06 14:24
有时我们需要监测某个表的字段到底是被谁在什么时候操作的,这个时候就可以做个特殊的触发器来监测。
/*=========================================
创建测试表test
=========================================*/
CREATE TABLE test(Id INT IDENTITY(1,1),Code VARCHAR(20))
/*=========================================
插入测试数据
=========================================*/
INSERT Test (Code)
VALUES ('001')
/*=========================================
创建日志记录表
=========================================*/
CREATE TABLE Test_Log(Id INT IDENTITY(1,1),AppName VARCHAR(200),SQL VARCHAR(max),UserName VARCHAR(30),HostName VARCHAR(100),UpdateTime DateTime)
/*=========================================
创建跟踪表状态触发器
=========================================*/
CREATE TRIGGER [dbo].[Trigger_Test] ON [dbo].[test]
FOR UPDATE
AS
SET NOCOUNT ON
--用临时表保存exec('DBCC INPUTBUFFER...')的返回值
CREATE TABLE #t
(
EventType VARCHAR(50) ,
Parameters INT ,
EventInfo VARCHAR(6000)
)
--DBCC INPUTBUFFER需要参数spid
DECLARE @spid VARCHAR(20)
SET @spid = CAST(@@spid AS VARCHAR)
INSERT #t
EXEC ( 'DBCC INPUTBUFFER (' + @spid + ')'
)
INSERT Test_Log
( AppName ,
SQL ,
UserName ,
HostName ,
UpdateTime
)
SELECT APP_NAME() , --应用程序名,比较有用,你可以发现是否有用查询分析器修改数据的
EventInfo , -- SQL语句,主要用来发现程序错误
SYSTEM_USER , --用户名
HOST_NAME() , --主机名
GETDATE() --发生时间
FROM #t
GO
- 监测Table字段被新日志
- 如何动态监测系统日志
- Jamon 新能监测工具
- SQL INSERT INTO TABLE SELECT指定插入字段的新用法
- oracle的监测TABLE数据更改情况
- 新电脑 新日志
- 监测Squid日志的五种方法
- 使用awstats对apache日志进行监测
- Oracle SET命令大全&&监测归档日志
- 监测服务器性能方法-事件日志
- 监测服务器性能方法-事件日志
- 新一篇: CREATE TABLE
- DB2 alter table 的字段后,不能添加新数据,报错SQL0668N Operation not allowed for reason code "7" on table
- alter table 增加字段和删除字段
- MySQL SHOW TABLE STATUS 字段
- PES分组字段(table)
- bootstrap table表头字段排序
- 利用mk-table-checksum监测Mysql主从数据一致性操作记录
- springaop术语概述及aop中常见通知的实现(前置,后置,环绕,异常)
- My ADT Stack...简单数组实现
- MySQL数据库文件及数据库恢复介绍
- Linux2.6-内核同步
- .Net GridView应用:GridView 使用方法总结
- 监测Table字段被新日志
- Android display system overview
- WP7 页面 Loaded与OnNavigatedTo
- 关于网站建设的一点心得
- IRP_MN_START_DEVICE分发例程中的前进和等待IRP总结
- Linux系统调用-- unlink函数详解
- SurfaceFlinger启动过程分析(一)
- 2D算法的基础
- 并行与并发理解