2010-02-27 72 views
30

我有一個表格,我想每小時執行一些操作。爲此,我創建了一個存儲過程,但不知道如何每小時調用一次。我知道有一些預定的工作,但如何使用它們。如何每小時在sql server中運行存儲過程?

是否還有某種服務還在持續運行,每秒我可以在哪裏放置我的代碼段來執行?

回答

57

在SSMS導航到SQL Server代理 - >工作 右鍵單擊工作文件夾並選擇新的工作

彈出,給作業的名稱 點擊步驟,然後在新的對話框中,你會看到類似下面的對話框中,選擇正確的數據庫,然後鍵入您的PROC名

alt text

的時間表,點擊後,挑選新的,你會看到類似下面的圖片,填寫您需要的所有東西,然後點擊OK,點擊任務確定,您應該設置 alt text

+0

imgur嵌入現在是松鼠,但如果它對其他人有用,我可以直接在http://i.imgur.com/Woxpv.png和http://i.imgur.com/tSUau.png – ruffin 2014-08-06 18:06:12

+2

上訪問圖像,如果你需要根據sp結果發送通知電子郵件給某人(比方說WebMaster),在作業步驟: 'DECLARE @result bit' - 假設YourProc輸出是位。 'Exec YourProc @spResult = @result OUTPUT'然後 'if(@result = 0) Begin DECLARE @subject nvarchar(max)='Notification!' DECLARE @body nvarchar(max)='出錯了......' DECLARE @to nvarchar(max)='[email protected]' EXEC msdb.dbo.sp_send_dbmail @recipients = @to,@subject = @主題,@body = @body; End' – 2015-08-26 01:24:16

+0

我試過這種情況,但我有點困惑,爲什麼它沒有在第二天執行。相同的設置,尤其是日常頻率的設置。 – Juran 2016-03-18 01:18:27

1

設置SQL Server代理作業每隔1小時

3

1)使用SQL Server代理(打開MS Management Studio中),以執行存儲過程 2)新招聘 3)添加步驟 4)選擇的Transact SQL 5)EXEC MyStroredProc 6)選擇數據庫 7)添加日程 8)發生每隔一小時

添加通知,知道過程做得很好(或壞)。

在SQL Server代理的屬性,檢查所有的自動重啓選項開關ON