日期:2014-05-17  浏览次数:20800 次

监测MsSQL的表记录更新操作
有一个表,表的记录不定期发生变更,想弄一个监测,查询执行的语句,服务器,时间,还有进程名称。
------最佳解决方案--------------------
这个直接使用SQL Server Profiler跟踪就可以了  你这些信息都可以知道的

http://www.cnblogs.com/TivonStone/archive/2010/10/10/1847345.html
------其他解决方案--------------------
引用:
使用SQL Server Profiler进行跟踪,产生的信息量会很大,它能针对特定的表来做检测吗?
做个表的DML和DDL触发器吧
------其他解决方案--------------------
使用SQL Server Profiler进行跟踪,产生的信息量会很大,它能针对特定的表来做检测吗?
------其他解决方案--------------------
引用:
使用SQL Server Profiler进行跟踪,产生的信息量会很大,它能针对特定的表来做检测吗?


特定标的没试过  你可图形界面创建跟踪  然后生成脚本  执行脚本   会叫少点开销
------其他解决方案--------------------
3楼的,你好。触发器里面如何获取到进程名称和执行的脚本,需要用到的函数名称知道吗?我搜索了很久,也没有找到。
------其他解决方案--------------------
引用:
3楼的,你好。触发器里面如何获取到进程名称和执行的脚本,需要用到的函数名称知道吗?我搜索了很久,也没有找到。


要得到语句  可能需要利用到很多系统表和视图
------其他解决方案--------------------
版主,有相关的资料吗?提供下
------其他解决方案--------------------
引用:
版主,有相关的资料吗?提供下


这方面的资料还没有  不过你百度一下  这方面的教程还是比较多的
------其他解决方案--------------------
http://bbs.csdn.net/topics/390262160
------其他解决方案--------------------
刚才试了9楼的方法,PROGRAM_NAME() 获取不到程序名称,还没有其它的方法。
------其他解决方案--------------------
我使用的是bcb2007,在数据库链接字符串里面增加;app=AppName,这个再触发器里面就能够获取到程序名称了。非常感谢DBA_Huangzj和TravyLee。