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