Verwenden mehrerer Versionen von SQL Server in einer Replikationstopologie

Aktualisiert: 15. September 2007

Die Replikation unterstützt das Replizieren von Daten auf verschiedene Versionen von Microsoft SQL Server. Dieses Thema behandelt folgende Punkte:

  • Unterstützte Versionen von SQL Server
  • Zuordnen von SQL Server 2005-Datentypen für frühere Versionen
  • Wiederherstellen einer replizierten Datenbank von einer früheren Version
  • Kompatibilitätsgrad von Mergepublikationen

Informationen zum Replizieren von Daten nach Microsoft SQL Server 2005 Express Edition und Microsoft SQL Server Compact Edition finden Sie unter Replizieren von Daten nach SQL Server Express und Replizieren von Daten nach SQL Server Compact Edition. Informationen zu den von den einzelnen SQL Server-Editionen unterstützten Features finden Sie unter Von den SQL Server 2005-Versionen unterstützte Features.

ms143241.note(de-de,SQL.90).gifHinweis:
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 SQL Server 2005-Onlinedokumentation verfügbar sind.

Unterstützte SQL Server-Versionen

SQL Server, Version 7.0, Service Pack 4 (SP4) ist die früheste Version, die an einer Replikationstopologie mit SQL Server 2005 teilnehmen kann. Wenn Sie SQL Server 2000 verwenden, ist SP3 oder höher erforderlich.

Bei einer Replikation zwischen unterschiedlichen Versionen von SQL Server wird der verfügbare Funktionsumfang häufig auf die Funktionen der frühesten verwendeten Version begrenzt. Wenn Sie beispielsweise einen Verteiler auf eine Instanz von SQL Server 2005 aktualisieren, jedoch einen Verleger verwenden, auf dem eine Instanz von SQL Server 2000 ausgeführt wird, und einen Abonnenten, auf dem eine Instanz von SQL Server 7.0 ausgeführt wird, können Sie lediglich die allgemeine Funktionalität und die Replikationsfunktionalität von SQL Server 7.0 nutzen.

ms143241.note(de-de,SQL.90).gifHinweis:
Da das SQL Server-Speicherformat für Datenträger in 64-Bit- und in 32-Bit-Umgebungen identisch ist, kann eine Replikationstopologie Serverinstanzen, die in einer 32-Bit-Umgebung ausgeführt werden, mit Serverinstanzen kombinieren, die in einer 64-Bit-Umgebung ausgeführt werden.

Bei allen Replikationstypen darf auf dem Verteiler keine frühere Version ausgeführt werden als auf dem Verleger (häufig handelt es sich bei Verteiler und Verleger um dieselbe Instanz). Sie können SQL Server 2005 als Remoteverteiler für SQL Server 2005 und SQL Server 2000 verwenden, aber nicht für SQL Server 7.0. Die folgenden Tabellen enthalten weitere Informationen dazu, welche Versionen von SQL Server an derselben Topologie teilnehmen können. Weitere Informationen über die in den verschiedenen Editionen von SQL Server unterstützten Replikationsfeatures finden Sie unter Von den SQL Server 2005-Versionen unterstützte Features.

Transaktionsreplikation und Snapshotreplikation mit schreibgeschützten Abonnenten

Verteiler (Distributor)

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Verleger (Publisher)

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Abonnenten

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Wie die obige Tabelle zeigt, kann ein schreibgeschützter Abonnent einer Transaktionspublikation einer der beiden möglichen Versionen des Verlegers angehören. Beispiel: Ein SQL Server 7.0-Verleger kann mit SQL Server 2005-Abonnenten verwendet werden, und ein SQL Server 2005-Verleger kann mit SQL Server 7.0-Abonnenten verwendet werden.

Transaktionsreplikation mit Abonnenten mit Aktualisierung

Verteiler (Distributor)

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Verleger (Publisher)

SQL Server 7.01

SQL Server 7.01

SQL Server 20002

SQL Server 20002

SQL Server 20053

Abonnenten

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

1 Für einen SQL Server 7.0-Verleger werden nur SQL Server 7.0-Abonnenten unterstützt.

2 Für einen SQL Server 2000-Verleger werden nur Abonnenten mit SQL Server 7.0, SQL Server 2000 und SQL Server 2005 unterstützt.

3 Für einen SQL Server 2005-Verleger werden Abonnenten mit SQL Server 2000 und SQL Server 2005 unterstützt.

Mergereplikation

Verteiler (Distributor)

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Verleger (Publisher)

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Abonnenten

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Die obige Tabelle zeigt, dass für einen Abonnenten einer Mergereplikation jede Version zulässig ist, die nicht höher ist als die des Verlegers. Weitere Informationen zur Kompatibilität früherer Versionen finden Sie im Abschnitt zur Kompatibilitätsstufe für Mergepublikationen weiter unten in diesem Thema.

SQL Server 7.0 und SQL Server Management Studio

