设置作业步骤的成功流或失败流
重要
Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server 的 T-SQL 区别。
创建 Microsoft SQL Server 代理作业时,可以指定如果在作业执行期间发生故障,SQL Server 应执行什么操作。 根据每个作业步骤的成功或失败确定 SQL Server 应执行的操作。 然后通过 SQL Server 代理使用以下过程配置作业步骤的操作流逻辑。
开始之前
安全性
有关详细信息,请参阅实现 SQL Server 代理安全性。
使用 SQL Server Management Studio
设置作业步骤的成功流或失败流
在 对象资源管理器中,展开 “SQL Server 代理”,然后展开 “作业”。
右键单击要编辑的作业,然后选择“属性”。
选择“步骤”页,选择一个步骤,然后选择“编辑”。
在 “作业步骤属性” 对话框中,选择 “高级” 页。
在“成功时要执行的操作”列表中,选择作业步骤成功完成时要执行的操作。
在“重试次数”框中输入介于 0 到 9999 之间的次数,应将作业步骤重复该次数,然后才能认为其失败。 如果在“重试次数”框中输入的值大于 0,则应在“重试间隔(分钟)”框中输入介于 1 到 9999 之间的分钟数,必须经过该间隔后才能重试作业步骤。
在“失败时要执行的操作”列表中,选择作业步骤失败时要执行的操作。
如果作业是一个 Transact-SQL 脚本,则可以从下列选项中进行选择:
在 “输出文件” 框中,输入要将脚本输出写入的输出文件名。 默认情况下,每次执行作业步骤时都覆盖该文件。 如果不希望覆盖输出文件,请选中“将输出追加到现有文件”。
如果希望将作业步骤记录到一个数据库表中,请选中 “记录到表” 。 默认情况下,每次执行作业步骤时都覆盖该表的内容。 如果不希望覆盖表内容,则请选中“将输出追加到表中的现有条目”。 在执行作业步骤后,您可以通过单击 “查看”来查看此表的内容。
如果希望将输出包括在步骤的历史记录中,请选中 “在历史记录中包含步骤输出” 。 仅当没有错误时,才会显示输出结果。 此外,输出可能会被截断。
如果 “作为以下用户运行” 列表可用,则选择具有作业要使用的凭据的代理帐户。
“使用 Transact-SQL”
设置作业步骤的成功流或失败流
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准栏上,选择“新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。
USE msdb; 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', @on_success_action = 1; GO
有关详细信息,请参阅 sp_add_jobstep (Transact-SQL)。
使用 SQL Server 管理对象
设置作业步骤的成功流或失败流
通过使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)来使用 JobStep 类。 有关详细信息,请参阅 SQL Server 管理对象 (SMO)。