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.
Konfigurieren der Abonnentendatenbank für die Unterstützung der Replikation in speicheroptimierte Tabellen
Legen Sie die @memory_optimized-Eigenschaft auf "true" fest, indem Sie sp_addsubscription (Transact-SQL) oder sp_changesubscription (Transact-SQL) verwenden.
Konfigurieren des Artikels für die Unterstützung der Replikation in speicheroptimierte Tabellen
Legen Sie die
@schema_option = 0x40000000000
Option für den Artikel mithilfe von sp_addarticle (Transact-SQL) oder sp_changearticle (Transact-SQL) fest.
So konfigurieren Sie eine speicheroptimierte Tabelle als Abonnent
Erstellen Sie eine Transaktionsveröffentlichung. Weitere Informationen finden Sie unter Create a Publication.
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.Legen Sie im Fenster mit den Artikeleigenschaften Enable Memory optimization auf truefest.
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.
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
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.
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.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.
Generieren Sie die Momentaufnahme erneut.
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.
Tabellen, die mit speicheroptimierten Tabellen auf Abonnenten repliziert werden, sind auf die Datentypen beschränkt, die für speicheroptimierte Tabellen zulässig sind. Weitere Informationen finden Sie unter Unterstützte Datentypen für In-Memory OLTP.
Nicht alle Transact-SQL-Funktionen werden von speicheroptimierten Tabellen unterstützt. Weitere Einzelheiten finden Sie unter Von In-Memory OLTP nicht unterstützte Transact-SQL-Konstrukte .
Ä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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für