Acabei de importar um banco de dados de produção existente do SQL Server 2008r2 para um projeto de banco de dados do VS 2013.
Agora, recebo vários erros ao longo das linhas de
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Eu realmente não preciso do meu projeto do VS DB para gerenciar usuários, mas estou preocupado que ele tente removê-los na implantação se eles não estiverem lá.
Os próprios arquivos são gerados como
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
ou
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
O marcador de erro mostra que é especificamente para o login . Como esse é um objeto no nível do sistema, posso entender que ele está fora do escopo do projeto db.
É preferível que eu mude todos eles para
CREATE USER [mydbuser] WITHOUT LOGIN;
ou adicione a CREATE LOGIN
cláusula ao início de cada arquivo?
A remoção da referência de login parece ser mais simples e a remoção total dos usuários seria a mais simples.
Quero ter certeza de que estou usando a ferramenta do jeito que ela foi planejada. Haverá algum problema na republicação de algum deles de volta à produção? Qual é o procedimento adequado para adicionar um usuário / login através de um projeto?
Respostas:
A maneira mais fácil é não gerenciar usuários através do ssdt (a maioria das pessoas não). Assim, você pode removê-los e não implantar logins ou usuários.
Existem três maneiras:
Ed
fonte
Eu tive o mesmo problema e encontrei este link
O usuário tem uma referência não resolvida para o Login
fonte
Aparentemente, esse problema ainda está ocorrendo nos projetos de banco de dados do VS2017 também.
Eu consegui resolvê-lo criando primeiro o login e depois crie o usuário.
fonte