SqlErrorLogEvent, clase
Proporciona las propiedades para ver los eventos en un archivo de registro SQL Server especificado.
Sintaxis
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Propiedades
La clase SQLErrorLogEvent define las propiedades siguientes.
FileName |
Tipo de datos: string Tipo de acceso: De solo lectura
El nombre del archivo de registro de errores. |
InstanceName |
Tipo de datos: string Tipo de acceso: De solo lectura Calificadores: Clave El nombre de la instancia de SQL Server donde reside el archivo de registro. |
LogDate |
Tipo de datos: datetime Tipo de acceso: De solo lectura Certificadores: Clave
Fecha y hora en que el evento se grabó en el archivo de registro. |
Message |
Tipo de datos: string Tipo de acceso: De solo lectura
Mensaje del evento. |
ProcessInfo |
Tipo de datos: string Tipo de acceso: De solo lectura
Información sobre el identificador del proceso del servidor de origen (SPID) para el evento. |
Comentarios
MOF |
Sqlmgmproviderxpsp2up.mof |
DLL |
Sqlmgmprovider.dll |
Espacio de nombres |
\raíz\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, por ejemplo, "Instancia1" 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 devolverá información para la instancia predeterminada y el archivo de registro de SQL Server actual. Por ejemplo, la siguiente instrucción WQL devolverá 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 siguientes permisos en los equipos local y remoto:
Acceso de lectura al espacio de nombres de WMI raíz\Microsoft\SqlServer\ComputerManagement10. 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 siguiente ruta de acceso (donde <unidad> representa la unidad donde se instaló SQL Server y <nombreDeInstancia> es el nombre de la instancia de SQL Server):
<unidad>:\Archivos de programa\Microsoft SQL Server\MSSQL11.<nombreDeInstancia>\MSSQL\Log
Si se conecta a través de un firewall, asegúrese de que se establece una excepción en el firewall para WMI en los equipos de destino remotos. Para obtener más información, vea el tema sobre conexión remota a WMI a partir de Windows Vista.