2013-06-06 12 views
18

Fino ad oggi, ero in grado di utilizzare la funzionalità Confronta schema in Visual Studio 2012 per aggiornare un database da un progetto di database. Ma ora, per un progetto posso fare il confronto, ma il pulsante di aggiornamento è disattivato.Impossibile aggiornare con lo schema confrontare

Sono in grado di utilizzare altri progetti per aggiornare altri database, ma da questo progetto non è possibile aggiornare alcun database. Non ricevo errori, la funzionalità non è disponibile.

L'utilizzo di pubblicazioni funziona ancora. Anche l'aggiornamento del progetto dal database funziona, ma non il contrario.

Qualcuno sa perché non sarei in grado di aggiornare un database tramite Schema Compare?

+1

Possibile duplicato di [Pulsante di destinazione aggiornamento disabilitato dopo confronto schema] (http://stackoverflow.com/questions/17742638/update-target-button-is-disabled-after-schema-comparison) –

+0

Questa era la risposta per me: http://stackoverflow.com/a/32912849/441862 –

risposta

32

Controllare la parte inferiore dello schermo dopo un confronto mostra messaggi di stato lì. Ho visto questo problema se c'è un errore di compilazione nel progetto del database. Una volta risolto l'errore, chiudere e riaprire la finestra di dialogo di confronto. Rieseguire il confronto e il pulsante Aggiorna dovrebbe essere nuovamente disponibile.

+2

Questo è molto probabilmente il caso se il pulsante "aggiorna" non è disponibile. Ho risolto gli errori e il pulsante è tornato di nuovo. Grazie! – maulik13

+1

Lei merita un biscotto. Questo non è sempre visibile (a volte la finestra Elenco errori è nascosta da un'altra finestra/scheda), basta andare avanti e controllarla. Vorrei che VS avesse avvertito l'utente di questo, anche se ... – tfrascaroli

1

Ho sperimentato personalmente lo stesso problema. Come accennato in precedenza, la normale lista degli errori di Visual Studio elencherà gli errori che bloccano l'aggiornamento ... ma inoltre, ci saranno anche degli avvisi. Una delle opzioni abilitate per impostazione predefinita è che la perdita di dati blocca l'aggiornamento. Questo è il problema. Anche se è solo una condizione di avviso, qualsiasi possibile perdita di dati è funzionalmente un errore, a meno che non si cambi questo flag.

imho, questo è un errore UI piuttosto grave da parte di MS, ma cosa hai intenzione di fare?

0

È necessario assicurarsi che tutte le variabili SQLCMD abbiano valori predefiniti.

Fare clic con il tasto destro del mouse sul progetto in Esplora soluzioni e selezionare Proprietà.

Nella scheda a sinistra, vai a SQLCMD Variabili e inserisci i valori predefiniti nella colonna fornita.

Dopo aver eseguito lo schema confrontare un'altra volta, il pulsante di aggiornamento dovrebbe essere disponibile ora.

1

Ciò che ha funzionato per me era includere lo schema. Stavo selezionando di includere solo alcune tabelle/procs ecc. Se lo schema contenente le tabelle e le procedure non è spuntato, l'importazione non include gli elementi.

+0

Compreso quale schema dove? – Suncat2000

6

È necessario verificare gli utenti del database e lo schema del database. Spesso, se gli utenti del database non sono correttamente replicati in DB Project, Schema Compare non funziona.

+0

Grazie. Questo ha funzionato per me. – adam0101

+0

In particolare ciò può accadere anche se il progetto del database viene importato di recente da un database. Inoltre, nel mio caso potrei ricevere l'aggiornamento, semplicemente non farebbe nulla. Il comportamento era lo stesso in VS 2015 e 2017. – John

4

Per me il riquadro dell'elenco degli errori e il riquadro di output non mostravano nulla in Visual Studio 2015. Solo dopo aver creato il progetto di database che stavo valutando, ero in grado di vedere gli errori nel riquadro di output (ma non ancora in il pannello dell'elenco degli errori). Dopo aver corretto questi errori, il pulsante Aggiorna non era più disattivato.

Problemi correlati