Write the Job Status to the Windows Application LogWrite the Job Status to the Windows Application Log

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Wichtig

In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt.On Azure SQL Managed Instance, most, but not all SQL Server Agent features are currently supported. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.See Azure SQL Managed Instance T-SQL differences from SQL Server for details.

In diesem Thema wird beschrieben, wie Sie den MicrosoftMicrosoft SQL ServerSQL Server-Agent in SQL ServerSQL Server konfigurieren müssen, damit der Auftragsstatus mithilfe von SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL oder SQL Server Management Objects in das Windows Anwendungsereignisprotokoll geschrieben wird.This topic describes how to configure MicrosoftMicrosoft SQL ServerSQL Server Agent in SQL ServerSQL Server to write job status to the Windows application event log by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL Server Management Objects.

Sie stellen sicher, dass Datenbankadministratoren wissen, wann Aufträge fertig gestellt sind und wie oft diese ausgeführt werden.Job responses ensure that database administrators know when jobs complete and how frequently they run. Zu den typischen Auftragsantworten gehören folgende:Typical job responses include:

  • Benachrichtigen des Operators per E-Mail, Pager oder NET SEND -Nachricht.Notifying the operator by using e-mail, electronic paging, or a net send message. Verwenden Sie eine dieser Auftragsantworten vor allem dann, wenn der Operator weitere Schritte ausführen muss.Use one of these job responses if the operator must perform a follow-up action. 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.For example, if a backup job completes successfully, the operator must be notified to remove the backup tape and store it in a safe location.

  • Schreiben einer Ereignismeldung in das Windows-Anwendungsprotokoll.Writing an event message to the Windows application log. Diese Art der Antwort können Sie nur bei fehlgeschlagenen Aufträgen verwenden.You can use this response only for failed jobs.

  • Automatisches Löschen des Auftrags.Automatically deleting the job. Verwenden Sie diese Auftragsantwort, wenn Sie sicher sind, dass Sie diesen Auftrag nicht erneut ausführen müssen.Use this job response if you are certain that you do not need to rerun this job.

VorbereitungenBefore You Begin

SicherheitSecurity

Ausführliche Informationen finden Sie unter Implementieren der SQL Server-Agent-Sicherheit.For detailed information, see Implement SQL Server Agent Security.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So schreiben Sie den Auftragsstatus in das Windows-AnwendungsprotokollTo write job status to the Windows application log

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbank-EngineSQL Server Database Engineher, und erweitern Sie dann diese Instanz.In Object Explorer, connect to an instance of the SQL Server-Datenbank-EngineSQL Server Database Engine, and then expand that instance.

  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.Expand SQL Server Agent, expand Jobs, right-click the job you want to edit, and then click Properties.

  3. Wählen Sie die Seite Benachrichtigungen aus.Select the Notifications page.

  4. Aktivieren Sie In Windows-Anwendungsereignisprotokoll schreiben, und wählen Sie eine der folgenden Optionen aus:Check Write to Windows application event log, and choose one of the following:

    • Klicken Sie auf Bei erfolgreicher Auftragsausführung, um den Auftragsstatus zu protokollieren, wenn der Auftrag erfolgreich abgeschlossen wurde.Click When the job succeeds to log the job status when the job completes successfully.

    • Klicken Sie auf Bei Auftragsfehler, um den Auftragsstatus zu protokollieren, wenn der Auftrag nicht erfolgreich abgeschlossen wurde.Click When the job fails to log the job status when the job completes unsuccessfully.

    • Klicken Sie auf Beim Abschluss des Auftrags, um den Auftragsstatus unabhängig vom Abschlussstatus zu protokollieren.Click When the job completes to log the job status regardless of completion status.

Verwendung von SQL Server Management ObjectsUsing SQL Server Management Objects

So schreiben Sie den Auftragsstatus in das Windows-AnwendungsprotokollTo write job status to the Windows application log

Rufen Sie die EventLogLevel -Eigenschaft der Job -Klasse in einer Programmiersprache Ihrer Wahl auf, z. B. Visual Basic, Visual C# oder PowerShell.Call the EventLogLevel property of the Job class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell.

Im folgenden Codebeispiel wird der Auftrag so festgelegt, dass bei Abschluss der Auftragsausführung ein Betriebssystem-Ereignisprotokolleintrag generiert wird.The following code example sets the job to generate an operating system event log entry when the job execution finishes.

PowerShellPowerShell

$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