Share via


SqlErrorLogEvent 類別

適用於:SQL Server

提供屬性,以檢視指定之SQL Server記錄檔中的事件。

語法

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

屬性

SQLErrorLogEvent 類別會定義下列屬性。

屬性 說明
FileName 資料類型: 字串

存取類型:唯讀

錯誤記錄檔的名稱。
InstanceName 資料類型: 字串

存取類型:唯讀

限定詞:索引鍵

記錄檔所在SQL Server實例的名稱。
LogDate 資料類型: datetime

存取類型:唯讀

限定詞:索引鍵

將事件記錄到記錄檔中的日期和時間。
訊息 資料類型: 字串

存取類型:唯讀

事件訊息。
ProcessInfo 資料類型: 字串

存取類型:唯讀

事件之來源伺服器處理序識別碼 (SPID) 的相關資訊。

備註

類型 名稱
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) 和更新版本)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) 和舊版)
DLL sqlmgmprovider.dll
命名空間 \root\Microsoft\SqlServer\ComputerManagement10

範例

下列範例會顯示如何擷取指定的記錄檔中所有已記錄事件的值。 若要執行此範例,請將Instance_Name> 取代 < 為 SQL Server 實例的名稱,例如 'Instance1',並將 'File_Name' 取代為錯誤記錄檔的名稱,例如 '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

註解

WQL語句中未提供 InstanceName 或FileName時,查詢會傳回預設實例和目前SQL Server記錄檔的資訊。 例如,下列 WQL 語句會傳回目前記錄檔中的所有記錄事件, (ERRORLOG) 預設實例 (MSSQLSERVER) 。

"SELECT * FROM SqlErrorLogEvent"

安全性

若要透過 WMI 連線到SQL Server記錄檔,您必須具有本機和遠端電腦上的下列許可權:

  • Root\Microsoft\SqlServer\ComputerManagement10 WMI 命名空間的讀取權限。 根據預設,每個人都可從啟用帳戶權限取得讀取權限。

  • 包含錯誤記錄檔之資料夾的讀取權限。 根據預設,錯誤記錄檔位於下列路徑 (,其中 <Drive >代表您安裝SQL Server的磁片磁碟機,而 <InstanceName> 是 SQL Server) 實例的名稱:

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

如果您要透過防火牆連線,請確定遠端目的電腦上的 WMI 防火牆中已設定例外狀況。 如需詳細資訊,請參閱 從 Windows Vista 遠端連線到 WMI

另請參閱