SqlErrorLogFile 类
提供用于查看与 SQL Server 日志文件有关的信息的属性。
语法
class SQLErrorLogFile
{
uint32ArchiveNumber;
stringInstanceName;
datetimeLastModified;
uint32LogFileSize;
stringName;
};
属性
SQLErrorLogFile 类定义以下属性。
ArchiveNumber |
数据类型:uint32 访问类型:只读
日志文件的存档号。 |
InstanceName |
数据类型:string 访问类型:只读 限定符:键
日志文件所在的 SQL Server 实例的名称。 |
LastModified |
数据类型:datetime 访问类型:只读
上次修改日志文件的日期。 |
LogFileSize |
数据类型:uint32 访问类型:只读
日志文件大小(字节)。 |
Name |
数据类型:string 访问类型:只读 限定符:键
日志文件名。 |
注释
MOF |
Sqlmgmprovider xpsp2up.mof |
DLL |
Sqlmgmprovider.dll |
命名空间 |
\root\Microsoft\SqlServer\ComputerManagement10 |
示例
下面的示例检索与指定的 SQL Server 实例上的所有 SQL Server 日志文件有关的信息。若要运行该示例,请用实例的名称(例如“Instance1”)替换 <Instance_Name>。
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 实例的名称):
<Drive>:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\Log
如果您在通过防火墙进行连接,则请确保在防火墙中针对远程目标计算机上的 WMI 设置例外。 有关详细信息,请参阅 Connecting to WMI Remotely Starting with Windows Vista(使用 Windows Vista 连接到远程启动的 WMI)。