次の方法で共有


Windows アプリケーション ログへのジョブ状態の書き込み

このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、SQL Server 2012 でジョブの状態を Windows アプリケーションのイベント ログに書き込むように Microsoft SQL Server エージェントを構成する方法について説明します。

ジョブ応答により、データベース管理者はジョブの完了日時や実行頻度を確認できます。 以下に、一般的なジョブ応答を示します。

  • 電子メール、ポケットベル、または net send メッセージによってオペレーターに通知します。 オペレーターが事後の作業を実行する必要がある場合に、これらのジョブ応答のいずれかを使用します。 たとえば、バックアップ ジョブが正常に終了した場合、オペレーターは、バックアップ テープを取り出して、安全な場所に保管するように通知を受ける必要があります。

  • Windows アプリケーション ログにイベント メッセージを書き込みます。 この応答は、失敗したジョブに対してのみ使用できます。

  • ジョブを自動的に削除します。 このジョブを再実行する必要がないことが明らかな場合に、このジョブ応答を使用します。

このトピックの内容

  • 作業を開始する準備: 

    セキュリティ

  • ジョブの状態を Windows アプリケーション ログに書き込む方法:

    SQL Server Management Studio

    SQL Server 管理オブジェクト

作業を開始する準備

セキュリティ

詳細については、「SQL Server エージェントのセキュリティの実装」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

ジョブの状態を Windows アプリケーション ログに書き込むには

  1. オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [SQL Server エージェント][ジョブ] の順に展開し、変更するジョブを右クリックします。次に、[プロパティ] をクリックします。

  3. [通知] ページをクリックします。

  4. [Windows アプリケーション イベント ログに書き込む] チェック ボックスをオンにし、次のいずれかを選択します。

    • ジョブが正常終了したときにジョブの状態をログに記録する場合は、[ジョブ成功時] をクリックします。

    • ジョブが異常終了したときにジョブの状態をログに記録する場合は、[ジョブ失敗時] をクリックします。

    • 完了時の状況にかかわらずジョブの状態をログに記録する場合は、[ジョブ完了時] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server 管理オブジェクトの使用

ジョブの状態を Windows アプリケーション ログに書き込むには

Visual Basic、Visual C#、PowerShell などのプログラミング言語で Job クラスの EventLogLevel プロパティを呼び出します。 詳細については、「SQL Server Management Objects (SMO)」を参照してください。

次のコード例では、ジョブの実行の終了時に、オペレーティング システムのイベント ログ エントリを生成するようにジョブを設定します。

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")
$jb = new-object Microsoft.SqlServer.Management.Smo.Agent.Job($srv.JobServer, "Test Job")
$jb.EventLogLevel = [Microsoft.SqlServer.Management.Smo.Agent.CompletionAction]::Always

[トップに戻る] リンクで使用される矢印アイコン[Top]