Desejo que o usuário do meu projeto de banco de dados SSDT seja criado como um usuário em outro banco de dados no mesmo servidor e conceda a ele permissões para se conectar e adicioná-lo à db_datareader
função.
Eu falhei em fazê-lo. O PostDeployment Script reclama sobre:
- O comando USE não é permitido
- não conhecendo a sintaxe Create User OtherDB.USERNAME
Como isso pode ser percebido? Não existe uma opção de script onde eu possa colocar qualquer comando que eu queira?
A ação descrita na pergunta não deve ser um problema. Consegui criar um script Post Deployment e adicionar o seguinte código:
Ele cria e publica sem erros e executa os comandos conforme o esperado.
Certifique-se de que seu script SQL seja realmente um script pós - implantação. Se estiver definido como Build Script, provavelmente obterá esses erros. Observe as propriedades do script e certifique-se de que Build Action esteja definido como PostDeploy .
E certifique-se de estar usando a atualização mais recente do SSDT. A versão mais recente pode ser encontrada aqui:
Baixe as últimas ferramentas de dados do SQL Server