重要
Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例 T-SQL 与 SQL Server 的差异 或 SQL 托管实例中的 SQL 代理作业限制 。
本文介绍如何创建 SQL Server 代理作业步骤,该作业步骤使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象在 SQL Server 中执行 Transact-SQL 脚本。
这些作业步骤脚本可能会调用存储过程和扩展存储过程。 单个 Transact-SQL 作业步骤可以包含多个批处理和嵌入式 GO 命令。 有关创建作业的详细信息,请参阅 “创建 SQL Server 代理作业”。
安全性
有关详细信息,请参阅 “实现 SQL Server 代理安全性”。
使用 SQL Server Management Studio
在 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。
展开 SQL Server 代理,创建新作业或右键单击现有作业,然后选择“ 属性”。
在 “作业属性 ”对话框中,选择“ 步骤 ”页,然后选择“ 新建”。
在 “新建作业步骤”对话框中,键入作业 步骤名称。
在“类型”列表中,选择 Transact-SQL 脚本(TSQL)。
在 “命令 ”框中键入 Transact-SQL 命令批处理,或选择“ 打开 ”以选择要用作命令的 Transact-SQL 文件。
选择 “分析 ”以检查语法。
语法正确时,将显示消息“分析成功”。 如果找到错误,请更正语法,然后再继续。
选择“ 高级 ”页以设置作业步骤选项,例如:
- 作业步骤成功或失败时要采取的措施。
- SQL Server 代理应尝试执行作业步骤的次数,以及
- SQL Server 代理可以将作业步骤的输出结果写入的文件或表。
只有 sysadmin 固定服务器角色的成员才能将作业步骤输出写入作系统文件。 所有 SQL Server 代理用户可以将输出记录到表。
如果你是 sysadmin 固定服务器角色的成员,并且想要以其他 SQL 登录名身份运行此作业步骤,请从 “以用户身份运行 ”列表中选择 SQL 登录名。
使用 Transact-SQL
在 对象资源管理器中,连接到数据库引擎的实例。
在标准栏上,选择“新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。
USE msdb; GO EXECUTE 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
有关详细信息,请参阅 sp_add_jobstep。
使用 SQL Server 管理对象
使用您选择的编程语言(如 Visual Basic、C# 或 PowerShell)来使用JobStep类。