创建 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 脚本作业步骤

  1. “对象资源管理器” 中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开“SQL Server 代理” ,创建一个新作业或右键单击一个现有作业,再单击“属性” 。 有关创建作业的详细信息,请参阅 创建作业

  3. “作业属性” 对话框中,单击 “步骤” 页,再单击 “新建”

  4. “新建作业步骤” 对话框中,键入作业的 “步骤名称”

  5. “类型” 列表中,单击 “ActiveX 脚本”

  6. “运行身份” 列表中,选择该作业将要使用的代理帐户和凭据。

  7. 选择编写脚本的 “语言” 。 或者,单击“其他”,然后输入编写脚本使用的 Microsoft ActiveX 脚本语言。

  8. “命令” 框中,输入将要对作业步骤执行的脚本语法。 或者,单击 “打开” ,选择包含脚本语法的文件。

  9. 单击 “高级” 页设置以下作业步骤选项:当该作业步骤成功或失败时将执行的操作、 SQL Server 代理应该尝试执行该作业步骤的次数以及重试的时间间隔。

“使用 Transact-SQL”

创建 ActiveX 脚本作业步骤

  1. “对象资源管理器” 中,连接到 数据库引擎的实例。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。

    -- 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 类。