我有我的SQL代理一些計劃的作業:如何防止SQL Server作業同時運行
- 作業1,執行每2分鐘
- 作業2,執行每10分鐘
- 作業3,執行每15分鐘
如您所見,多個作業可以同時運行。當這些作業同時運行時,會導致CPU使用率達到100%。
有沒有解決方案?有沒有辦法控制同時運行的作業數量?注意:我需要這些作業在適當的時期運行大約。
我有我的SQL代理一些計劃的作業:如何防止SQL Server作業同時運行
如您所見,多個作業可以同時運行。當這些作業同時運行時,會導致CPU使用率達到100%。
有沒有解決方案?有沒有辦法控制同時運行的作業數量?注意:我需要這些作業在適當的時期運行大約。
你問用戶控制使用的併發會話鎖,這通常是最好的方法。
這允許您等待或中止鎖定是否已被另一個作業佔用。我們在一個或兩個地方使用它來阻止多個用戶強迫相同的任務重疊。它運作良好。
+1:Dam我希望我知道這幾年前。以前,我一直在通過使用狀態表來監視給定進程的當前狀態,從而自行解決這個問題。 – 2010-10-19 13:03:12
@John Sansom:很高興能爲您服務...如果您可以使用事務鎖,它也可以自我釋放。 – gbn 2010-10-19 14:26:26
您可以使用Mutexes來防止一次運行多個作業 - 您使用什麼語言將SQL查詢發送到數據庫? – SlappyTheFish 2010-10-19 12:58:19
這些是sql server代理中的作業。 – ehsan 2010-10-19 13:37:14