2013-07-31 213 views
0

我想創建一個SQL作業來停止並重新啓動報告服務器,因爲我無法在工作時間內創建報表服務器,但是我無法創建SQL代碼,從而導致發生這種情況。SSRS啓動/停止

我一起用類似的思路思考: -

NET STOP的ReportServer

NET START的ReportServer

,但不知道要納入這一目標的最佳方式一個命令代碼?

任何意見非常讚賞。

回答

1

你不需要編寫任何SQL代碼來做到這一點。 SQL代理作業也可以具有執行操作系統命令的類型爲「CmdExec」的作業步驟。

只需創建兩個作業,一個用於停止啓動報告服務服務。 爲每個添加「CmdExec」類型的工作步驟,提供您已在您的問題中列出的命令(net stop ...net start ...)。

您可以通過SSMS UI或通過SQL命令創建作業。您可以使用UI中的「腳本」按鈕創建更高版本。

爲了便於說明,這裏是一個摘錄顯示作業步驟的創建停止服務:

... 

USE [msdb] 
GO 
EXEC msdb.dbo.sp_add_jobstep @job_name=N'StopSSRS', @step_name=N'StopSSRS', 
     @step_id=1, 
     @cmdexec_success_code=0, 
     @on_success_action=1, 
     @on_fail_action=2, 
     @retry_attempts=0, 
     @retry_interval=0, 
     @os_run_priority=0, @subsystem=N'CmdExec', 
     @command=N'net.exe stop ReportService', 
     @database_name=N'master', 
     @flags=0 
GO 
... 
+0

這是偉大的。更簡單的方法做到這一點。謝謝。 – user1086159