Freigeben über


Festlegen der Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschritts

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.

  • Vorbereitungen:  

    Sicherheit

  • So legen Sie die Vorgehensweise nach Erfolg oder einem Fehler eines Auftragsschritts fest, und zwar mit

    SQL Server Management Studio

    Transact-SQL

    SQL Server Management Objects

Vorbereitungen

Sicherheit

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von SQL Server Management Studio

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

  1. Erweitern Sie in Objekt-Explorer den 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 klicken Sie dann auf Eigenschaften.

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

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

  5. Klicken Sie in der Liste Aktion bei Erfolgauf die Aktion, die nach erfolgreicher Durchführung des Auftragsschrittes 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 fehlgeschlagen gilt. 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 fehlgeschlagenen Auftragsschritt ausgeführt werden soll.

  8. Wenn es sich bei dem Auftrag um ein Transact-SQL-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 Anzeigen klicken.

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von Transact-SQL

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

  1. Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) 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.

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Mit SQL Server Management Objects

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

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]