Clear the Job History Log

适用于SQL Server Azure SQL 托管实例

重要

Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server 的 T-SQL 区别

本主题说明如何使用 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)来使用 PurgeJobHistory 类的 JobServer 方法。 有关详细信息,请参阅 SQL Server 管理对象 (SMO)