2011-01-11 5 views
2

Ich versuche, einen Schemavergleich innerhalb eines Visual Studio 2010-Datenbankprojekts auszuführen. Die obere Leiste des Fensters zeigt "Vergleich der Quell- und Zielschemata ..." an, erreicht ungefähr 75% und stoppt den Fortschritt. Ich habe es für mehr als eine Stunde verarbeitet und die IDE ohne Ergebnisse neu gestartet. In einem separaten Projekt in der Lösung verbinde ich mich mit einer anderen Datenbank innerhalb des gleichen SQL Server (2008 R2) und ich habe keine Probleme. Diese andere Datenbank ist etwas größer als die problematische und lädt in weniger als 20 Sekunden. Ich verbinde mich mit einem Remote-Server und ich habe überprüft, dass die Verbindungstests OK sind. Ich habe auch versucht, eine Protokolldatei mit devenv.exe/log c: \ working zu generieren, aber kein Bericht erstellt.Schema Compare wird zu 75% und endet nie, niemals zu einer bestimmten Zeit

Irgendwelche Idee, was ich sonst noch versuchen kann, damit das funktioniert?

Vielen Dank,

~ DJ

ich über SQL Profiler überprüft haben, dass Visual Studio wird das Schema vom Server erfolgreich heruntergeladen. Es scheint, dass VS ein Problem mit den Schemas hat, die es empfängt, aber ohne eine Fehlermeldung bin ich nicht sicher, was das Problem sein könnte.

Antwort

1

Haben Sie eine offene Transaktion? DBCC OPENTRAN wird Ihnen sagen.

+0

Ich habe den Schemavergleich angehalten und neu gestartet, diesen Befehl über Management Studio für dieselbe Datenbank ausgeführt und keine aktiven offenen Transaktionen empfangen. DBCC-Ausführung abgeschlossen. Wenden Sie sich an Ihren Systemadministrator, wenn DBCC Fehlermeldungen gedruckt hat. –

0

Es ist möglich, dass Ihr Prozess, der die Datenbankinformationen abruft, von einem anderen SQL Server-Prozess blockiert wird. Sie können, indem Sie den folgenden Befehl in einem neuen Abfragefenster starten, während mit dem SQL Server verbunden:

EXEC sp_who2 

Dies wird eine Liste der Prozesse auf dem SQL-Server zeigen, ausgeführt wird. Sehen Sie sich die Spalte BlkBy an und prüfen Sie, ob Zeilen einen Wert für einen Wert enthalten. Gesperrte Prozesse erhalten in dieser Spalte die Sitzungs-ID des Sperrprozesses.

Blockierungsprozesse müssen Ressourcensperren (z. B. Datenseiten) freigeben, bevor Ihr Prozess die Ressource verwenden kann. Dies geschieht normalerweise durch normale Verarbeitung, aber Sie haben möglicherweise einen Prozess, der die Sperre für zu lange hält.

+0

Von den 37 Prozessen, die erscheinen, hat keiner einen Wert für die BlkBy –

1

Ich hatte dies mit mir passieren und das Problem war, dass Fehler wurden in das Ausgabefenster gesendet, und ich habe sie nie bemerkt, weil ich angenommen, dass der Vergleich nie beendet, weil die Benutzeroberfläche nie selbst aktualisiert.

+0

Ich hatte gedacht, dass das mein Problem auch war, aber ich habe nicht ein bisschen Ausgabe generieren, während ich den Vergleich ausführen, die mich verblüfft. –

Verwandte Themen