SqlErrorLogFile 類別
適用於:SQL Server
提供屬性來檢視 SQL Server 記錄檔的相關信息。
語法
class SQLErrorLogFile
{
uint32ArchiveNumber;
stringInstanceName;
datetimeLastModified;
uint32LogFileSize;
stringName;
};
屬性
SQLErrorLogFile 類別會定義下列屬性。
屬性 | 說明 |
---|---|
ArchiveNumber | 數據類型: uint32 存取類型:唯讀 記錄檔的封存編號。 |
InstanceName | 數據類型: 字串 存取類型:唯讀 限定詞:索引鍵 記錄檔所在的 SQL Server 實例名稱。 |
LastModified | 數據類型: datetime 存取類型:唯讀 上次修改記錄檔的日期。 |
LogFileSize | 數據類型: uint32 存取類型:唯讀 記錄檔大小,以位元組為單位。 |
名稱 | 數據類型: 字串 存取類型:唯讀 限定詞:索引鍵 記錄檔的名稱。 |
備註
類型 | 名稱 |
---|---|
MOF | - sqlmgmprovider.mof (SQL Server 2022 (16.x) 和更新版本)- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) 和舊版) |
DLL | sqlmgmprovider.dll |
Namespace | \root\Microsoft\SqlServer\ComputerManagement10 |
範例
下列範例會擷取指定之 SQL Server 實例上所有 SQL Server 記錄檔的相關信息。 若要執行此範例,請將 Instance_Name> 取代<為 實例的名稱,例如 '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
註解
當 WQL 語句中未提供 InstanceName 時,查詢會傳回預設實例的資訊。 例如,下列 WQL 語句會傳回預設實例 (MSSQLSERVER) 中所有記錄檔的相關信息。
"SELECT * FROM SqlErrorLogFile"
安全性
若要透過 WMI 連線到 SQL Server 記錄檔,您必須在本機和遠端電腦上具有下列許可權:
Root\Microsoft\SqlServer\ComputerManagement10 WMI 命名空間的讀取許可權。 根據預設,每個人都可從啟用帳戶權限取得讀取權限。
注意
如需如何驗證 WMI 許可權的詳細資訊,請參閱檢視離線記錄檔主題的安全性一節。
包含錯誤記錄檔之資料夾的讀取許可權。 根據預設,錯誤記錄檔位於下列路徑中(其中 <Drive> 代表您安裝 SQL Server 的磁碟驅動器,<而 InstanceName> 是 SQL Server 實例的名稱):
<磁碟驅動器>:\Program Files\Microsoft SQL Server\MSSQL11 。<InstanceName>\MSSQL\Log
如果您要透過防火牆連線,請確定遠端目標電腦上的 WMI 防火牆中已設定例外狀況。 如需詳細資訊,請參閱 從 Windows Vista 遠端連線到 WMI。