Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzando SSDT, come posso risolvere gli errori SQL71561 quando ho una vista che fa riferimento a oggetti in un database diverso?

Per risolvere questo problema, ho aggiunto un riferimento all'altro database, cancellando il campo "Variabile database" nella finestra di dialogo. Se non avessi cancellato questo campo, quando eseguivo un confronto di schemi, SSDT genererebbe lo script di aggiornamento utilizzando il nome della variabile del database, che fallirebbe.

  1. Aggiungi un Riferimento al database al progetto.
  2. Nel mio caso l'altro database era un altro progetto nella stessa soluzione, quindi sono stato in grado di selezionarlo nel primo menu a discesa della finestra di dialogo "Aggiungi riferimento al database".
  3. Assicurati che il testo nel campo "Nome database" sia corretto.
  4. Cancella il campo "Variabile database".

Guarda il testo "Esempio di utilizzo" e verifica che appaia come previsto. Fai clic su "OK" per aggiungere il riferimento e questo dovrebbe occuparsi degli errori di "riferimento non risolto".

Dopo aver fatto ciò, sono stato in grado di eseguire un confronto dello schema, ma il tentativo di creare il progetto ha prodotto il seguente errore:

Passare alle proprietà del progetto e deselezionare "Abilita verifica Transact-SQL estesa per oggetti comuni" ha consentito la corretta compilazione del progetto.