0

稼働時間外にレポート サーバーを停止して再起動する SQL ジョブを作成したいのですが、これを可能にする SQL コードの作成に問題があります。

私は次のようなものを使用する方向に沿って考えていました:-

ネット ストップ レポート サーバー

NET START レポート サーバー

しかし、これをコマンド コードに組み込む最良の方法がわかりませんか?

アドバイスをいただければ幸いです。

4

1 に答える 1

2

そのために SQL コードを記述する必要はありません。SQL エージェント ジョブには、オペレーティング システム コマンドを実行するタイプ「CmdExec」のジョブ ステップを含めることもできます。

2 つのジョブを作成するだけです。1 つは停止用で、もう 1 つは Reporting Services サービスを開始するためです。タイプ「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
...
于 2013-07-31T10:51:45.253 に答える