我有一個表格,我想每小時執行一些操作。爲此,我創建了一個存儲過程,但不知道如何每小時調用一次。我知道有一些預定的工作,但如何使用它們。如何每小時在sql server中運行存儲過程?
是否還有某種服務還在持續運行,每秒我可以在哪裏放置我的代碼段來執行?
我有一個表格,我想每小時執行一些操作。爲此,我創建了一個存儲過程,但不知道如何每小時調用一次。我知道有一些預定的工作,但如何使用它們。如何每小時在sql server中運行存儲過程?
是否還有某種服務還在持續運行,每秒我可以在哪裏放置我的代碼段來執行?
在SSMS導航到SQL Server代理 - >工作 右鍵單擊工作文件夾並選擇新的工作
彈出,給作業的名稱 點擊步驟,然後在新的對話框中,你會看到類似下面的對話框中,選擇正確的數據庫,然後鍵入您的PROC名
的時間表,點擊後,挑選新的,你會看到類似下面的圖片,填寫您需要的所有東西,然後點擊OK,點擊任務確定,您應該設置
設置SQL Server代理作業每隔1小時
1)使用SQL Server代理(打開MS Management Studio中),以執行存儲過程 2)新招聘 3)添加步驟 4)選擇的Transact SQL 5)EXEC MyStroredProc 6)選擇數據庫 7)添加日程 8)發生每隔一小時
添加通知,知道過程做得很好(或壞)。
在SQL Server代理的屬性,檢查所有的自動重啓選項開關ON
imgur嵌入現在是松鼠,但如果它對其他人有用,我可以直接在http://i.imgur.com/Woxpv.png和http://i.imgur.com/tSUau.png – ruffin 2014-08-06 18:06:12
上訪問圖像,如果你需要根據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
我試過這種情況,但我有點困惑,爲什麼它沒有在第二天執行。相同的設置,尤其是日常頻率的設置。 – Juran 2016-03-18 01:18:27