Sdílet prostřednictvím


Problembehandlung bei Schemavergleichen

Aktualisiert: November 2007

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. Diese Diskrepanz 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.

Aa833294.alert_note(de-de,VS.90).gifHinweis:

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

Symmetrische Schlüssel, asymmetrische Schlüssel und Zertifikate

In Visual Studio Team System Database Edition können Sie symmetrische Schlüssel, asymmetrische Schlüssel oder Zertifikate nicht als Datenbankobjekte erstellen. Beim Importieren eines Datenbankschemas werden Platzhalterkommentare mit den Namen der Schlüssel und Zertifikate im Skript vor der Bereitstellung eingefügt. Sie müssen das Skript vor der Bereitstellung bearbeiten, um diese Objekte zu erstellen. Entsprechend enthält das Schemaaktualisierungsskript beim Vergleichen von Datenbankschemas nicht die erforderlichen Transact-SQL (T-SQL)-Befehle zum Erstellen von fehlenden symmetrischen Schlüsseln, asymmetrischen Schlüsseln oder Zertifikaten. Sie müssen das Aktualisierungsskript in den Editor exportieren und Anweisungen zum Erstellen dieser Objekte hinzufügen. Weitere Informationen über T-SQL (Transact-SQL)-Anweisungen finden Sie unter Transact-SQL Reference.

Tabellen- und Indexoptionen

Beim Schemavergleich werden keine Optionen verglichen oder auf Skriptbasis erstellt, die mit sp_tableoption oder sp_indexoption festgelegt wurden. Das 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\8.0\DBPro\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.

Siehe auch

Aufgaben

Gewusst wie: Ändern von Datenbankobjekten

Gewusst wie: Anzeigen von Datenunterschieden

Konzepte

Übersicht über die Terminologie der Database Edition