Problembehandlung bei Schemavergleichen
Die in diesem Thema beschriebenen Probleme können beim Vergleichen von zwei Datenbankschemas auftreten.
Abhängigkeiten und Aktualisierungsskripts
Um die richtige Reihenfolge von Objekten in einem Aktualisierungsskript zu generieren, werden beim Schemavergleich Objektabhängigkeiten untersucht. Wenn eine Ansicht z. B. von einer Tabelle abhängt, muss die Tabelle vor der Ansicht erstellt werden. Wenn für das Objekt, das von dem zweiten Objekt abhängt, kein schemaqualifizierter Name verwendet wird, wird die Abhängigkeit möglicherweise nicht erkannt, und das Aktualisierungs- oder Erstellungsskript enthält Anweisungen in der falschen Reihenfolge. Dieser Unterschied kann zu Fehlern beim Aktualisieren eines Ziels zum Anpassen an eine Quelle oder beim Bereitstellen von Änderungen in einer Datenbank führen. Dieses Problem tritt auch bei Datenbankbuildskripts auf.
Tipp
Stellen Sie zum Umgehen dieses Problems sicher, dass Sie schemaqualifizierende Namen für die Objekte verwenden, bei denen Abhängigkeiten vorliegen. Im folgenden Beispiel können Sie sicherstellen, dass die Abhängigkeit richtig erkannt wird, wenn Sie das Ende der Anweisung so ändern, dass sie auf [dbo].[KeysTable] und nicht nur auf KeysTable verweist:
CREATE VIEW [NewUser].[ViewReferencingScalarFunction] AS SELECT Column2, dbo.SimpleMultiplyParamByTwo(PK_Column) AS [Function] FROM KeysTable
Tabellen- und Indexoptionen
Beim Schemavergleich werden keine Optionen verglichen oder auf Skriptbasis erstellt, die mit sp_tableoption oder sp_indexoption festgelegt wurden. Dieses Problem kann nicht behoben werden.
Timeout beim Vergleichen umfangreicher Datenbanken
Wenn Sie beim Vergleichen der Schemas von umfangreichen Datenbanken einen Timeoutfehler erhalten, müssen Sie möglicherweise den Timeoutwert erhöhen. Diese Option wird nicht über die Benutzeroberfläche verfügbar gemacht. Sie müssen den QueryTimeoutSeconds-Wert ändern, der in der Registrierung unter "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\VSTSDB\Database" in Sekunden angegeben ist. Standardmäßig beträgt das Timeout 60 Sekunden.
Vergleichen von Dateien und Dateigruppen
Wenn eine Dateigruppe in einer Zieldatenbank schreibgeschützt ist, wird diese Eigenschaft bei einem Schemavergleich von Datenbank und Datenbankprojekt immer als Unterschied angezeigt. Außerdem wird die primäre Dateigruppe beim Vergleich der Schemas ignoriert.
Wenn Sie versuchen, zwei Datenbanken auf demselben Server zu synchronisieren, können zudem Probleme beim Synchronisieren der sekundären Dateien und der Dateidatenströme auftreten. Sie können diese Probleme beheben, indem Sie die Dateigruppen und die Dateien beim Synchronisieren ausschließen.
Siehe auch
Aufgaben
Gewusst wie: Ändern von Datenbankobjekten
Gewusst wie: Vergleichen von Datenbankschemas
Gewusst wie: Vergleichen und Synchronisieren der Daten von zwei Datenbanken