Create an ActiveX Script Job Step

本主题介绍如何在 SQL Server 2014 中创建和定义 Microsoft SQL Server 代理 作业步骤,该步骤使用 SQL Server Management Studio、Transact-SQL 或 SQL Server 管理对象执行 ActiveX 脚本。

开始之前

限制和局限

后续版本的 Microsoft 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 类。