martes, 12 de junio de 2012

Login failed for user 'NT AUTHORITY \ SERVICIO LOCAL'

Analizando los logs de SQL Server te puedes encontrar con algo del tipo Login failed for user 'NT AUTHORITY\SERVICIO LOCAL'. Motivo: fallo de la validación de acceso al servidor basada en autorización de token con un error de infraestructura. Compruebe los errores anteriores. [CLIENTE: local machine] que se repite de forma periódica cada X tiempo.


¿A qué puede deberse este mensaje? Bien, lo primero que haremos es averiguar de dónde procede. Desde el mismo SSMS abrimos la herramienta SQL Profiler.


Creamos una nueva traza donde:
  1. En la pestaña Events Selection desmarcamos todos los elementos.
  2. En la parte inferior de la misma pestaña marcamos las opciones Show all events y Show all columns.
  3. En la lista de eventos, dentro del grupo Security audit seleccionamos la opción Audit Login Failed.
  4. Ejecutamos la traza.
  5. En la columna ApplicationName nos mostrará la aplicación que está generando ese mensaje en el log. En el caso que mostramos figuraba Report Server; en la columna DatabaseName encontramos el nombre de la base de datos a la que se está intentando realizar la conexión.
En este punto hemos detectado la aplicación que genera en el log de SQL Server la entrada "Login failed for user...", es cuestión de analizar qué realiza esa aplicación y el porqué del error.

En el caso que se muestra aparece ApplicationName=Report Server, el error se debía a que habíamos migrado el servidor SQL Server, se había hecho una nueva instalación que incluía SSRS (Reporting Services) cuando no era necesario y posteriormente se restauraron en el nuevo servidor las bases de datos de sistema del servidor original (master, model y msdb).

Al restaurar las 3 bases de datos anteriores se perdió el inicio de sesión NT AUTHORITY\SERVICIO LOCAL que justamente es el que tenía configurado SSRS para arrancar y el que generaba los mensajes de "Login failed for user..." en el log.


¿Cómo lo solucionamos?
  1. Abrimos en el servidor la herramienta Sql Server Configuration Manager.
  2. Seleccionamos SQL Server Reporting Services, pulsamos botón derecho del ratón y seleccionamos Stop para detener el servicio. Con esto el problema ha quedado resuelto, ya no se generan más entradas en el log pero… nos queda un último paso.
  3. Una vez detenido el servicio volvemos a pulsar botón derecho del ratón sobre SQL Server Reporting Services, y seleccionamos Properties, vamos a la pestaña Service y cambiamos la propiedad Start Mode de Automatic a Manual; de esta manera cuando se reinicie el servidor no volverá a arrancarse el servicio de forma automática y así evitamos que SSRS vuelva a originar el mensaje en el log de SQL Server.
  4. Aceptamos en el cambio en la pantalla de Propiedades y cerramos la herramienta Sql Server Configuration Manager, el problema ha quedado solucionado.
Es un buen caso para ver cómo con la herramienta SQL Profiler podemos analizar de dónde vienen ciertas entradas del log de SQL Server.

Dentro de areaTIC puedes encontrar otros artículos interesantes, no dudes en consultar nuestro archivo.


LECTURAS RELACIONADAS RECOMENDADAS POR AREATIC.NET

No hay comentarios:

Publicar un comentario