Descripción del problema : Al restaurar una base de datos de copia de seguridad a otro servidor, puede encontrar el siguiente mensaje de error cuando intenta conectarse.

Msg 916, Level 14, State 1, Line 1
La entidad de servidor " sqlLoginName " no puede tener acceso a la base de datos " myDatabaseName " en el contexto de seguridad actual


Causa : Al restaurar una base de datos de copia de seguridad a otro servidor, puede experimentar problemas con usuarios huérfanos. Es decir que el sistema SID sysuser punto de vista no se asigna a un SID syslogins existentes.

 
Resolución : Para detectar los usuarios huérfanos puede ejecutar el siguiente comando:
USE <myDatabaseName>
sp_change_users_login  @Action='Report';


Usted puede ver que el SID no coincide con los puntos de vista del sistema: sys.sysusers y sys.syslogins
USE <myDatabaseName>
SELECT sid FROM sys.sysusers WHERE name = 'sqlLoginName'
SELECT sid FROM sys.syslogins WHERE name = 'sqlLoginName'

Para corregir este problema de conexión entre la cuenta de conexión con el servidor especificado por el usuario y <login_name> la base de datos especificada por <database_user>, puede ejecutar el siguiente comando.
USE <myDatabaseName>
EXEC  sp_change_users_login @Action='update_one', @UserNamePattern='sqlLoginName',@LoginName=' sqlLoginName '; 


Para obtener más información :


Solucionar problemas de usuarios huérfanos
http://msdn.microsoft.com/es-es/library/ms175475.aspx

PRB: El tema "Solucionar problemas de usuarios huérfanos" de los Libros en pantalla está incompleto
http://support.microsoft.com/kb/274188/

sp_addlogin (Transact-SQL)
http://msdn.microsoft.com/es-es/library/ms173768.aspx

 

 

Michel Degremont| Microsoft EMEA
Product Support Services Developer -SQL Server Core Engineer |