SQL Server Management Studio kann Verbindungen mit Instanzen von SQL Server 2000 oder höher herstellen. Für Abonnenten mit SQL Server 7.0 gilt Folgendes:

  • Abonnements und Publikationen können mit den Tools von SQL Server 7.0 und SQL Server 2000 sowie mit SQL Distributed Management Objects (SQL-DMO) oder gespeicherten Prozeduren erstellt werden.
  • Agents für Pullabonnements können nicht aus Management Studio oder dem Replikationsmonitor gestartet werden. Agents können beim Erstellen des Abonnements nach Zeitplan oder bei Bedarf über die Eingabeaufforderung ausgeführt werden.

Abonnements für Abonnenten mit SQL Server 7.0 werden nach dem Erstellen in Management Studio und im Replikationsmonitor angezeigt. Informationen zum Erstellen von Abonnements und Publikationen sowie zum Ausführen von Agents finden Sie in der SQL Server 7.0-Onlinedokumentation.

Verwenden eines SQL Server 2005-Verteilers mit einem Verleger mit SQL Server 2000

SQL Server 2005 kann als Remoteverteiler für Verleger mit SQL Server 2000 verwendet werden. Führen Sie auf dem Verteiler die folgenden gespeicherten Prozeduren aus, um die Agenteigenschaften in diesem Szenario zu ändern. Diese Prozeduren ermöglichen es Ihnen, Eigenschaften zu ändern, die in SQL Server 2005 neu sind:

Wenn Sie einen Verleger und einen Verteiler mit SQL Server 2000 verwenden, können mithilfe von sp_changedistpublisher und sp_changesubscriber die Anmeldeinformationen geändert werden, mit denen die Agents Verbindungen herstellen. Wenn Sie den Verteiler jedoch auf SQL Server 2005 aktualisieren, können diese Prozeduren nicht zum Ändern von Anmeldeinformationen in vorhandenen Agentaufträgen verwendet werden. (Die Prozeduren haben Auswirkungen auf Agentaufträge, die nach dem Aufrufen der Prozeduren erstellt werden.) Zum Ändern der Anmeldeinformationen vorhandener Agentaufträge rufen Sie eine der vier oben aufgeführten Prozeduren auf.

Zuordnen von SQL Server 2005-Datentypen für frühere Versionen

Mit SQL Server 2005 wurden eine Reihe neuer Datentypen eingeführt. Wenn Pushabonnements von einem SQL Server 2005-Verteiler verwendet werden, sind diese neuen Datentypen kompatiblen Datentypen beim Abonnenten zugeordnet.

SQL Server 2005-Datentyp SQL Server 2000- oder SQL Server 7.0 -Datentyp

xml

ntext

CLR-benutzerdefinierte Typen (User Defined Types, UDT)

image

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

Sie müssen überprüfen, ob die Typen varchar(max), nvarchar(max), varbinary(max), xmlL und die CLR-benutzerdefinierten Typen geeignet zugeordnet sind, wenn sie auf Abonnenten repliziert werden, die eine frühere Version von SQL Server ausführen (für Artikel in Mergepublikationen erfolgt dies standardmäßig). Das Zuordnungsverhalten dieser Typen wird von den Schemaoptionen 0x20, 0x10000000 und 0x20000000 für sp_addarticle und sp_addmergearticle gesteuert. Weitere Informationen zum Festlegen von Schemaoptionen finden Sie unter Vorgehensweise: Angeben von Schemaoptionen (SQL Server Management Studio) und How to: Specify Schema Options (Replication Transact-SQL Programming).

Mit SQL Server 2000 wurden zwei Datentypen eingeführt, die mit SQL Server 7.0 kompatiblen Datentypen zugeordnet sind. Wenn Pushabonnements von einem SQL Server 2005- oder SQL Server 2000-Verteiler verwendet werden, sind diese neuen Datentypen kompatiblen Datentypen beim Abonnenten zugeordnet.

SQL Server 2005- oder SQL Server 2000-Datentyp SQL Server 7.0-Datentyp

SQL_VARIANT

IMAGE

BIGINT

DECIMAL

Wiederherstellen einer replizierten Datenbank von einer früheren Version

Beim Wiederherstellen der Sicherung einer replizierten Datenbank von einer früheren Version können Sie Replikationseinstellungen beibehalten. Wenn Sie die Sicherung auf einem Server und in einer Datenbank wiederherstellen, deren Namen mit den Namen des Servers und der Datenbank übereinstimmen, von dem bzw. der die Sicherung erstellt wurde, oder wenn Sie die Option KEEP_REPLICATION angeben, bleiben die Replikationseinstellungen erhalten. Weitere Informationen finden Sie unter RESTORE (Transact-SQL). Führen Sie nach dem Wiederherstellen der Datenbank sp_vupgrade_replication (Transact-SQL) aus, um Schema- und Systemdaten zu aktualisieren, sodass die Replikation auf der aktuellen Produktebene unterstützt wird.

