Freigeben über


Write the Job Status to the Windows Application Log

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 den Microsoft SQL Server-Agent in SQL Server mithilfe von SQL Server Management Studio, Transact-SQL oder SQL Server Management Objects so konfigurieren, dass der Auftragsstatus in das Windows-Anwendungsereignisprotokoll geschrieben wird.

Sie stellen sicher, dass Datenbankadministratoren wissen, wann Aufträge fertig gestellt sind und wie oft diese ausgeführt werden. Zu den typischen Auftragsantworten gehören folgende:

  • Benachrichtigen des Operators per E-Mail, Pager oder NET SEND -Nachricht. Verwenden Sie eine dieser Auftragsantworten vor allem dann, wenn der Operator weitere Schritte ausführen muss. Wenn beispielsweise ein Sicherungsauftrag erfolgreich ausgeführt wurde, muss der Operator darüber informiert werden, um das Sicherungsband entfernen zu können und an einem sicheren Standort aufbewahren zu lassen.

  • Schreiben einer Ereignismeldung in das Windows-Anwendungsprotokoll. Diese Art der Antwort können Sie nur bei fehlgeschlagenen Aufträgen verwenden.

  • Automatisches Löschen des Auftrags. Verwenden Sie diese Auftragsantwort, wenn Sie sicher sind, dass Sie diesen Auftrag nicht erneut ausführen müssen.

Vorbereitungen

Sicherheit

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

Verwendung von SQL Server Management Studio

So schreiben Sie den Auftragsstatus in das Windows-Anwendungsprotokoll

  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, erweitern Sie Aufträge, 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 Benachrichtigungen aus.

  4. Aktivieren Sie In Windows-Anwendungsereignisprotokoll schreiben, und wählen Sie eine der folgenden Optionen aus:

    • Klicken Sie auf Bei erfolgreicher Auftragsausführung, um den Auftragsstatus zu protokollieren, wenn der Auftrag erfolgreich abgeschlossen wurde.

    • Klicken Sie auf Bei Auftragsfehler, um den Auftragsstatus zu protokollieren, wenn der Auftrag nicht erfolgreich abgeschlossen wurde.

    • Klicken Sie auf Beim Abschluss des Auftrags, um den Auftragsstatus unabhängig vom Abschlussstatus zu protokollieren.

Verwendung von SQL Server Management Objects

So schreiben Sie den Auftragsstatus in das Windows-Anwendungsprotokoll

Rufen Sie die EventLogLevel -Eigenschaft der Job -Klasse in einer Programmiersprache Ihrer Wahl auf, z. B. Visual Basic, Visual C# oder PowerShell.

Im folgenden Codebeispiel wird der Auftrag so festgelegt, dass bei Abschluss der Auftragsausführung ein Betriebssystem-Ereignisprotokolleintrag generiert wird.

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)")  
$jb = new-object Microsoft.SqlServer.Management.Smo.Agent.Job($srv.JobServer, "Test Job")  
$jb.EventLogLevel = [Microsoft.SqlServer.Management.Smo.Agent.CompletionAction]::Always