Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server-如何获取特定表的TRUNCATE表日志?_Sql Server_Logging_Truncate - Fatal编程技术网

Sql server SQL Server-如何获取特定表的TRUNCATE表日志?

Sql server SQL Server-如何获取特定表的TRUNCATE表日志?,sql-server,logging,truncate,Sql Server,Logging,Truncate,我们在SQL Server中遇到了一个奇怪的问题。在ETL期间,我们的一个表是空的。我们确信该表已加载,但问题是该表在加载后被清空。 每天,我们通过ETL加载几个表。但在我们的过程中,有一个TRUNCATE TABLE语句,我们不知道在哪里。我想至少确定这个TRUNCATE表查询的运行时间。然后将其与代理作业历史记录进行比较。以了解运行它的作业 提前谢谢。Truncate不会触发dml或ddl触发器。因此,表/数据库触发器在这种情况下没有帮助 在ETL过程中,您可以运行探查器进程来捕获任何“tr

我们在SQL Server中遇到了一个奇怪的问题。在ETL期间,我们的一个表是空的。我们确信该表已加载,但问题是该表在加载后被清空。 每天,我们通过ETL加载几个表。但在我们的过程中,有一个TRUNCATE TABLE语句,我们不知道在哪里。我想至少确定这个TRUNCATE表查询的运行时间。然后将其与代理作业历史记录进行比较。以了解运行它的作业


提前谢谢。

Truncate不会触发dml或ddl触发器。因此,表/数据库触发器在这种情况下没有帮助

在ETL过程中,您可以运行探查器进程来捕获任何“truncate table”命令


dirtier选项是在表上创建一个模式绑定视图,这将导致截断失败,您可以看到哪个进程失败了

Truncate不在默认跟踪中。您可能需要仅在Enterprise上启用审核,或者在表上创建ddl触发器。您可以在项目中搜索truncate关键字吗?我们搜索了,但没有找到任何内容:您确定它正在截断吗?您是否查看了默认跟踪中有问题的表?也许它正在被删除而不是被截断?你也可以使用扩展事件跟踪,可能是最好的IMO。加上你的问题没有任何意义,整点如何帮助你找到truncate语句