Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt Eigenschaften zur Anzeige von Ereignissen in einer SQL Server-Protokolldatei bereit.
Syntax
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Eigenschaften
Die SQLErrorLogEvent-Klasse definiert die folgenden Eigenschaften.
FileName |
Datentyp: string Zugriffstyp: Schreibgeschützt
Der Name der Fehlerprotokolldatei. |
InstanceName |
Datentyp: string Zugriffstyp: Schreibgeschützt Qualifizierer: Key Der Name der Instanz von SQL Server, die die Protokolldatei enthält. |
LogDate |
Datentyp: datetime Zugriffstyp: Schreibgeschützt Qualifizierer: Key
Datum und Uhrzeit, zu denen das Ereignis in der Protokolldatei aufgezeichnet wurde. |
Message |
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. |
Hinweise
MOF |
Sqlmgmproviderxpsp2up.mof |
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 <Instanzname> durch den Namen der SQL Server-Instanz, beispielsweise 'Instance1', und ersetzen Sie 'Dateiname' durch den Namen der Fehlerprotokolldatei, beispielsweise '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 bereitgestellt werden, gibt die Abfrage Informationen für die Standardinstanz und die aktuelle SQL Server-Protokolldatei zurück. Die folgende WQL-Anweisung gibt z. B. alle Protokollereignisse aus der aktuellen Protokolldatei (ERRORLOG) für die Standardinstanz (MSSQLSERVER) zurück.
"SELECT * FROM SqlErrorLogEvent"
Sicherheit
Wenn Sie eine Verbindung mit einer SQL Server-Protokolldatei über WMI herstellen möchten, müssen Sie auf dem lokalen und dem Remotecomputer über die folgenden Berechtigungen verfügen:
Lesezugriff für den Root\Microsoft\SqlServer\ComputerManagement10-WMI-Namespace. Standardmäßig hat jeder Benutzer Lesezugriff durch die Berechtigung Konto aktivieren.
Leseberechtigung für den Ordner mit den Fehlerprotokollen. Standardmäßig werden Fehlerprotokolle im folgenden Pfad abgelegt (wobei <Laufwerk> für das Laufwerk steht, auf dem Sie SQL Server installiert haben, <Instanzname> steht für den Namen der SQL Server-Instanz):
<Laufwerk>:\Programme\Microsoft SQL Server\MSSQL11..<Instanzname>\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 Remoteverbindungen mit WMI ab Windows Vista (möglicherweise in englischer Sprache).