2013-07-18 73 views
1

我有一個字典,它包含我的數據庫中更新的表和字段,我保留 來構建查詢和其他內容。SQL服務器作業來跟蹤數據庫更改

我想在每次創建或更改表時刷新此字典。

我的解決方案是創建一個sql作業,該作業更新一個具有布爾值的表,每個更改都有一個叫做 的IsDBDictionaryUpdated。

如何通過跳轉每個數據庫結構更改的常規觸發器來激活此作業?

回答

0

最簡單的事情就是創建一個DDL觸發器,當表被修改或創建時觸發。然後,使用exec語句,您可以執行想要更新字典的作業。

CREATE TRIGGER safety 
ON DATABASE 
FOR CREATE_TABLE, DROP_TABLE, ALTER_TABLE 

AS 
    EXEC msdb..sp_start_job 
     @job_name = 'JobName'; 
GO 

這裏是給MS文章的鏈接: http://msdn.microsoft.com/en-us/library/ms175941.aspx

+0

謝謝! 其實我認爲我可以傳遞工作,只使用觸發器,因爲我只需要更新表中的一個字段值。 – FelProNet

+0

聽起來像一個計劃。 DDL觸發是關鍵。 – Brian