Share via


Clear the Job History Log

適用対象:SQL ServerAzure SQL Managed Instance

重要

現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server の T-SQL の相違点に関するページを参照してください。

このトピックでは、SQL Server で SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、Microsoft SQL Server エージェント ジョブ履歴ログの内容を削除する方法について説明します。

はじめに

セキュリティ

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

SQL Server Management Studio を使用する

ジョブ履歴ログを消去するには

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

  2. [SQL Server エージェント]を展開し、 [ジョブ]を展開します。

  3. ジョブを右クリックし、 [履歴の表示]をクリックします。

  4. [ログ ファイルの表示]ダイアログ ボックスで、履歴を消去するジョブを選択し、次のいずれかの手順を実行します。

    • [削除]をクリックし、 [履歴の削除] ダイアログ ボックスの [すべての履歴を削除する] をクリックします。 すべてのジョブ履歴を削除することも、指定日よりも古い履歴のみを削除することもできます。 すべてのジョブ履歴を削除するには、 [すべての履歴を削除する]をクリックします。 指定日よりも古いジョブ履歴ログを削除するには、 [次の日付以前の履歴を削除する]をクリックしてから日付を指定します。

    • マルチサーバー ジョブの履歴ログを消去するには、 [ジョブ ステータス] をクリックします。 [ジョブ]をクリックしてからジョブ名をクリックし、 [ジョブ履歴の表示]をクリックします。

  5. [削除] をクリックします。

Transact-SQL の使用

ジョブ履歴ログを消去するには

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

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    -- example removes the history for a job named NightlyBackups.  
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_purge_jobhistory  
        @job_name = N'NightlyBackups' ;  
    GO  
    

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

ジョブ履歴ログを消去するには

Visual Basic、Visual C#、PowerShell などのプログラミング言語で JobServer クラスの PurgeJobHistory メソッドを使用します。 詳細については、「 SQL Server 管理オブジェクト (SMO) プログラミング ガイド」を参照してください。