Bagikan melalui


Kelas SqlErrorLogEvent

Berlaku untuk: SQL Server

Menyediakan properti untuk melihat peristiwa dalam file log SQL Server tertentu.

Sintaks

class SQLErrorLogEvent
{
    stringFileName;
    stringInstanceName;
    datetimeLogDate;
    stringMessage;
    stringProcessInfo;
};

Properti

Kelas SQLErrorLogEvent menentukan properti berikut.

Properti Deskripsi
FileName Jenis data: string

Jenis akses: Baca-saja

Nama file log kesalahan.
InstanceName Jenis data: string

Jenis akses: Baca-saja

Kualifikasi: Kunci

Nama instans SQL Server tempat file log berada.
LogDate Jenis data: tanggalwaktu

Jenis akses: Baca-saja

Kualifikasi: Kunci

Tanggal dan waktu peristiwa direkam dalam file log.
Pesan Jenis data: string

Jenis akses: Baca-saja

Pesan acara.
ProcessInfo Jenis data: string

Jenis akses: Baca-saja

Informasi tentang ID proses server sumber (SPID) untuk peristiwa tersebut.

Keterangan

Jenis Nama
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) dan versi yang lebih baru)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) dan versi yang lebih lama)
DLL sqlmgmprovider.dll
Ruang nama \root\Microsoft\SqlServer\ComputerManagement10

Contoh

Contoh berikut menunjukkan cara mengambil nilai untuk semua peristiwa yang dicatat dalam file log tertentu. Untuk menjalankan contoh, ganti <Instance_Name> dengan nama instans SQL Server, seperti 'Instance1', dan ganti 'File_Name' dengan nama file log kesalahan, seperti '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

Komentar

Saat InstanceName atau FileName tidak disediakan dalam pernyataan WQL, kueri mengembalikan informasi untuk instans default dan file log SQL Server saat ini. Misalnya, pernyataan WQL berikut mengembalikan semua peristiwa log dari file log saat ini (ERRORLOG) pada instans default (MSSQLSERVER).

"SELECT * FROM SqlErrorLogEvent"

Keamanan

Untuk menyambungkan ke file log SQL Server melalui WMI, Anda harus memiliki izin berikut pada komputer lokal dan jarak jauh:

  • Baca akses ke namespace Layanan WMI Root\Microsoft\SqlServer\ComputerManagement10 . Secara default, setiap orang memiliki akses baca melalui izin Aktifkan Akun.

  • Izin baca ke folder yang berisi log kesalahan. Secara default, log kesalahan terletak di jalur berikut (di mana <Drive> mewakili drive tempat Anda menginstal SQL Server dan <InstanceName> adalah nama instans SQL Server):

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

Jika Anda tersambung melalui firewall, pastikan bahwa pengecualian diatur dalam firewall untuk WMI pada komputer target jarak jauh. Untuk informasi selengkapnya, lihat Menyambungkan ke WMI Dari Jarak Jauh Dimulai dengan Windows Vista.

Lihat juga