共用方式為


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
Namespace \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 語句中未提供 InstanceNameFileName,查詢會傳回預設實例和目前 SQL Server 記錄檔的資訊。 例如,下列 WQL 語句會從預設實例 (MSSQLSERVER) 上目前的記錄檔 (ERRORLOG) 傳回所有記錄事件。

"SELECT * FROM SqlErrorLogEvent"

安全性

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

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

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

    <磁碟驅動器>:\Program Files\Microsoft SQL Server\MSSQL13 。<InstanceName>\MSSQL\Log

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

另請參閱