Delete a Job Step Log

适用于:SQL ServerAzure SQL 托管实例

重要

Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 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)