2013-06-06 19 views
18

Bis heute konnte ich die Funktion zum Vergleichen von Schemas in Visual Studio 2012 verwenden, um eine Datenbank aus einem Datenbankprojekt zu aktualisieren. Aber jetzt, für ein Projekt kann ich den Vergleich machen, aber der Update-Button ist ausgegraut.Aktualisieren mit Schema nicht möglich

Ich bin in der Lage, andere Projekte zu verwenden, um andere Datenbanken zu aktualisieren, aber von diesem Projekt kann ich keine Datenbanken aktualisieren. Ich bekomme keine Fehler, die Funktionalität ist einfach nicht verfügbar.

Verwendung von veröffentlichen funktioniert noch. Auch das Aktualisieren des Projekts von der Datenbank funktioniert, nicht umgekehrt.

Weiß jemand, warum ich nicht in der Lage wäre, eine Datenbank über Schema Compare zu aktualisieren?

+1

Mögliches Duplikat der Schaltfläche [Aktualisierungsziel ist nach Schemavergleich deaktiviert] (http://stackoverflow.com/questions/17742638/update-target-button-is-disabled-after-schema-comparison) –

+0

Dies war die Antwort für mich: http://stackoverflow.com/a/32912849/441862 –

Antwort

32

Überprüfen Sie die Unterseite des Bildschirms nach einem Vergleich zeigt es dort Statusmeldungen. Ich habe dieses Problem festgestellt, wenn im Datenbankprojekt ein Kompilierungsfehler aufgetreten ist. Sobald der Fehler behoben ist, schließen Sie den Vergleichsdialog und öffnen ihn erneut. Führen Sie Ihren Vergleich erneut aus, und die Schaltfläche Aktualisieren sollte wieder verfügbar sein.

+2

Dies ist höchstwahrscheinlich der Fall, wenn "Update" -Taste nicht verfügbar ist. Ich habe die Fehler behoben und der Button ist wieder aufgetaucht. Vielen Dank! – maulik13

+1

Sie, Sir, verdienen einen Keks. Dies ist nicht immer sichtbar (da manchmal das Fenster Fehlerliste durch ein anderes Fenster/eine andere Registerkarte ausgeblendet ist), gehen Sie einfach weiter und überprüfen Sie es. Ich wünschte VS warnte den Benutzer davor, obwohl ... – tfrascaroli

1

Ran in das gleiche Problem selbst. Wie oben erwähnt, werden in der normalen Visual Studio-Fehlerliste Fehler aufgelistet, die die Aktualisierung blockieren. Darüber hinaus wird es jedoch Warnungen geben. Eine der standardmäßig aktivierten Optionen ist, dass Datenverlust das Update blockiert. Das ist das Problem. Obwohl es sich nur um eine Warnbedingung handelt, ist jeder mögliche Datenverlust funktional ein Fehler, es sei denn, Sie ändern dieses Flag.

imho, das ist ein ziemlich schwerer UI-Fehler von MS, aber was wirst du tun?

0

Sie müssen sicherstellen, dass alle Ihre SQLCMD-Variablen Standardwerte haben.

Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie Eigenschaften.

Wechseln Sie auf der Registerkarte links zu SQLCMD-Variablen, und geben Sie die Standardwerte in die entsprechende Spalte ein.

Nach dem Ausführen Ihres Schemas vergleichen Sie ein anderes Mal, sollte die Update-Schaltfläche jetzt verfügbar sein.

1

Was für mich funktionierte, war die Aufnahme des Schemas. Ich habe ausgewählt, nur bestimmte Tabellen/Procs usw. einzuschließen. Wenn das Schema, das die Tabellen und Prozeduren enthält, nicht ebenfalls markiert ist, enthält der Import die Elemente nicht.

+0

Einschließlich welches Schema wo? – Suncat2000

6

Sie müssen Datenbankbenutzer und Datenbankschema überprüfen. Wenn Datenbankbenutzer in DB Project nicht korrekt repliziert werden, funktioniert Schema Compare oft nicht.

+0

Danke. Das hat für mich funktioniert. – adam0101

+0

Dies kann insbesondere auch dann vorkommen, wenn das Datenbankprojekt neu aus einer Datenbank importiert wird. In meinem Fall könnte ich auch update drücken, es würde einfach nichts tun. Das Verhalten war in VS 2015 und 2017 dasselbe. – John

4

Für mich die Fehlerliste und das Ausgabefenster zeigten nichts in Visual Studio 2015. Erst nach dem Erstellen des Datenbankprojekts, das ich anvisierte, konnte ich die Fehler im Ausgabefenster sehen (aber immer noch nicht in das Fehlerlistenfenster). Nach Behebung dieser Fehler wurde die Schaltfläche Aktualisieren nicht mehr ausgegraut.