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.