自动管理组件

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

重要说明重要提示

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

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

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