在 SQL Server Management Studio (SSMS) 中创建 SQL Server 代理作业
适用于: SQL Server Azure 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 创建作业
- 在对象资源管理器中,展开将在其中创建作业的服务器。
- 展开 “SQL Server 代理”。
- 右键单击“作业”,然后选择“新建作业...”。
- 在“常规”页上,配置作业属性。 有关更多详细信息,请参阅作业属性 -“常规”页。
- 在“步骤”页上,配置作业步骤。 有关更多详细信息,请参阅作业属性 -“步骤”页。
- 在“计划”页上,设置作业计划。 有关更多详细信息,请参阅作业属性 -“计划”页。
- 在“警报”页上,配置作业警报。 有关更多详细信息,请参阅作业属性 -“警报”页。
- 在“通知”页上,配置作业完成通知。 有关更多详细信息,请参阅作业属性 -“通知”页。
- 在“目标”页上,配置目标服务器。 有关更多详细信息,请参阅作业属性 -“目标”页。
- 选择“确定”以保存作业。
如何使用 Transact-SQL (T-SQL) 创建作业
在对象资源管理器中,连接到服务器。
打开“新建查询”窗口。
复制并粘贴以下脚本:
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
有关详细信息,请参阅:
- sp_add_job (Transact-SQL)
- sp_add_jobstep (Transact-SQL)
- sp_add_schedule (Transact-SQL)
- sp_attach_schedule (Transact-SQL)
- sp_add_jobserver (Transact-SQL)
使用 SQL Server 管理对象
若要使用 SQL Server 管理对象 (SMO) 创建 SQL Server 代理作业,请执行以下宝座:
通过使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)来调用 Job 类的 Create 方法。 有关示例代码,请参阅 在 SQL Server 代理中计划自动管理任务。