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: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: 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: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Schlüssel

Der Name der Protokolldatei.

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 werden Informationen zu allen SQL Server Protokolldateien in einer angegebenen Instanz von SQL Server abgerufen. Um das Beispiel auszuführen, ersetzen Sie <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 angegeben 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 ü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.

    Hinweis

    Informationen zum Überprüfen von WMI-Berechtigungen finden Sie im Abschnitt Sicherheit des Themas Anzeigen von Offlineprotokolldateien.

  • 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\MSSQL11.< 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