Notas sobre el xp_readerrorlog

Porque siempre que busco algo no me acuerdo como hacerlo… hace poco necesitaba buscar un problemita de SQL Server en el Error Log, pero la interfaz grafica estaba tan cargada que me resulto una molestia mas que una ayuda. Fue en ese entonces que recordé estas notas sobre el xp_readerrorlog para hacer una búsqueda rápida y practica.

xp_readerrorlog tiene cuatro parámetros:

1.EXEC Xp_readerrorlog 0

El 0 aquí es el número de archivo de log, donde 0 es el mas reciente y se incrementa por la misma secuencia de archivos. Así que esto va a mostrar el archivo de registro de errores actual mientras se incrementa el número se mostrará posteriormente el que se dio la vuelta para continuar.

2.EXEC Xp_readerrorlog 0, 1

El segundo parámetro, tiene dos valores
1. error log
2. agent log
Si, para filtrar que log ver.

EXEC Xp_readerrorlog 0, 1

xp1

xp2

3.EXEC Xp_readerrorlog 0, 1, ‘algo’

Para buscar ‘algo’ en el log

xp3

4.EXEC Xp_readerrorlog 0, 1, ‘algo’, ‘aca’

Buscara, ambas palabras

xp4

EJEMPLOS:

xp_readerrorlog -> Reads the current SQL Server errorlog

xp_readerrorlog 3 -> Muestra el 3er archivo de log, el “errorlog.3”

xp_readerrorlog 3, 2 -> Muestra el 3er archivo de log del agante

xp_readerrorlog -1, 2, “ab” -> Lee el archivo de log actual del agente, mostrando los registros que contengan “ab”

xp_readerrorlog 1, 2, “ab”, “cd” -> Lee el archivo de log del Agnete, el numero 1 pero retorna los registros que contienen “ab” Y “cd”

xp_readerrorlog [-1 – n], 3, database_id, fulltext_catalog_id -> Lee el log “full text”

Nota: El segundo parametro es:

  1.  SQLServer logs
  2. SQLAgent logs
  3. Full text logs

Si se omite, se asume SQLServer log

Adicionalmente los parametros 5to, 6to y 7mo son usados para filtrar por fecha de inicio, fin y el ordenamiento:

xp_readerrorlog -1, 1, NULL, NULL, ’2004-09-01?, ’2004-09-02?, [‘asc’ | ‘desc’] -> LLe el SQL Server error log empezando el 2004-09-01 hasta el 2004-09-02.

 

También se puede incluir la hora para acotar el rango de fecha. Y no voy a explicar el ‘asc’ / ‘desc’ ;P

Para ampliar el numero de arhivos de log, hay que modificar el registro de windows, agregando la entrada “NumErrorLogs” (REG_DWORD) en la ruta.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQL.X\MSSQLServer\

Basado en las notas de sqltechie.com y mssqlwiki.com