2012-09-18 26 views
0

我正在處理系統管理員可以安排中斷的管理應用程序。爲了使中斷髮生,我需要在單個表上運行一個簡單的更新統計信息。問題是我希望他們能夠在12PM進行登錄,並在晚上9點安排停機時間,這樣我們就不必讓工作人員在線來執行此操作。階段更新發生在時間點SQL Server 2008

在SQL Server中是否有某種內置方式來安排這樣的更新腳本?

理想情況下,我的管理Web應用程序將能夠調用SQL Server上的某些東西,並說在9PM運行而不是之前,否則我知道我可以創建一個線程和計時器來運行我的webapp中的更新,但這個想法只是使我畏縮...

在此先感謝。 Chris

回答

0

我想你可能正在尋找SQL Server代理。

你可以用它做幾乎任何你喜歡的 - 運行一個備份計劃,調用存儲過程等

This documentation應該給你你需要開始的指針,特別this explains how to create a job

+0

感謝似乎SQL Sever Agent是正確的工具。調用存儲過程只要我可以通過編程方式創建並從我的mvc3管理應用程序安排作業即可。 – cobolstinks

1

正如克里斯帕洛特爵士解釋的那樣,SQL Server Agent是一種方式。但是,如果你想要一些真正的低租金,即使你使用SQL Azure或SQL Server Express(不支持SQL Server代理),SQL Server代理也會被禁用,或者你沒有權限創建工作,T-SQL也可以做到這一點:

WAITFOR TIME '21:00:00'; 
---- do your thing here; 

然後,當然還有其他的外部選項 - 在Azure中的輔助角色,在Windows任務調度,在PowerShell中的工作機制......所有這些都可以任直接或間接地調用一些SQL或調用存儲過程。

+0

哇傑出。不知道等待時間。似乎這是實現這個目標的快速途徑,而且我們與我們的DBA一起工作來獲得SqlAgent,我們的權限非常有限。 – cobolstinks