SqlErrorLogFile 类

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

语法

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

属性

SQLErrorLogFile 类定义以下属性。

ArchiveNumber 数据类型:uint32

访问类型:只读



日志文件的存档号。
InstanceName 数据类型:string

访问类型:只读

限定符:Key



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

访问类型:只读



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

访问类型:只读



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

访问类型:只读

限定符:Key



日志文件名。

注解

MOF Sqlmgmprovider xpsp2up.mof
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。

另请参阅

SqlErrorLogEvent 类
查看脱机日志文件