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.
[Top]
Verwendung von SQL Server Management Studio
So legen Sie die Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschrittes fest
Erweitern Sie in Objekt-Explorer den Eintrag SQL Server-Agent, und erweitern Sie anschließend Aufträge.
Klicken Sie mit der rechten Maustaste auf den Auftrag, den Sie bearbeiten möchten, und klicken Sie dann auf Eigenschaften.
Wählen Sie die Seite Schritte aus, und klicken Sie erst auf einen Schritt und dann auf Bearbeiten.
Wählen Sie im Dialogfeld Auftragsschritt-Eigenschaften die Seite Erweitert aus.
Klicken Sie in der Liste Aktion bei Erfolgauf die Aktion, die nach erfolgreicher Durchführung des Auftragsschrittes ausgeführt werden soll.
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.
Klicken Sie in der Liste Aktion bei Fehler auf die Aktion, die nach einem fehlgeschlagenen Auftragsschritt ausgeführt werden soll.
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.
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.
[Top]
Verwendung von Transact-SQL
So legen Sie die Vorgehensweise nach Erfolg oder Fehlschlagen eines Auftragsschrittes fest
Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
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).
[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).
[Top]