Por qué me pueden aparecer errores de acceso al ERRORLOG cuando mi instancia de SQL Server funciona correctamente?

Tenemos un cluster de 2 nodos, con varias instancias cluster de SQL Server 2000 SP4. Una de ella se llama SERVIDOR\Instancia.

En los logs de aplicación y sistema aparecen mensajes poniendo en evidencia problemas de acceso de la instancia SERVIDOR\Instancia a su errorlog, y caídas de servicio del agente SQL de esta misma instancia.

No aparecen errores con las demás instancias.

Lo más curioso es que la instancia SERVIDOR\Instancia funciona correctamente en cualquiera de los nodos. No hay caída de servicio ni problema para arrancarlo (lo que pasaría si realmente tuviese un problema de acceso al errorlog), la instancia se ejecuta correctamente.

Los errores que aparecen son:

LOG DE SISTEMA

Event Type: Error

Event Source: MSSQL$Instancia

Event Category: (2)

Event ID: 17055

Date: 01/01/2009

Time: 00:00:01

User: N/A

Computer: Nodo1

Description:

17050 :

initerrlog: Could not open error log file 'X:\Program Files\Microsoft SQL Server\MSSQL$Instancia\log\ERRORLOG'. Operating system error = 21(The device is not ready.).

LOG DE APLICACIÓN

Event Type: Error

Event Source: Service Control Manager

Event Category: None

Event ID: 7001

Date: 01/01/2009

Time: 00:00:01

User: N/A

Computer: Nodo1

Description:

The SQLAgent$INSTANCIA service depends on the MSSQL$INSTANCIA service which failed to start because of the following error:

The operation completed successfully.

For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.

Se puede ver incluso que estos mensajes son generados con intervalos regulares (cada 4 minutos por defecto).

Podemos notar también que cuando ejecutamos un job que escribe en un fichero FicheroDelJob.out ubicado en la misma unidad de disco que los ficheros de datos de la instancia SERVIDOR\Instancia (en nuestro ejemplo X:), se ve que el job se ejecuta perfectamente, y el fichero FicheroDelJob.out contiene la información de la ejecución.

Sin embargo, el log de sistema registra el error siguiente:

Event Type: Error

Event Source: HPOV-MAA

Event Category: None

Event ID: 1024

Date: 01/01/2009

Time: 10:21:34

User: N/A

Computer: Nodo1

Description:

Cannot read contents of file X:\Program Files\Microsoft SQL Server\MSSQL$INSTANCIA\FicheroDelJob.out.

System Error Number: 21 (15) - The device is not ready.

 (OpC20-64)

Si ejecutamos un Process Monitor en el momento en que aparecen esos mensajes, podemos identificar el evento siguiente:

 

00:04:01,9509055 opcmona.exe 4884 ReadFile C:\Program Files\HP OpenView\Installed Packages\{790c06b4-844e-11d2-972b-080009ef8c2a}\tmp\OpC\monagtq SUCCESS Offset: 0, Length: 36

Date & Time: 01/01/2009 00:04:01

Event Class: File System

Operation: ReadFile

Result: SUCCESS

Path: C:\Program Files\HP OpenView\Installed Packages\{790c06b4-844e-11d2-972b-080009ef8c2a}\tmp\OpC\monagtq

TID: 8164

Duration: 0.0000249

Offset: 0

Length: 36

Al deshabilitar el servicio del HP OpenView Performance Agent (OVPA) los mensajes dejan de aparecer. Reinstalar HP OpenView puede hacer desaparecer los mensajes por completo.

 

 

Marcos Celada

Ingeniero de Soporte de SQL Server