创建作业
本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象 (SMO) 在 SQL Server 2014 中创建SQL Server 代理作业。
若要添加可以发送到操作员的作业步骤、计划、警报和通知,请参阅“请参阅”部分中的主题的链接。
开始之前:
若要创建作业,可使用:
开始之前
限制和局限
若要创建作业,用户必须是某个 SQL Server 代理固定数据库角色或 sysadmin 固定服务器角色的成员。 作业只能由其所有者或 sysadmin 角色的成员进行编辑。 有关 SQL Server 代理的固定数据库角色的详细信息,请参阅 SQL Server 代理固定数据库角色。
将作业指派给另一个登录名并不保证新所有者有足够的权限来成功运行该作业。
本地作业是由本地 SQL Server 代理进行缓存的。 因此,任何修改都会隐式强制 SQL Server 代理重新缓存该作业。 由于直到调用 SQL Server sp_add_jobserver 时, 代理才缓存作业,因此最后调用 sp_add_jobserver 将更为有效。
安全性
您必须是系统管理员才可以更改作业的所有者。
为了安全起见,仅作业所有者或 sysadmin 角色的成员可以更改作业的定义。 只有 sysadmin 固定服务器角色的成员才可以将作业所有权分配给其他用户,并且他们可以运行任何作业,而不管作业所有者是谁。
注意
如果将作业所有权重新指派到的用户不是 sysadmin 固定服务器角色的成员,而执行作业的步骤需要代理帐户(例如, SSIS 包执行),则请确保该用户可以访问该代理帐户,否则作业将失败。
权限
有关详细信息,请参阅实现 SQL Server 代理安全性。
使用 SQL Server Management Studio
创建 SQL Server 代理作业
在 “对象资源管理器”中,单击加号以展开要创建 SQL Server 代理作业的服务器。
单击加号以展开 “SQL Server 代理”。
右键单击“作业”文件夹,然后选择“新建作业…”。
在 “新建作业” 对话框的 “常规” 页上,修改作业的常规属性。 有关此页上可用选项的详细信息,请参阅 作业属性和新建作业 (常规页)
在 “步骤” 页上,组织作业步骤。 有关此页上可用选项的详细信息,请参阅 作业属性:新建作业 (步骤页)
在 “计划” 页上,组织作业的计划。 有关此页上可用选项的详细信息,请参阅 作业属性:新建作业 (计划页)
在 “警报” 页上,组织作业的警报。 有关此页上可用选项的详细信息,请参阅 作业属性:新建作业 (警报页)
在“通知”页上,设置在作业完成时 Microsoft SQL Server 代理要执行的操作。 有关此页上可用选项的详细信息,请参阅 作业属性:新建作业 (通知页) 。
在 “目标” 页上,管理作业的目标服务器。 有关此页上可用选项的详细信息,请参阅 作业属性:新建作业 (目标页) 。
完成后,单击 “确定” 。
“使用 Transact-SQL”
创建 SQL Server 代理作业
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
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 ; USE msdb ; 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 代理作业
通过使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)来调用 Create
类的 Job
方法。 有关示例代码,请参阅 在 SQL Server 代理中计划自动管理任务。