2013-07-10 6 views
8

Desidero che il confronto sottostante non mostri una differenza. In base a MSDN (vedere il passaggio 7), dovrebbe essere disponibile una variabile SQLCMD Variabili che non riesco a trovare. Questa documentazione è per SQL 2010, ma sto usando 2012. Non sembra essere la versione 2012 della documentazione disponibile su questa pagina.Variabili SQLCMD e problema confronto schema SSDT

Come specificare il valore di $(DatabaseName) in modo che questo confronto funzioni? Ho già il valore specificato nelle impostazioni del mio progetto di database.

SQL Schema Compare

+0

Non penso che sia possibile farlo tra un progetto e un database attivo. Anche quella pagina sembra suggerire che: "È possibile specificare solo le variabili SQLCMD quando si confrontano due progetti" Cosa succede se si genera uno script per aggiornare il database? –

+0

Inoltre, se questo è per una tabella che è locale al database, perché stai specificando il nome del database? Basta usare "dbo.ClaimProvider" e si dovrebbe essere tutto pronto. So che è diverso per le query tra database, ma questo non sembra passare attraverso i database. –

+0

@PeterSchott Faccio molti join tra database, quindi sembra più bello avere tutti i nomi coerenti invece di passare da 3 a 2 nomi di parte. –

risposta

3

È possibile aggirare questo schema di confronto tra il database sviluppo, piuttosto che il progetto, al database dal vivo. Tieni presente che dovresti prima distribuire il progetto nel tuo database di sviluppo.

FYI - Il fatto che le variabili non siano sostituite è solo un problema nella finestra di confronto. Le variabili non causano false differenze durante il confronto (in altre parole, Schema Compare sostituisce le variabili durante il confronto) e le variabili vengono sostituite quando si aggiorna il database di destinazione.

+0

Sto provando a catturare ciò che gli sviluppatori hanno modificato nel dev database, quindi aggiornare il progetto. Se ho implementato il progetto in Dev, non cancellerei le loro modifiche? –

+1

Potrebbe essere qualsiasi server utilizzato per scopi di sviluppo, forse anche l'istanza di db locale o un server condiviso dedicato per confronti tra schemi. – Keith

+0

O ecco un pensiero ... ottenere MS per risolvere il bug nella loro funzione di confronto lol – user5855178