Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando SSDT, como resolvo erros SQL71561 quando tenho uma exibição que faz referência a objetos em um banco de dados diferente?


Para resolver isso, adicionei uma referência ao outro banco de dados, limpando o campo "Variável do banco de dados" na caixa de diálogo. Se eu não limpasse esse campo, ao fazer uma comparação de esquema, o SSDT geraria o script de atualização usando o nome da variável do banco de dados, o que falharia.
  1. Adicione uma referência de banco de dados para o projeto.
  2. No meu caso, o outro banco de dados era outro projeto na mesma solução, então consegui selecioná-lo no primeiro menu suspenso na caixa de diálogo "Adicionar referência de banco de dados".
  3. Verifique se o texto no campo "Nome do banco de dados" está correto.
  4. Limpe o campo "Variável do banco de dados".

Observe o texto "Exemplo de uso" e verifique se ele está conforme o esperado. Clique em "OK" para adicionar a referência e isso deve cuidar dos erros de 'referência não resolvida'.

Depois de fazer isso, consegui fazer uma comparação de esquema, mas tentar construir o projeto produziu o seguinte erro:

Ir para as propriedades do projeto e desmarcar "Ativar verificação Transact-SQL estendida para objetos comuns" permitiu que o projeto fosse compilado com êxito.