Acabo de importar una base de datos de producción SQL Server 2008r2 existente en un proyecto de base de datos VS 2013.
Ahora recibo varios errores en la línea de
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Realmente no necesito mi proyecto VS DB para administrar usuarios, pero me preocupa que intente eliminarlos al implementarlos si no estuvieran allí.
Los archivos mismos se generan como
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
o
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
El marcador de error muestra que es específicamente para el inicio de sesión . Como se trata de un objeto a nivel de sistema, puedo entender que está fuera del alcance del proyecto db.
¿Es preferible que los cambie a todos?
CREATE USER [mydbuser] WITHOUT LOGIN;
o agregue la CREATE LOGIN
cláusula al comienzo de cada archivo?
Eliminar la referencia de inicio de sesión parece ser más simple y eliminar a los usuarios por completo sería lo más simple.
Quiero asegurarme de que estoy usando la herramienta de la manera prevista. ¿Habrá algún problema al volver a publicar alguno de los que vuelven a la producción? ¿Cuál es el procedimiento adecuado para agregar un usuario / inicio de sesión a través de un proyecto?
Respuestas:
La forma más fácil es no administrar usuarios a través de ssdt (la mayoría de las personas no lo hacen). Por lo tanto, puede eliminarlos y no implementar inicios de sesión o usuarios.
Hay tres formas:
Ed
fuente
Tuve el mismo problema y encontré este enlace
El usuario tiene una referencia no resuelta para Iniciar sesión
fuente
Aparentemente, este problema todavía está ocurriendo en proyectos de bases de datos VS2017 también.
He logrado resolverlo creando primero el inicio de sesión y luego creando el usuario.
fuente