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 語句中未提供 InstanceName 或 FileName 時,查詢會傳回預設實例和目前 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。