Replikation mit Abonnenten von speicheroptimierten Tabellen

Gilt für:SQL ServerAzure SQL Managed Instance

Die Tabellen, die als Momentaufnahmen- und Transaktionsreplikationsabonnenten fungieren, können (mit Ausnahme der Peer-zu-Peer-Transaktionsreplikation) als speicheroptimierte Tabellen konfiguriert werden. Andere Replikationskonfigurationen sind mit speicheroptimierten Tabellen nicht kompatibel. Dieses Feature ist ab SQL Server 2016 (13.x) verfügbar.

Zwei Konfigurationen sind erforderlich.

So konfigurieren Sie eine speicheroptimierte Tabelle als Abonnent

  1. Erstellen Sie eine Transaktionsveröffentlichung. Weitere Informationen finden Sie unter Create a Publication.

  2. Fügen Sie der Veröffentlichung Artikel hinzu. Weitere Informationen finden Sie unter Definieren eines Artikels.

    Wenn Sie mithilfe von Transact-SQL konfigurieren, legen Sie den @schema_option Parameter der gespeicherten sp_addarticle Prozedur auf
    0x40000000000verfügbar.

  3. Legen Sie im Fenster mit den Artikeleigenschaften Enable Memory optimization auf truefest.

  4. Starten Sie den Auftrag des Momentaufnahme-Agents, um die Anfangsmomentaufnahme für diese Veröffentlichung zu generieren. Weitere Informationen finden Sie unter Create and Apply the Initial Snapshot.

  5. Erstellen Sie dann ein neues Abonnement. Legen Sie im Assistenten für neue AbonnementsMemory Optimized Subscription auf truefest.

Speicheroptimierte Tabellen empfangen nun Updates vom Verleger.

Neukonfiguration einer vorhandenen Transaktionsreplikation

  1. Wechseln Sie zu den Abonnementeigenschaften in Management Studio, und legen Sie " Speicheroptimiertes Abonnement " auf "true" fest. Die Änderungen werden erst nach der erneuten Initialisierung des Abonnements wirksam.

    Wenn Sie mithilfe von Transact-SQL konfigurieren, legen Sie den neuen @memory_optimized Parameter der gespeicherten sp_addsubscription Prozedur auf "true" fest.

  2. Wechseln Sie zu den Artikeleigenschaften für eine Publikation in Management Studio, und legen Sie "Speicheroptimierung aktivieren" auf "true" fest.

    Wenn Sie mithilfe von Transact-SQL konfigurieren, legen Sie den @schema_option Parameter der gespeicherten sp_addarticle Prozedur auf
    0x40000000000verfügbar.

  3. Speicheroptimierte Tabellen unterstützen keine gruppierten Indizes. Daher müssen gruppierte Indizes bei der Replikation auf dem Ziel in nicht gruppierte Indizes konvertiert werden. Hierzu muss der Parameter Convert clustered index to nonclustered for memory optimized article auf "true" festgelegt werden.

    Wenn Sie mithilfe von Transact-SQL konfigurieren, legen Sie den @schema_option Parameter der gespeicherten sp_addarticle Prozedur auf 0x0000080000000000 fest.

  4. Generieren Sie die Momentaufnahme erneut.

  5. Initialisieren Sie das Abonnement erneut.

Hinweise und Einschränkungen

Es wird nur die unidirektionale Transaktionsreplikation unterstützt. Die Peer-zu-Peer-Transaktionsreplikation wird nicht unterstützt.

Speicheroptimierte Tabellen können nicht veröffentlicht werden.

Replikationstabellen auf dem Verteiler können nicht als speicheroptimierte Tabellen konfiguriert werden.

Die Mergereplikation kann speicheroptimierte Tabellen einschließen.

Auf dem Abonnenten können die Tabellen, die bei einer Transaktionsreplikation berücksichtigt werden, als speicheroptimierte Tabellen konfiguriert werden. Die Abonnententabellen müssen jedoch die Anforderungen für speicheroptimierte Tabellen erfüllen. Dies erfordert folgende Einschränkungen.

Ändern einer Schemadatei

  • Bei Verwendung der Option für speicheroptimierte Tabellen DURABILITY = SCHEMA_AND_DATA muss die Tabelle einen nicht gruppierten Primärschlüsselindex aufweisen.

  • ANSI_PADDING muss auf ON festgelegt sein.