Verändertes Programmverhalten bei der SQL Server 2005-Replikation
Aktualisiert: 14. April 2006
In diesem Thema werden die Änderungen im Programmverhalten bei bereits in Microsoft SQL Server 2000 vorhandenen Replikationsfeatures beschrieben. Informationen zu Replikationsfeatureerweiterungen finden Sie unter Replikationsverbesserungen.
Hinweis: |
---|
Das Thema ist sowohl in der Hilfe zum Setup als auch in der SQL Server 2005-Onlinedokumentation enthalten. Über die fett formatierten Hyperlinks in der Hilfe zum Setup gelangen Sie zu Themen, die nur in der Onlinedokumentation verfügbar sind. |
Verändertes Programmverhalten mit Auswirkungen auf alle Replikationstypen
Die folgenden Änderungen betreffen alle Replikationstypen.
Feature | Beschreibung |
---|---|
Sicherheitsmodell des Replikations-Agents |
In früheren Versionen von SQL Server wurden Agents standardmäßig im Kontext des SQL Server-Agent-Dienstkontos ausgeführt. Microsoft SQL Server 2005 ermöglicht eine differenzierte Steuerung der Konten, in deren Kontext die Replikations-Agents ausgeführt und die integrierten Microsoft-Verbindungen mit Datenbanken und anderen Ressourcen hergestellt werden, wobei für jeden Agent ein eigenes Konto angegeben werden kann. Weitere Informationen finden Sie unter Überlegungen zur Sicherheit bei der Replikation und unter Sicherheitsmodell des Replikations-Agents. Informationen dazu, wie diese Änderung sich auf Aktualisierungen auswirkt, finden Sie im Abschnitt zum neuen Sicherheitsmodell des Replikations-Agents unter Aktualisieren replizierter Datenbanken und Aktuelle Änderungen in der SQL Server 2005-Replikation. |
Synchronisierungsverwaltung von Windows |
In früheren Versionen von SQL Server war die Möglichkeit zum Synchronisieren von Abonnements mit der Synchronisierungsverwaltung standardmäßig aktiviert. In SQL Server 2005 müssen Sie diese Option explizit aktivieren, wenn Sie die Synchronisierungsverwaltung verwenden möchten. Weitere Informationen finden Sie unter Vorgehensweise: Synchronisieren eines Abonnements mithilfe der Synchronisierungsverwaltung von Windows (Synchronisierungsverwaltung von Windows). |
Replikationskonflikt-Viewer (Replication Conflict Viewer) |
Bei SQL Server 2000 ist der Replikationskonflikt-Viewer zum Verteilen enthalten. Bei SQL Server 2005 ist der Viewer nicht gesondert enthalten. Zum Einbinden des Replikationskonflikt-Viewers in eine Anwendung müssen Sie Microsoft .NET Framework 2.0 auf dem Computer installieren, auf dem die Anwendung bereitgestellt wird, und eine Reihe von Dateien auf den Computer kopieren. Weitere Informationen finden Sie unter "Weitere Probleme beim Replikationsupdate" in der Hilfe zum Updateratgeber. Weitere Informationen zum Updateratgeber finden Sie unter Verwenden des Updateratgebers zur Vorbereitung auf Aktualisierungen. |
Änderungen bei Schemaoptionen |
Über Schemaoptionen können Sie angeben, wie den Tabellen zugeordnete Attribute und Objekte, wie z. B. Indizes und Einschränkungen, repliziert werden. In SQL Server 2005 wurde das Verhalten einiger Schemaoptionen geändert. Weitere Informationen dazu finden Sie im nächsten Abschnitt dieses Themas. |
Verhaltensänderungen von Schemaoptionen
In der folgenden Tabelle sind Änderungen bei Schemaoptionen in SQL Server 2005 zusammengefasst.
Hinweis: |
---|
Wenn die Schemaoption 0x8000 in SQL Server 2000 festgelegt war, wird sie beim Update auf SQL Server 2005 deaktiviert. Für die Schemaoptionen 0x10 oder 0x40 wird durch die Replikation in SQL Server 2005 möglicherweise eine größere Anzahl von Indizes erstellt als in SQL Server 2000. |
Option | Verhalten bei Festlegung in SQL Server 2000 | Verhalten bei Festlegung in SQL Server 2005 |
---|---|---|
0x80 |
Erstellt eine Einschränkung oder einen Index. Ist die Option 0x8000 ebenfalls aktiviert, wird der Primärschlüssel als Einschränkung mit einem Index erstellt. Ist die Option 0x8000 nicht aktiviert, wird nur der Index für die Primärschlüsselspalte erstellt. |
Erstellt eine Primärschlüsseleinschränkung auf dem Abonnenten. Alle Indizes bezüglich der Einschränkung werden ebenfalls repliziert, auch wenn die Optionen 0x10 und 0x40 nicht aktiviert sind (diese Optionen steuern die Indexerstellung in anderen Fällen). |
0x4000 |
Erstellt eine Einschränkung oder einen Index. Ist die Option 0x8000 ebenfalls aktiviert, wird die UNIQUE-Einschränkung als Einschränkung mit einem Index erstellt. Ist die Option 0x8000 nicht aktiviert, wird nur der Index für die Spalte erstellt. |
Erstellt UNIQUE-Einschränkungen auf dem Abonnenten. Alle Indizes bezüglich der Einschränkung werden ebenfalls repliziert, auch wenn die Optionen 0x10 und 0x40 nicht aktiviert sind (diese Optionen steuern die Indexerstellung in anderen Fällen). |
0x8000 |
Erstellt Primärschlüsseleinschränkungen und UNIQUE-Einschränkungen, wenn die Optionen 0x80 oder 0x4000 ebenfalls angegeben sind. Ist keine dieser Optionen angegeben, hat die Option 0x8000 keine Auswirkungen. |
Die Option hat keine Auswirkungen. |
Verändertes Programmverhalten bei der Transaktionsreplikation
Die folgenden Änderungen betreffen die Transaktionsreplikation.
Feature | Beschreibung |
---|---|
Besitz von Abonnentenobjekten |
Wenn Sie zum Erstellen einer Publikation den Assistenten für neue Publikation von SQL Server 2005 verwenden, wird als Besitzer von auf dem Abonnenten erstellten Objekten standardmäßig der Wert für den Besitzer der zugehörigen Objekte auf dem Verleger verwendet. In früheren Versionen wurde der Besitzer während der Erstellung des Objekts auf dem Abonnenten nicht angegeben. Als Wert wurde standardmäßig der mit dem Verteilungs-Agent-Konto, das zum Herstellen der Verbindung mit dem Abonnenten verwendet wird, verknüpfte Besitzer angenommen. Für die gespeicherte Prozedur sp_addarticle (Transact-SQL) hat sich dieses Verhalten nicht geändert. |
Sicherheitsmodus für aktualisierbare Abonnements |
Der @security_mode-Parameter von sp_link_publication steuert, wie die Trigger für das sofortige Aktualisieren von Abonnements Aufrufe auf dem Verleger ausführen. In SQL Server 2005 gibt es für diesen Parameter folgende Optionen:
In früheren Versionen von SQL Server wurde mithilfe der Option 0 statt eines Verbindungsservers ein dynamischer Remoteprozeduraufruf (Remote Procedure Call, RPC) vom Abonnenten an den Verleger angegeben. |
Verändertes Programmverhalten bei der Mergereplikation
Die folgenden Änderungen betreffen die Mergereplikation.
Feature
Beschreibung
Publikationskompatibilitätsgrad
In früheren Versionen von SQL Server wurde der Kompatibilitätsgrad automatisch erhöht, wenn Sie ein Feature aktivierten, das einen höheren Grad erforderte. In SQL Server 2005 müssen Sie den Kompatibilitätsgrad manuell auf 90RTM festlegen, bevor Sie eine Funktionalität aktivieren, die diesen Kompatibilitätsgrad erfordert. Weitere Informationen zum Kompatibilitätsgrad bei Mergepublikationen finden Sie im entsprechenden Abschnitt im Thema Verwenden mehrerer Versionen von SQL Server in einer Replikationstopologie.
Kompensierende Aktionen
In früheren Versionen von SQL Server wurden kompensierende Aktionen ausgeführt, falls während der Synchronisierung Fehler (z. B. Einschränkungsverletzungen) festgestellt wurden. In bestimmten Fällen ist dieses Verhalten erwünscht, in anderen kann es jedoch problematisch sein. Ein falsch konfigurierter Abonnent, der einen Fehler generiert, kann beispielsweise Änderungen verursachen, die auf dem Verleger und allen anderen Abonnenten rückgängig gemacht werden müssen.
In SQL Server 2005 steuert der @compensate_for_errors-Parameter von sp_addmergearticle, ob kompensierende Aktionen ausgeführt werden. Ist der Parameter auf False (Standardwert) festgelegt, sind die kompensierenden Aktionen deaktiviert. Fehler werden jedoch dennoch protokolliert, und nachfolgende Zusammenführungen versuchen weiterhin, die Änderungen anzuwenden. Zwar sind die Daten in den betroffenen Zeilen nicht mehr konvergent, doch können Sie nach Behebung des Fehlers die Änderung anwenden und die Konvergenz der Daten ist wieder gewährleistet. Ist der Parameter auf True festgelegt, führt eine Änderung, die während der Synchronisierung nicht auf einen Knoten angewendet werden kann, zu kompensierenden Aktionen, die die Änderung auf allen anderen Knoten rückgängig machen.
Hinweis:
Wenn die Quelltabelle für einen Artikel bereits in einer anderen Publikation veröffentlicht wurde, muss der Wert von @compensate_for_errors für beide Artikel identisch sein. Bei Pullabonnements auf Abonnenten mit SQL Server 2000, Version 8.00.858 und früher (einschließlich Service Pack 3), werden kompensierende Aktionen auch dann ausgeführt, wenn @compensate_for_errors auf False festgelegt ist.
Konflikttabellen
In früheren Versionen von SQL Server erstellte eine Mergereplikation eine einzelne Konflikttabelle für jeden Tabellenartikel in einer Publikation (mit einem Namen im Format conflict_<ArticleName>). In SQL Server 2005 sind die Informationen in zwei Tabellen enthalten: in der MSmerge_conflicts_info-Tabelle und in einer Tabelle mit dem Namensformat MSmerge_conflict_<PublicationName>_<ArticleName>.
Beibehaltungsbasiertes Metadatencleanup
SQL Server 2005 verwendet das in SQL Server 2000 Service Pack 1 eingeführte beibehaltungsbasierte Metadatencleanup. Metadaten werden in regelmäßigen Abständen aus den folgenden Systemtabellen gelöscht:
- MSmerge_contents
- MSmerge_tombstone
- MSmerge_genhistory
- sowie ggf. aus allen Anfangsabbildtabellen. Anfangsabbildtabellen sind vorhanden, wenn die Synchronisierungsoptimierungsoption @keep_partition_changes für die Publikation aktiviert ist. (Weitere Informationen zu dieser Option finden Sie im nächsten Abschnitt.)
Parameter @keep_partition_changes
Der @keep_partition_changes-Parameter wurde in früheren Versionen von SQL Server standardmäßig auf False festgelegt, da er dazu führt, dass mehr Daten auf dem Verleger gespeichert werden. Er ist jetzt auf True festgelegt, wenn der Publikationskompatibilitätsgrad 90RTM, oder höher ist und der @use_partition_groups-Parameter auf False festgelegt ist. Weitere Informationen zu diesen Optionen finden Sie unter Parametrisierte Zeilenfilter.
Siehe auch
Konzepte
Abwärtskompatibilität von Replikationen
Andere Ressourcen
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
14. April 2006 |
|