稼働時間外にレポート サーバーを停止して再起動する SQL ジョブを作成したいのですが、これを可能にする SQL コードの作成に問題があります。
私は次のようなものを使用する方向に沿って考えていました:-
ネット ストップ レポート サーバー
NET START レポート サーバー
しかし、これをコマンド コードに組み込む最良の方法がわかりませんか?
アドバイスをいただければ幸いです。
稼働時間外にレポート サーバーを停止して再起動する SQL ジョブを作成したいのですが、これを可能にする SQL コードの作成に問題があります。
私は次のようなものを使用する方向に沿って考えていました:-
ネット ストップ レポート サーバー
NET START レポート サーバー
しかし、これをコマンド コードに組み込む最良の方法がわかりませんか?
アドバイスをいただければ幸いです。
そのために 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
...