Auch wenn das Beibehalten der Replikation nach dem Wiederherstellen von einer Sicherung einer früheren Version möglich ist, wird dies selten als Updateoption verwendet. Meist wird die replizierte Datenbank im Rahmen eines Produktupdates aktualisiert, oder die Datenbank und die Replikationskonfiguration werden mit einer Reihe von Skripts neu erstellt.

Kompatibilitätsgrad von Mergepublikationen

Die Mergereplikation bestimmt mithilfe des Kompatibilitätsgrades von Publikationen, welche Features von Publikationen in einer vorhandenen Datenbank verwendet werden können. Die Werte reichen von 70RTM (SQL Server 7.0 ohne installierte Service Packs) bis 90RTM. Der Kompatibilitätsgrad wird folgendermaßen angegeben:

Das folgende Features erfordert einen Kompatibilitätsgrad von 90RTM oder höher:

Die folgenden Features sind nicht vom Kompatibilitätsgrad abhängig, setzen jedoch den mit SQL Server 2005 gelieferten Merge-Agent voraus; Abonnenten, die frühere Versionen von SQL Server ausführen, sind funktionsfähig, obwohl das Feature nicht aktiviert ist:

Verhalten des Publikationskompatibilitätsgrades in SQL Server 2005

Es ist wichtig, das Verhalten des Publikationskompatibilitätsgrades zu verstehen:

  • Der Publikationskompatibilitätsgrad steht nicht mit dem Datenbank-Kompatibilitätsgrad in Zusammenhang.
  • Wenn Sie eine Publikation mit sp_addmergepublication oder über Replikationsverwaltungsobjekte (RMO) erstellen, wird der Publikationskompatibilitätsgrad standardmäßig auf 80RTM festgelegt. Wenn Sie eine Publikation im Assistenten für neue Publikation erstellen, wird der Publikationskompatibilitätsgrad basierend auf den auf der Seite Abonnententypen des Assistenten ausgewählten Optionen festgelegt.
  • In früheren Versionen von SQL Server wurde der Publikationskompatibilitätsgrad automatisch erhöht, wenn Sie ein Feature aktivierten, das einen höheren Grad erforderte. In SQL Server 2005 müssen Sie den Publikationskompatibilitätsgrad manuell auf 90RTM festlegen, bevor Sie eine Funktionalität aktivieren, die diesen Kompatibilitätsgrad erfordert.
    Wenn Sie einen Verleger aus SQL Server 7.0 aktualisieren und dann Features auswählen, die einen Kompatibilitätsgrad von 80RTM erfordern, wird der Kompatibilitätsgrad automatisch erhöht.
  • Der Publikationskompatibilitätsgrad kann nur gesenkt werden, wenn der Snapshot-Agent nicht gestartet wurde und es keine Abonnements für die Publikation gibt.
  • Alle Publikationen in derselben Datenbank müssen denselben Kompatibilitätsgrad besitzen. Diese Anforderung hat folgende Konsequenzen:
    • Wenn eine Datenbank eine Publikation mit einem geringeren Kompatibilitätsgrad besitzt (z. B. 80RTM) und Sie derselben Datenbank eine weitere Publikation mit einem Grad von 90RTM hinzufügen möchten, müssen Sie vor dem Hinzufügen der neuen Publikation manuell den Grad der ersten Publikation erhöhen.
    • Wenn eine Datenbank zwei oder mehr Publikationen mit einem geringeren Kompatibilitätsgrad enthält und Sie derselben Datenbank eine weitere Publikation mit einem Grad von 90RTM hinzufügen möchten, müssen Sie folgendermaßen vorgehen: Löschen Sie alle vorhandenen Publikationen außer einer, erhöhen Sie den Grad der verbleibenden Publikation auf 90RTM, erstellen Sie die gelöschten Publikationen mit einem Grad von 90RTM erneut, und erstellen Sie die neue Publikation mit einem Grad von 90RTM.

Siehe auch

Konzepte

Abwärtskompatibilität von Replikationen
Aktualisieren replizierter Datenbanken

Andere Ressourcen

Replikationsverbesserungen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

15. September 2007

Neuer Inhalt:
  • Es wurde ein Hinweis dazu hinzugefügt, dass das SQL Server-Speicherformat für Datenträger in 64-Bit- und 32-Bit-Umgebungen übereinstimmt.

14. April 2006

Geänderter Inhalt:
  • Es wurden Tabellen hinzugefügt, in denen die Versionen von SQL Server aufgeführt sind, die in derselben Replikationstopologie verwendet werden können.
  • Informationen zu Schemaoptionen für die Zuordnung von Datentypen wurden hinzugefügt.
  • Informationen, nach denen in SQL Server 7.0 eine Instanz von SQL Server 2005 als Remoteverteiler verwendet werden kann, wurden entfernt. Diese Konfiguration wird nicht unterstützt.