Freigeben über


Replikation mit Abonnenten von speicheroptimierten Tabellen

Gilt für: SQL Server Azure 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.

    Falls die Konfiguration mit Transact-SQL erfolgt, legen Sie den schema_option-Parameter der gespeicherten Prozedur sp_addarticle folgendermaßen fest:
    0x40000000000.

  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. Gehen Sie in Management Studio zu den Abonnementeigenschaften, und legen Sie Speicheroptimiertes Abonnement auf true fest. Die Änderungen werden erst nach der erneuten Initialisierung des Abonnements wirksam.

    Falls Sie die Konfiguration mit Transact-SQL vornehmen, legen Sie den neuen memory_optimized-Parameter der gespeicherten Prozedur sp_addsubscription auf true fest.

  2. Gehen Sie in Management Studio zu den Artikeleigenschaften einer Veröffentlichung, und legen Sie Speicheroptimierung aktivieren auf „true“ fest.

    Falls die Konfiguration mit Transact-SQL erfolgt, legen Sie den schema_option-Parameter der gespeicherten Prozedur sp_addarticle folgendermaßen fest:
    0x40000000000.

  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.

    Falls die Konfiguration mit Transact-SQL erfolgt, legen Sie den @schema_option-Parameter der gespeicherten Prozedur sp_addarticle 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.