次の方法で共有


ジョブ履歴ログをクリアする

適用対象:SQL ServerAzure SQL Managed Instance

大事な

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

このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、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)を参照してください。