SqlErrorLogFile-Klasse
Gilt für: SQL Server
Stellt Eigenschaften zum Anzeigen von Informationen zu einer SQL Server-Protokolldatei bereit.
Syntax
class SQLErrorLogFile
{
uint32ArchiveNumber;
stringInstanceName;
datetimeLastModified;
uint32LogFileSize;
stringName;
};
Eigenschaften
Die SQLErrorLogFile-Klasse definiert die folgenden Eigenschaften.
Eigenschaft | Beschreibung |
---|---|
ArchiveNumber | Datentyp: uint32 Zugriffstyp: Schreibgeschützt Die Archivnummer für die Protokolldatei. |
InstanceName | Datentyp: Zeichenfolge Zugriffstyp: Schreibgeschützt Kennzeichner: Schlüssel Der Name der Instanz von SQL Server, in der sich die Protokolldatei befindet. |
LastModified | Datentyp: datetime Zugriffstyp: Schreibgeschützt Das Datum, an dem die Protokolldatei zuletzt geändert wurde. |
LogFileSize | Datentyp: uint32 Zugriffstyp: Schreibgeschützt Die Größe der Protokolldatei in Bytes. |
Name | Datentyp: Zeichenfolge Zugriffstyp: Schreibgeschützt Kennzeichner: Schlüssel Der Name der Protokolldatei. |
Hinweise
type | Name |
---|---|
MOF | - sqlmgmprovider.mof (SQL Server 2022 (16.x) und höhere Versionen)- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) und frühere Versionen) |
DLL | sqlmgmprovider.dll |
Namespace | \root\Microsoft\SqlServer\ComputerManagement10 |
Beispiel
Im folgenden Beispiel werden Informationen zu allen SQL Server-Protokolldateien in einer angegebenen Instanz von SQL Server abgerufen. Ersetzen Sie <zum Ausführen des Beispiels Instance_Name> durch den Namen der Instanz, z. B. "Instance1".
on error resume next
set strComputer = "."
set objWMIService = GetObject("winmgmts:\\.\root\Microsoft\SqlServer\ComputerManagement10")
set LogFiles = objWmiService.ExecQuery("SELECT * FROM SqlErrorLogFile WHERE InstanceName = '<Instance_Name>'")
For Each logFile in LogFiles
WScript.Echo "Instance Name: " & logFile.InstanceName & vbNewLine _
& "Log File Name: " & logFile.Name & vbNewLine _
& "Archive Number: " & logFile.ArchiveNumber & vbNewLine _
& "Log File Size: " & logFile.LogFileSize & " bytes" & vbNewLine _
& "Last Modified: " & logFile.LastModified & vbNewLine _
Next
Kommentare
Wenn InstanceName in der WQL-Anweisung nicht bereitgestellt wird, gibt die Abfrage Informationen für die Standardinstanz zurück. Die folgende WQL-Anweisung gibt beispielsweise Informationen zu allen Protokolldateien aus der Standardinstanz (MSSQLSERVER) zurück.
"SELECT * FROM SqlErrorLogFile"
Sicherheit
Um eine Verbindung mit einer SQL Server-Protokolldatei über WMI herzustellen, müssen Sie über die folgenden Berechtigungen für die lokalen und Remotecomputer verfügen:
Lesezugriff auf den WMI-Namespace "Root\Microsoft\SqlServer\ComputerManagement10 ". Standardmäßig verfügt jeder Benutzer durch die Berechtigung Konto aktivieren über Lesezugriff.
Hinweis
Informationen zum Überprüfen von WMI-Berechtigungen finden Sie im Abschnitt "Sicherheit" des Themas "Offlineprotokolldateien anzeigen".
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> ist der Name der Instanz von SQL Server):
<Laufwerk>:\Programme\Microsoft SQL Server\MSSQL11 .<InstanceName>\MSSQL\Log
Wenn Sie eine Verbindung über eine Firewall herstellen, stellen Sie sicher, dass eine Ausnahme in der Firewall für WMI auf Remotezielcomputern festgelegt ist. Weitere Informationen finden Sie unter Herstellen einer Remoteverbindung mit WMI ab Windows Vista.