Compartir vía


Clase SqlErrorLogEvent

Se aplica a: SQL Server

Proporciona propiedades para ver eventos en un archivo de registro de SQL Server especificado.

Sintaxis

class SQLErrorLogEvent
{
    stringFileName;
    stringInstanceName;
    datetimeLogDate;
    stringMessage;
    stringProcessInfo;
};

Propiedades

La clase SQLErrorLogEvent define las siguientes propiedades.

Propiedad Descripción
FileName Tipo de datos: cadena

Tipo de acceso: solo lectura

El nombre del archivo de registro de errores.
InstanceName Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: Key

Nombre de la instancia de SQL Server donde reside el archivo de registro.
LogDate Tipo de datos: fecha/hora

Tipo de acceso: solo lectura

Calificadores: Key

Fecha y hora en que el evento se grabó en el archivo de registro.
Mensaje Tipo de datos: cadena

Tipo de acceso: solo lectura

Mensaje del evento.
ProcessInfo Tipo de datos: cadena

Tipo de acceso: solo lectura

Información sobre el identificador del proceso del servidor de origen (SPID) para el evento.

Comentarios

Tipo Nombre
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) y versiones posteriores)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) y versiones anteriores)
Archivo DLL sqlmgmprovider.dll
Espacio de nombres \root\Microsoft\SqlServer\ComputerManagement10

Ejemplo

En el siguiente ejemplo se muestra cómo recuperar los valores para todos los eventos anotados en un archivo de registro especificado. Para ejecutar el ejemplo, reemplace <Instance_Name> por el nombre de la instancia de SQL Server, como "Instance1" y reemplace "File_Name" por el nombre del archivo de registro de errores, como "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

Comentarios

Cuando InstanceName o FileName no se proporcionan en la instrucción WQL, la consulta devuelve información para la instancia predeterminada y el archivo de registro de SQL Server actual. Por ejemplo, la siguiente instrucción WQL devuelve todos los eventos de registro del archivo de registro actual (ERRORLOG) en la instancia predeterminada (MSSQLSERVER).

"SELECT * FROM SqlErrorLogEvent"

Seguridad

Para conectarse a un archivo de registro de SQL Server a través de WMI, debe tener los permisos siguientes en los equipos locales y remotos:

  • Acceso de lectura al espacio de nombres Root\Microsoft\SqlServer\ComputerManagement10 WMI. De forma predeterminada, todos tienen acceso de lectura mediante el permiso Habilitar cuenta.

  • Permiso de lectura a la carpeta que contiene los registros de errores. De forma predeterminada, los registros de errores se encuentran en la ruta de acceso siguiente (donde <Drive> representa la unidad donde instaló SQL Server e <InstanceName> es el nombre de la instancia de SQL Server):

    <Unidad>:\Archivos de programa\Microsoft SQL Server\MSSQL13 .<InstanceName>\MSSQL\Log

Si se conecta a través de un firewall, asegúrese de que hay una excepción establecida en el firewall para WMI en equipos de destino remotos. Para obtener más información, consulte Conexión a WMI de forma remota a partir de Windows Vista.

Consulte también