Festlegen des Erfolgs- oder Fehlerflows für Auftragsschritte

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.

Bei der Erstellung von Microsoft SQL Server-Agent-Aufträgen können Sie angeben, welche Aktion von SQL Server ausgeführt werden soll, wenn während der Auftragsausführung ein Fehler auftritt. Bestimmen Sie die Aktion, die von SQL Server nach Erfolg oder Fehlschlagen eines Auftragsschrittes ausgeführt wird. Verwenden Sie anschließend die folgende Prozedur, um mithilfe des SQL Server -Agents die Logik der Vorgehensweise für die Auftragsschrittaktion zu konfigurieren.

Vorbereitung

Sicherheit

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

Verwendung von SQL Server Management Studio

So legen Sie die Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschrittes fest

  1. Erweitern Sie in Objekt-Explorerden Eintrag SQL Server-Agent, und erweitern Sie anschließend Aufträge.

  2. Klicken Sie mit der rechten Maustaste auf den Auftrag, den Sie bearbeiten möchten, und wählen Sie anschließend Eigenschaften aus.

  3. Wählen Sie die Seite Schritte aus, wählen Sie einen Schritt aus, und klicken Sie dann auf Bearbeiten.

  4. Wählen Sie im Dialogfeld Auftragsschritt-Eigenschaften die Seite Erweitert aus.

  5. Klicken Sie in der Liste Aktion bei Erfolg auf die Aktion, die nach erfolgreicher Durchführung des Auftragsschritts ausgeführt werden soll.

  6. Geben Sie im Feld Wiederholungsversuche mit einer Zahl zwischen 0 und 9999 an, wie oft der Auftragsschritt wiederholt werden soll, bevor er als fehlerhaft betrachtet wird. Wenn Sie im Feld Wiederholungsversuche einen Wert größer 0 eingegeben haben, geben Sie im Feld Wiederholungsintervall (Min) die Anzahl von Minuten zwischen 1 und 9999 ein, die verstreichen müssen, bevor der Auftragsschritt erneut versucht wird.

  7. Klicken Sie in der Liste Aktion bei Fehler auf die Aktion, die nach einem fehlerhaften Auftragsschritt ausgeführt werden soll.

  8. Wenn es sich bei dem Auftrag um ein TransactSQL -Skript handelt, können Sie eine der folgenden Optionen auswählen:

    • Geben Sie im Feld Ausgabedatei den Namen der Ausgabedatei ein, in die die Skriptausgabe geschrieben werden soll. Diese Datei wird standardmäßig bei jeder Ausführung des Auftragsschrittes überschrieben. Wenn Sie nicht möchten, dass die Ausgabedatei überschrieben wird, aktivieren Sie Ausgabe an vorhandene Datei anfügen.

    • Aktivieren Sie In Tabelle protokollieren , wenn der Auftragsschritt in einer Datenbanktabelle protokolliert werden soll. Standardmäßig wird der Tabelleninhalt bei jeder Ausführung des Auftragsschrittes überschrieben. Wenn der Tabelleninhalt nicht überschrieben werden soll, aktivieren Sie Ausgabe an vorhandenen Eintrag in Tabelle anfügen. Nachdem der Auftragsschritt ausgeführt wurde, können Sie den Inhalt dieser Tabelle anzeigen, indem Sie auf Anzeigenklicken.

    • Aktivieren Sie Schrittausgabe in Verlauf einschließen , wenn die Ausgabe in den Schrittverlauf eingeschlossen werden soll. Die Ausgabe wird nur angezeigt, wenn keine Fehler auftraten. Es kann auch vorkommen, dass die Ausgabe abgeschnitten wird.

  9. Wenn die Liste Als Benutzer ausführen verfügbar ist, wählen Sie daraus das Proxykonto mit den Benutzerinformationen aus, das für den Auftrag verwendet werden wird.

Verwenden von Transact-SQL

So legen Sie die Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschrittes fest

  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 in das Abfragefenster, und klicken Sie dann auf Ausführen.

    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @on_success_action = 1;  
    GO  
    

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

Verwendung von SQL Server Management Objects

So legen Sie die Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschrittes fest

Verwenden Sie die JobStep -Klasse indem Sie eine von Ihnen ausgewählte Programmiersprache, z. B. Visual Basic, Visual C# oder PowerShell verwenden. Weitere Informationen finden Sie unter SQL Server Management Objects (SMO).

Weitere Informationen