El problema es que la restauración recupera a los usuarios de db de la instancia del servidor original, pero la nueva instancia generalmente no sabe nada de los inicios de sesión de los usuarios. Los verá en Seguridad en el nivel de base de datos, pero no tienen los inicios de sesión de nivel de servidor correspondientes.
Debe volver a conectar los usuarios de la base de datos con los inicios de sesión del servidor en la instancia en la que restauró la base de datos.
Hay un par de formas de hacerlo:
Cree nuevos inicios de sesión para ellos en la nueva instancia. Luego deberá eliminarlos como usuarios de la base de datos en la nueva instancia y agregar sus nuevos inicios de sesión. Esto parece extraño dado que puede crear los mismos nombres de inicio de sesión, pero los SID (identificadores de seguridad) serán diferentes y eso es lo que SQL usa para la identificación del usuario. Esto es lo suficientemente fácil para uno o dos inicios de sesión.
Si desea mantener los mismos usuarios, manteniendo los mismos SID, en todas las instancias, utilice el procedimiento almacenado sp_help_revlogin . Copie el código del enlace que creará los procedimientos almacenados necesarios y ejecútelo en el servidor desde el que desea copiar los usuarios. Generará un script SQL que puede ejecutar en su servidor de destino para crear los mismos usuarios que transportan SID, contraseñas, todo. Este es el camino a seguir si tiene muchos usuarios de bases de datos que necesita volver a conectar en la instancia de destino o si no conoce las contraseñas de uno o más inicios de sesión de SQL en la instancia de origen.
EXEC sp_change_users_login 'Auto_Fix', 'User', NULL, 'password';
lugar. :)