在 SSMS(SQL Server Management Studio)中创建 SQL Server 代理作业

适用于:SQL ServerAzure SQL 托管实例

重要

在 Azure SQL 托管实例 上,支持大多数 SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 差异

本文介绍如何使用 SQL Server Management Studio(SSMS)Transact-SQL(T-SQL)SQL Server 管理对象(SMO)创建 SQL Server 代理作业。

若要添加可发送给作员的作业步骤、计划、警报和通知,请参阅“另请参阅”部分中的主题链接。

先决条件

  • 用户必须是 SQL Server 代理固定数据库角色的成员或 sysadmin 角色的成员。
  • 只有 sysadmin 的作业所有者或成员才能修改作业。
  • 将作业分配给另一个登录名不能保证有足够的权限来运行作业。

安全注意事项

  • 只有 sysadmin 才能更改作业所有者。
  • Sysadmin 可以将作业所有权分配给其他用户并运行任何作业。
  • 具有需要代理帐户的步骤的作业需要确保新所有者有权访问这些代理,否则作业将失败。

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

如何使用 SSMS 创建作业

  1. 对象资源管理器中,展开将在其中创建作业的服务器。
  2. 展开 SQL Server 代理
  3. 右键单击 作业 并选择 新建作业...
  4. 常规 页上,配置作业属性。 有关详细信息,请参阅 作业属性 - 常规页
  5. 步骤 页上,配置作业步骤。 有关详细信息,请参阅 作业属性 - 步骤页
  6. 计划 页上,设置作业计划。 有关详细信息,请参阅 作业属性 - 计划页
  7. 警报 页上,配置作业警报。 有关详细信息,请参阅 作业属性 - 警报页
  8. 通知 页上,配置作业完成通知。 有关详细信息,请参阅 作业属性 - 通知页
  9. 目标 页上,配置目标服务器。 有关详细信息,请参阅 作业属性 - 目标页
  10. 选择 “确定” 以保存任务。

如何使用 Transact-SQL (T-SQL) 创建作业

  1. 对象资源管理器中,连接到服务器。

  2. 打开 “新建查询” 窗口。

  3. 复制并粘贴以下脚本:

    USE msdb ;
    GO
    EXEC dbo.sp_add_job @job_name = N'Weekly Sales Data Backup' ;
    GO
    EXEC sp_add_jobstep
        @job_name = N'Weekly Sales Data Backup',
        @step_name = N'Set database to read only',
        @subsystem = N'TSQL',
        @command = N'ALTER DATABASE SALES SET READ_ONLY',
        @retry_attempts = 5,
        @retry_interval = 5 ;
    GO
    EXEC dbo.sp_add_schedule
        @schedule_name = N'RunOnce',
        @freq_type = 1,
        @active_start_time = 233000 ;
    GO
    EXEC sp_attach_schedule
        @job_name = N'Weekly Sales Data Backup',
        @schedule_name = N'RunOnce';
    GO
    EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Data Backup';
    GO
    

有关更多详细信息,请参阅:

使用 SQL Server 管理对象

若要使用 SQL Server 管理对象创建 SQL Server 代理作业(SMO):

使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)调用 Job 类的 Create 方法。 有关示例代码,请参阅 在 SQL Server 代理中计划自动管理任务。