Freigeben über


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