Klasa SqlErrorLogFile

Dotyczy:SQL Server

Zapewnia właściwości do przeglądania informacji o pliku loga SQL Server.

Syntax

class SQLErrorLogFile
{
    uint32ArchiveNumber;
    stringInstanceName;
    datetimeLastModified;
    uint32LogFileSize;
    stringName;
};

Properties

Klasa SQLErrorLogFile definiuje następujące właściwości.

Property Description
ArchiveNumber Typ danych: uint32

Typ dostępu: Tylko do odczytu

Numer archiwum pliku loga.
NazwaInstancji Typ danych: ciągu

Typ dostępu: Tylko do odczytu

Kwalifikatory: Klucz

Nazwa instancji SQL Server, w której znajduje się plik logu.
OstatniaModyfikacja Typ danych: data/godzina

Typ dostępu: Tylko do odczytu

Data, w której plik logowy został ostatnio zmodyfikowany.
LogFileSize Typ danych: uint32

Typ dostępu: Tylko do odczytu

Rozmiar pliku logu w bajtach.
Name Typ danych: ciągu

Typ dostępu: Tylko do odczytu

Kwalifikatory: Klucz

Nazwa pliku loga.

Remarks

Typ Name
MOF - sqlmgmprovider.mof(SQL Server 2022 (16.x) i późniejsze wersje)
- sqlmgmproviderxpsp2up.mof(SQL Server 2019 (15.x) i wcześniejsze wersje)
DLL sqlmgmprovider.dll
Namespace \root\Microsoft\SqlServer\ComputerManagement10

Example

Poniższy przykład pobiera informacje o wszystkich plikach logów SQL Server na określonej instancji SQL Server. Aby uruchomić przykład, zastąp <Instance_Name> nazwą instancji, na przykład '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

Comments

Gdy InstanceName nie jest podana w instrukcji WQL, zapytanie zwraca informacje dla domyślnej instancji. Na przykład następująca instrukcja WQL zwraca informacje o wszystkich plikach logów z domyślnej instancji (MSSQLSERVER).

"SELECT * FROM SqlErrorLogFile"

Zabezpieczenia

Aby połączyć się z plikiem logu SQL Server przez WMI, musisz posiadać następujące uprawnienia zarówno na komputerze lokalnym, jak i zdalnym:

  • Dostęp do odczytu przestrzeni nazw Root\Microsoft\SqlServer\ComputerManagement10 WMI. Domyślnie wszyscy mają dostęp do odczytu dzięki uprawnieniu "Enable Account".

    Uwaga / Notatka

    Aby uzyskać informacje o weryfikacji uprawnień WMI w sekcji Bezpieczeństwo w temacie Wyświetlaj pliki logów offline.

  • Uprawnienia do odczytu do folderu, w którym znajdują się logi błędów. Domyślnie logi błędów znajdują się w następującej ścieżce (gdzie <Drive> oznacza dysku, na którym zainstalowałeś SQL Server, a <InstanceName> to nazwa instancji SQL Server):

    <Drive>:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\Log

Jeśli łączysz się przez zaporę, upewnij się, że w zaporze jest ustawiony wyjątek dla WMI na zdalnych komputerach docelowych. Więcej informacji można znaleźć w artykule Łączenie z WMI zdalnie z pomocą Windows Vista.