自动管理组件

SQL Server 代理使用下列组件来定义要执行的任务、执行任务的时间以及报告任务成功或失败的方式。SQL Server 代理还为自动管理提供了安全性。有关 SQL Server 代理安全性的详细信息,请参阅SQL Server 代理管理的安全性

作业

“作业”是 SQL Server 代理执行的一系列指定操作。使用作业可以定义一个能执行一次或多次的管理任务,并能监视执行结果是成功还是失败。作业可以在一个本地服务器上运行,也可以在多个远程服务器上运行。

重要说明重要提示

在 SQL Server 故障转移群集实例上发生故障转移事件时正在运行的 SQL Server 代理作业在故障转移到其他故障转移群集节点后不恢复。在 Hyper-V 节点暂停时,如果该暂停导致故障转移到其他节点,则正在运行的 SQL Server 代理作业不恢复。已开始但由于故障转移事件而未能完成的作业在日志中记录为已开始,但不提供附加的条目来指明完成或失败。在这些情况下,SQL Server 代理作业好像永远不会结束。

可以通过下列几种方式来运行作业:

  • 根据一个或多个计划。

  • 响应一个或多个警报。

  • 通过执行 sp_start_job 存储过程。

作业中的每个操作都是一个“作业步骤”。例如,作业步骤可以运行 Transact-SQL 语句、执行 SSIS 包或向 Analysis Services 服务器发出命令。作业步骤作为作业的一部分进行管理。

所有作业步骤均在特定的安全上下文中运行。对于使用 Transact-SQL 的作业步骤,请使用 EXECUTE AS 语句设置作业步骤的安全上下文。对于其他类型的作业步骤,请使用代理帐户来设置作业步骤的安全上下文。有关设置作业步骤的安全上下文的详细信息,请参阅SQL Server 代理管理的安全性

有关作业的详细信息,请参阅创建作业

计划

“计划”指定了作业运行的时间。多个作业可以根据一个计划运行,多个计划也可以应用到一个作业。计划可以为作业运行的时间定义下列条件:

  • 每当 SQL Server 代理启动时。

  • 每当计算机的 CPU 使用率处于定义的空闲状态水平时。

  • 在特定日期和时间运行一次。

  • 按重复执行的计划运行。

有关详细信息,请参阅创建计划并将计划附加到作业

警报

“警报”是对特定事件的自动响应。例如,事件可以是启动的作业,也可以是达到特定阈值的系统资源。可以定义警报产生的条件。

警报可以响应下列任一条件:

  • SQL Server 事件

  • SQL Server 性能条件

  • 运行 SQL Server 代理的计算机上的 Microsoft Windows Management Instrumentation (WMI) 事件

警报可以执行下列操作:

  • 通知一个或多个操作员

  • 运行作业

有关详细信息,请参阅定义警报

操作员

操作员定义的是负责维护一个或多个 SQL Server 实例的个人的联系信息。在有些企业中,操作员职责被分配给一个人。在拥有多个服务器的企业中,操作员职责可以由多人分担。操作员既不包含安全信息,也不会定义安全主体。

SQL Server 可以通过下列一种或多种方式通知操作员有警报出现:

  • 电子邮件

  • 寻呼程序(通过电子邮件)

  • net send

注意注意

SQL Server 代理所在的计算机必须启动 Windows Messenger 服务,才能使用 net send 发送通知。

重要说明重要提示

在未来版本的 Microsoft SQL Server 中,寻呼程序和 net send 选项将从 SQL Server 代理中删除。请避免在新的开发工作中使用这些功能,并考虑修改当前使用这些功能的应用程序。

若要使用电子邮件或寻呼程序向操作员发送通知,必须将 SQL Server 代理配置为使用数据库邮件或 SQL Mail。有关详细信息,请参阅数据库邮件

可以将操作员定义为一组个人的别名。这样,该组的所有成员就可以同时收到通知。有关详细信息,请参阅定义操作员