SQL Server 2005如何获取Truncate table记录,是否有Oracle logminor功能? truncate 是DDL操作,做个DDL触发器来记录,一般DDL操作的次数都不多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql server没有oracle的这个日志挖掘的功能的。只能是自己建立dml 和ddl 触发器 DML的触发器会影响到性能吧?我测试的DML触发器无法记录truncate的操作,能否提供下脚本,谢谢! DML会影响,但是DDL相对较少,我说了truncate是DDL操作... 我刚才试了一下,好像ddl触发器无法跟踪到truncate 操作 2005很多技术都用不了,目前只有DDL触发器比较靠谱 确实,dml触发器没办法跟踪到 truncate操作。 不好意思,刚才写错了,我测试的DDL触发器,无法记录truncate的操作. 另外,我查询了sql server 的ddl触发器 ,无法支持 tuncate:select * from sys.trigger_event_typeswhere type_name like '%table%' /*type type_name parent_type21 CREATE_TABLE 1001822 ALTER_TABLE 1001823 DROP_TABLE 1001810017 DDL_TABLE_VIEW_EVENTS 1001610018 DDL_TABLE_EVENTS 10017*/ 我觉得唯一能跟踪的办法,就是用sql profiler了 忘了我收藏了一篇http://www.2cto.com/database/201307/228173.html 思路类似,或者找default sql trace 根据当时备份的Transaction log可以找到Truncate的语句,但是还是看不出谁下的指令,麻烦再指点下,谢谢! 问过某位MVP,说他用过log exploer,看到truncate有有userid记录的,你试试能不能找到,我没有用过这工具,他还推荐了我一个工具:apex sql log 你也可以试试能不能找到 Apex SQL Log/LiteSpeed这些第三方的工具。 非常非常感谢.附件是用log explorer分析备份transaction log的结果,NT User Name是空的.用Apex sql log时DDL语句选项中没有truncate这项. 想再问下,[Server UID]=0,UID=-1代表什么意思呀? 关于事务和锁 求一条SQL语句 初学者问题三: 如何实现错误处理 PUBS中一个怪怪的问题(续) 表本身查询的效率 select into 插入 动态sql结果集 如何监视数据库表的变化?重奖 问个语句 使用DTS分发程序 數據庫備份時間的問題? 请教关于SQL语句分页的问题 SQL查询语句问题,急求
确实,dml触发器没办法跟踪到 truncate操作。
where type_name like '%table%'
/*
type type_name parent_type
21 CREATE_TABLE 10018
22 ALTER_TABLE 10018
23 DROP_TABLE 10018
10017 DDL_TABLE_VIEW_EVENTS 10016
10018 DDL_TABLE_EVENTS 10017
*/
我觉得唯一能跟踪的办法,就是用sql profiler了
根据当时备份的Transaction log可以找到Truncate的语句,但是还是看不出谁下的指令,麻烦再指点下,谢谢!
想再问下,[Server UID]=0,UID=-1代表什么意思呀?