将作业状态写入 Windows 应用程序日志

本主题介绍如何在 SQL Server 2012 中使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象配置 Microsoft SQL Server 代理以便将作业状态写入 Windows 应用程序事件日志。

作业响应可确保数据库管理员知道作业完成的时间和作业运行频率。 典型的作业响应包括:

  • 使用电子邮件、电子呼叫或 net send 消息通知操作员。 如果操作员必须执行后续操作,应使用其中的某种作业响应。 例如,当一个备份作业成功地完成之后,必须通知操作员取出备份磁带并将其存放在安全处。

  • 将事件消息写入 Windows 应用程序日志。 只能对失败的作业使用这种响应。

  • 自动删除作业。 如果确信不需要再次运行该作业,可以使用这种作业响应。

本主题内容

  • 开始之前: 

    安全性

  • 若要将作业状态写入 Windows 应用程序日志,请使用:

    SQL Server Management Studio

    SQL Server 管理对象

开始之前

安全性

有关详细信息,请参阅实现 SQL Server 代理安全性

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

将作业状态写入 Windows 应用程序日志

  1. 在**“对象资源管理器”**中,连接到 SQL Server 数据库引擎实例,再展开该实例。

  2. 展开**“SQL Server 代理”,展开“作业”,右键单击要编辑的作业,再单击“属性”**。

  3. 选择**“通知”**页。

  4. 请检查**“写入 Windows 应用程序事件日志”**,然后执行下列操作之一:

    • 单击**“当作业成功时”**选项,在作业成功完成时记录作业状态。

    • 单击**“当作业失败时”**选项,在作业未能成功完成时记录作业状态。

    • 单击**“当作业完成时”**选项,无论完成状态如何,均记录作业状态。

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server 管理对象

将作业状态写入 Windows 应用程序日志

通过使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)来调用 Job 类的 EventLogLevel 属性。 有关详细信息,请参阅 SQL Server Management Objects (SMO)

下列代码示例将作业设置为在作业完成执行时生成操作系统事件日志条目。

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")
$jb = new-object Microsoft.SqlServer.Management.Smo.Agent.Job($srv.JobServer, "Test Job")
$jb.EventLogLevel = [Microsoft.SqlServer.Management.Smo.Agent.CompletionAction]::Always

用于“返回首页”链接的箭头图标[Top]