Freigeben über


Create a PowerShell Script Job Step

Gilt für:SQL ServerAzure SQL Managed Instance

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.

In diesem Artikel wird beschrieben, wie Sie mit SQL Server Management Studio oder Transact-SQL einen Auftragsschritt für den SQL Server-Agent erstellen und definieren, bei dem ein PowerShell-Skript in SQL Server ausgeführt wird.

Vorbereitungen

Sicherheit

Ausführliche Informationen finden Sie unter Implementieren der SQL Server-Agent-Sicherheit.

Wir hören Ihnen zu: Wenn Sie in diesem Artikel – beispielsweise in einem Schritt oder Codebeispiel – veraltete oder falsche Informationen finden, lassen Sie es uns bitte wissen. Sie können unten auf dieser Seite im Abschnitt Feedback auf die Schaltfläche Diese Seite klicken. Wir lesen jedes Feedback zu SQL in der Regel am nächsten Tag. Vielen Dank.

Verwendung von SQL Server Management Studio

So erstellen Sie einen PowerShell-Skript-Auftragsschritt

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbank-Engineher, und erweitern Sie dann 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 dann auf Neu.

  4. Geben Sie im Dialogfeld Neuer Auftragsschritt unter Schrittnameeinen Schrittnamen für den Auftrag ein.

  5. Klicken Sie in der Liste Typ auf PowerShell.

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

  7. Geben Sie im Feld Befehl die PowerShell-Skriptsyntax ein, die für den Auftragsschritt ausgeführt wird. Klicken Sie alternativ auf Öffnen , und wählen Sie eine Datei aus, die die Skriptsyntax enthält. Ein Beispiel für ein PowerShell-Skript finden Sie unten unter Verwendung von Transact-SQL .

  8. Klicken Sie auf die Seite Erweitert , um die folgenden Optionen für den Auftragsschritt festzulegen: welche Aktion bei der erfolgreichen oder fehlerhaften Ausführung des Auftragsschrittes jeweils auszuführen ist, wie oft der SQL Server -Agent versuchen soll, den Auftragsschritt auszuführen, und wie viele Wiederholungsversuche unternommen werden sollen.

Verwenden von Transact-SQL

So erstellen Sie einen PowerShell-Skript-Auftragsschritt

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

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

    -- creates a PowerShell job step that finds the processes
    -- that use more than 1000 MB of memory and kills them  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Kills all processes that use more than 1000 MB of memory',  
        @subsystem = N'PowerShell',  
        @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

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

Verwendung von SQL Server Management Objects

So erstellen Sie einen PowerShell-Skript-Auftragsschritt

Verwenden Sie die JobStep -Klasse indem Sie eine von Ihnen ausgewählte Programmiersprache, z. B. Visual Basic, Visual C# oder PowerShell verwenden.