SqlErrorLogFile 类

适用于SQL Server

提供用于查看有关 SQL Server 日志文件的信息的属性。

语法

class SQLErrorLogFile
{
    uint32ArchiveNumber;
    stringInstanceName;
    datetimeLastModified;
    uint32LogFileSize;
    stringName;
};

属性

SQLErrorLogFile 类定义以下属性。

properties 说明
ArchiveNumber 数据类型:uint32

访问类型:只读

日志文件的存档号。
InstanceName 数据类型:字符串

访问类型:只读

限定符:Key

日志文件所在的 SQL Server 实例的名称。
LastModified 数据类型:datetime

访问类型:只读

上次修改日志文件的日期。
LogFileSize 数据类型:uint32

访问类型:只读

日志文件大小(字节)。
名称 数据类型:字符串

访问类型:只读

限定符:Key

日志文件名。

注解

类型 名称
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) 及更高版本)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) 和早期版本)
DLL sqlmgmprovider.dll
命名空间 \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 实例的名称):

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

如果要通过防火墙进行连接,请确保在远程目标计算机上的 WMI 防火墙中设置异常。 有关详细信息,请参阅 从 Windows Vista 远程连接到 WMI。

另请参阅