Delete a Job Step Log

適用対象: SQL ServerAzure SQL Managed Instance

重要

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

このトピックでは、SQL Server エージェントのジョブ ステップのログを削除する方法について説明します。

はじめに

制限事項と制約事項

ジョブ ステップが削除されるときに、そのジョブ ステップの出力ログは自動的に削除されます。

セキュリティ

アクセス許可

sysadmin 固定サーバー ロールのメンバー以外は、所有しているジョブしか変更できません。

SQL Server Management Studio を使用する

SQL Server エージェントのジョブ ステップのログを削除するには

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

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

  3. [ジョブのプロパティ] ダイアログ ボックスで、選択したジョブ ステップを削除します。

Transact-SQL の使用

SQL Server エージェントのジョブ ステップのログを削除するには

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

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

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

    -- removes the job step log for step 2 in the job Weekly Sales Data Backup  
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_delete_jobsteplog  
        @job_name = N'Weekly Sales Data Backup',  
        @step_id = 2;  
    GO  
    

詳しくは、「 sp_delete_jobsteplog (Transact-SQL)」をご覧ください。

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

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

-- Uses PowerShell to delete all job step log files that have ID values larger than 5.  
$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")  
$jb = $srv.JobServer.Jobs["Test Job"]  
$jb.DeleteJobStepLogs(5)