SqlErrorLogEvent-Klasse
Gilt für:SQL Server
Stellt Eigenschaften zum Anzeigen von Ereignissen in einer angegebenen SQL Server Protokolldatei bereit.
Syntax
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Eigenschaften
Die SQLErrorLogEvent-Klasse definiert die folgenden Eigenschaften.
Eigenschaft | Beschreibung |
---|---|
Dateiname | Datentyp: string Zugriffstyp: Schreibgeschützt Der Name der Fehlerprotokolldatei. |
InstanceName | Datentyp: string Zugriffstyp: Schreibgeschützt Qualifizierer: Schlüssel Der Name der Instanz von SQL Server, in der sich die Protokolldatei befindet. |
LogDate | Datentyp: datetime Zugriffstyp: Schreibgeschützt Qualifizierer: Schlüssel Datum und Uhrzeit, zu denen das Ereignis in der Protokolldatei aufgezeichnet wurde. |
Nachricht | Datentyp: string Zugriffstyp: Schreibgeschützt Die Ereignismeldung. |
Processinfo | Datentyp: string Zugriffstyp: Schreibgeschützt Informationen zur SPID (Source Server Process ID, Quellserverprozess-ID) für das Ereignis. |
Bemerkungen
type | Name |
---|---|
MOF | - sqlmgmprovider.mof (SQL Server 2022 (16.x) und höher)- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) und frühere Versionen) |
DLL | sqlmgmprovider.dll |
Namespace | \root\Microsoft\SqlServer\ComputerManagement10 |
Beispiel
Im folgenden Beispiel wird gezeigt, wie Werte für alle protokollierten Ereignisse in einer angegebenen Protokolldatei abgerufen werden. Ersetzen Sie < zum Ausführen des Beispiels Instance_Name> durch den Namen der Instanz von SQL Server, z. B. "Instanz1", und ersetzen Sie "File_Name" durch den Namen der Fehlerprotokolldatei, z. B. "ERRORLOG.1".
on error resume next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\MICROSOFT\SqlServer\ComputerManagement10")
set logEvents = objWmiService.ExecQuery("SELECT * FROM SqlErrorLogEvent WHERE InstanceName = '<Instance_Name>' AND FileName = 'File_Name'")
For Each logEvent in logEvents
WScript.Echo "Instance Name: " & logEvent.InstanceName & vbNewLine _
& "Log Date: " & logEvent.LogDate & vbNewLine _
& "Log File Name: " & logEvent.FileName & vbNewLine _
& "Process Info: " & logEvent.ProcessInfo & vbNewLine _
& "Message: " & logEvent.Message & vbNewLine _
Next
Kommentare
Wenn InstanceName oder FileName in der WQL-Anweisung nicht angegeben werden, gibt die Abfrage Informationen für die Standardinstanz und die aktuelle SQL Server Protokolldatei zurück. Die folgende WQL-Anweisung gibt beispielsweise alle Protokollereignisse aus der aktuellen Protokolldatei (ERRORLOG) auf der Standardinstanz (MSSQLSERVER) zurück.
"SELECT * FROM SqlErrorLogEvent"
Sicherheit
Um über WMI eine Verbindung mit einer SQL Server Protokolldatei herzustellen, müssen Sie sowohl auf dem lokalen Computer als auch auf dem Remotecomputer über die folgenden Berechtigungen verfügen:
Lesezugriff auf den WMI-Namespace Root\Microsoft\SqlServer\ComputerManagement10 . Standardmäßig verfügt jeder Benutzer durch die Berechtigung Konto aktivieren über Lesezugriff.
Leseberechtigung für den Ordner mit den Fehlerprotokollen. Standardmäßig befinden sich die Fehlerprotokolle im folgenden Pfad (wobei <Drive> das Laufwerk darstellt, auf dem Sie SQL Server installiert haben, und <InstanceName> der Name der Instanz von SQL Server):
<Laufwerk>:\Programme\Microsoft SQL Server\MSSQL13.< InstanceName>\MSSQL\Log
Wenn Sie eine Verbindung über eine Firewall herstellen, stellen Sie sicher, dass in der Firewall für WMI auf Remotezielcomputern eine Ausnahme festgelegt ist. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit WMI remote ab Windows Vista.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für