Teilen über


Erstellen eines ActiveX-Skriptauftragsschritts

Gilt für:SQL Server-

Das ActiveX-Subsystem wird ab SQL Server 2016 nicht mehr unterstützt. Konvertieren Sie alle vorhandenen Auftragsschritte, die ActiveX Script verwenden, in einen PowerShell-Skriptauftragsschritt. Verwenden Sie PowerShell für jede zukünftige Entwicklung.

Wichtig

In azure SQL Managed Instancewerden die meisten, aber nicht alle SQL Server-Agent-Features derzeit unterstützt. Siehe Azure SQL Managed Instance von SQL Server für Details.

In diesem Thema wird beschrieben, wie Sie einen Microsoft SQL Server-Agent-Auftragsschritt in SQL Server 2014 erstellen und definieren und vorher ein ActiveX-Skript mithilfe von SQL Server Management Studio, Transact-SQL oder SQL Server Management Objects ausführen.

Bevor Sie beginnen

Beschränkungen und Einschränkungen

Dieses Feature wird in einer zukünftigen Version von SQL Server entfernt. Vermeiden Sie die Verwendung dieses Features in neuer Entwicklungsarbeit, und planen Sie, Anwendungen zu ändern, die derzeit dieses Feature verwenden.

Sicherheit

Ausführliche Informationen finden Sie unter Implementieren von SQL Server Agent Security.

Verwenden von SQL Server Management Studio

So erstellen Sie einen Auftragsschritt für ein ActiveX-Skript

  1. Im Objekt-Explorer, verbinden Sie sich mit einer Instanz des SQL Server-Datenbankmoduls und erweitern Sie diese Instanz.

  2. Erweitern Sie SQL Server Agent, erstellen Sie einen neuen Auftrag, oder klicken Sie mit der rechten Maustaste auf einen vorhandenen Auftrag, und klicken Sie dann auf Eigenschaften. Weitere Informationen zum Erstellen eines Auftrags finden Sie unter Erstellen von Aufträgen.

  3. Klicken Sie im Dialogfeld Auftragseigenschaften auf die Seite Schritte; und klicken Sie dann auf Neu.

  4. Geben Sie im Dialogfeld Neuen Auftragsschritt einen Auftrag Schrittnamenein.

  5. Klicken Sie in der Liste Typ- auf ActiveX Script.

  6. Wählen Sie in der Liste Ausführen als das Proxykonto mit den Anmeldeinformationen aus, die der Auftrag verwendet.

  7. Wählen Sie die Sprache aus, in der das Skript geschrieben wurde. Klicken Sie alternativ auf Andere, und geben Sie dann den Namen der Microsoft ActiveX-Skriptsprache ein, in der das Skript geschrieben wird.

  8. Geben Sie im Befehlsfeld die Skriptsyntax ein, die für den Jobschritt ausgeführt werden soll. Klicken Sie alternativ auf Öffnen, und wählen Sie eine Datei mit der Skriptsyntax aus.

  9. Klicken Sie auf die Seite Advanced, um die folgenden Auftragsschrittoptionen festzulegen: Welche Aktion ausgeführt werden soll, wenn der Auftragsschritt erfolgreich ist oder fehlschlägt, wie oft der SQL Server-Agent versuchen sollte, den Auftragsschritt auszuführen, und wie oft Wiederholungsversuche durchgeführt werden sollen.

Verwenden von Transact-SQL

So erstellen Sie einen ActiveX-Skript-Auftragsschritt

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Instanz des Datenbankmoduls her.

  2. Klicken Sie auf der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, und fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

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

Weitere Informationen finden Sie unter sp_add_jobstep (Transact-SQL).

Verwenden von SQL Server-Verwaltungsobjekten

So erstellen Sie einen ActiveX Script-Auftragsschritt

Verwenden Sie die JobStep Klasse mithilfe einer von Ihnen ausgewählten Programmiersprache, z. B. Visual Basic, Visual C# oder PowerShell.