配置用户以创建和管理 SQL Server 代理作业

适用于:SQL ServerAzure SQL 托管实例

重要

Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 与 SQL Server 的差异 或 SQL 托管实例中的 SQL 代理作业限制

本文介绍如何将用户配置为创建或执行 SQL Server 代理作业。

安全性

若要将用户配置为创建或执行 SQL Server 代理作业,必须先将现有的 SQL Server 登录名或 msdb 角色添加到数据库中以下 SQL Server 代理固定数据库角色 msdb 之一:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

默认情况下,这些数据库角色的成员可以创建自己的作业步骤,以自己身份运行。 如果这些非管理用户想要运行执行其他作业步骤类型的作业(例如 SSIS 包),则必须有权访问代理帐户。 sysadmin 固定服务器角色的所有成员都有权创建、修改和删除代理帐户。 有关与这些 SQL Server 代理固定数据库角色关联的权限的详细信息,请参阅 SQL Server 代理固定数据库角色

权限

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

使用 SQL Server Management Studio

将 SQL 登录名或 msdb 角色添加到 SQL Server 代理固定数据库角色

  1. 对象资源管理器中,展开服务器。

  2. 展开 安全,然后展开 登录名

  3. 右键单击要添加到 SQL Server 代理固定数据库角色的登录帐户,然后选择“属性”

  4. “登录属性”对话框的“用户映射”页上,选择包含msdb的行。

  5. 在“数据库角色成员身份: msdb”下,选中适当的 SQL Server 代理固定数据库角色

配置代理帐户以创建和管理 SQL Server 代理作业步骤

  1. 对象资源管理器中,展开服务器。

  2. 展开“SQL Server 代理”

  3. 右键单击 代理 并选择 新代理

  4. “新建代理帐户”对话框的“常规”页上,指定新代理的代理名称、凭据名称和说明。 必须先创建凭据,然后才能创建 SQL Server 代理代理。 有关创建凭据的详细信息,请参阅 “创建凭据 ”和 “CREATE CREDENTIAL”。

  5. 检查此代理的相应子系统。

    1. 创建 CmdExec 作业步骤
    2. SQL Server Analysis Services 查询
    3. SQL Server Analysis Services 命令
    4. 运行 Integration Services (SSIS) 包
    5. PowerShell
  6. 主体 页上,添加或删除登录名或角色,以授予或删除对代理帐户的访问权限。