La entidad de servidor "sqlLoginName" no puede tener acceso a la base de datos "myDatabaseName" en el contexto de seguridad actual
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
https://msdn.microsoft.com/es-es/library/ms175475.aspx
PRB: El tema "Solucionar problemas de usuarios huérfanos" de los Libros en pantalla está incompleto
https://support.microsoft.com/kb/274188/
sp_addlogin (Transact-SQL)
https://msdn.microsoft.com/es-es/library/ms173768.aspx
Michel Degremont| Microsoft EMEA
Product Support Services Developer -SQL Server Core Engineer |