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 http://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


Comments (0)