创建 ActiveX 脚本作业步骤
适用于:SQL Server
从 SQL Server 2016 开始,ActiveX 子系统停止使用。 将使用 ActiveX 脚本的任何现有作业步骤转换为 PowerShell 脚本作业步骤。 在未来的任何开发中使用 PowerShell。
重要
Azure SQL 托管实例目前支持大多数(但不是所有)SQL Server 代理功能。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server。
本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象,在 SQL Server 2014 及更低版本中创建和定义用于执行 ActiveX 脚本的 Microsoft SQL Server 代理作业步骤。
开始之前
限制和局限
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。
安全性
有关详细信息,请参阅实现 SQL Server 代理安全性。
使用 SQL Server Management Studio
创建 ActiveX 脚本作业步骤
在 “对象资源管理器” 中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。
展开“SQL Server 代理” ,创建一个新作业或右键单击一个现有作业,再单击“属性” 。 有关创建作业的详细信息,请参阅 创建作业。
在 “作业属性” 对话框中,单击 “步骤” 页,再单击 “新建” 。
在 “新建作业步骤” 对话框中,键入作业的 “步骤名称” 。
在 “类型” 列表中,单击 “ActiveX 脚本”。
在 “运行身份” 列表中,选择该作业将要使用的代理帐户和凭据。
选择编写脚本的 “语言” 。 或者,单击“其他”,然后输入编写脚本使用的 Microsoft ActiveX 脚本语言。
在 “命令” 框中,输入将要对作业步骤执行的脚本语法。 或者,单击 “打开” ,选择包含脚本语法的文件。
单击 “高级” 页设置以下作业步骤选项:当该作业步骤成功或失败时将执行的操作、 SQL Server 代理应该尝试执行该作业步骤的次数以及重试的时间间隔。
“使用 Transact-SQL”
创建 ActiveX 脚本作业步骤
在 “对象资源管理器” 中,连接到 数据库引擎的实例。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
-- create an ActiveX Script job step written in VBScript that creates a restore point USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Create a restore point', @subsystem = N'ACTIVESCRIPTING', @command = N'Const RESTORE_POINT = 20 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default") Set objItem = objWMIService.Get("SystemRestore") errResults = objItem.Restore(RESTORE_POINT)', @retry_attempts = 5, @retry_interval = 5 ; GO
有关详细信息,请参阅 sp_add_jobstep (Transact-SQL)。
使用 SQL Server 管理对象
创建 ActiveX 脚本作业步骤
通过使用所选编程语言(如 Visual Basic、Visual C# 或 PowerShell)来使用 JobStep 类。