2014-12-22 59 views
0

我們在SQL Server中有一點奇怪的問題。在ETL期間,我們的其中一張桌子是空的。我們確定表格已經加載,但問題在於表格被清空後。 每天我們都會加載幾個表格(ETL)。但在我們的過程中,有一個TRUNCATE TABLE狀態表,我們不知道在哪裏。我想至少確定這個TRUNCATE TABLE查詢的運行時間。然後將其與代理作業歷史進行比較。爲了知道哪些作業運行它。SQL Server - 如何獲取特定表的TRUNCATE TABLE日誌?

預先感謝您。

+1

截斷不在默認跟蹤中。您可能需要打開審計(僅限企業版)或在表上創建ddl觸發器。 –

+0

你可以在你的項目中搜索truncate的關鍵字嗎? –

+0

我們做到了,我們找不到任何東西:( – user3640552

回答

0

截斷不會觸發dml或ddl觸發器。所以表格/數據庫觸發器在這種情況下不起作用。

您可以運行Profiler進程來捕獲ETL進程中的任何「截斷表」命令。

「更髒」選項是在表上創建一個模式綁定視圖,這會導致截斷失敗,並且您可以看到哪個進程完成了。