Replizierung mit Abonnenten von speicheroptimierten Tabellen

Gilt für:SQL ServerAzure SQL Managed Instance

Sie können die Tabellen konfigurieren, die als Momentaufnahmen- und Transaktionsreplikationsabonnenten fungieren, können (mit Ausnahme der Peer-zu-Peer-Transaktionsreplikation) als speicheroptimierte Tabellen konfiguriert werden. Speicheroptimierte Tabellen sind nicht mit anderen Replikationskonfigurationen kompatibel. Diese Funktion 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 transaktionale Verö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 „Artikeleigenschaften“ Speicheroptimierung aktivieren auf true fest.

  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 angewendet, wenn du das Abonnement neu initialisierst.

    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 geclusterten Indizes. Damit die Replikation mit dieser Einschränkung umgeht, indem der Index am Ziel in einen Nonclustered-Index konvertiert wird, setzen Sie Convert clustered index to nonclustered for memory optimized article auf den Wert True.

    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.

Bemerkungen und Einschränkungen

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

Man kann keine speicheroptimierten Tabellen veröffentlichen.

Man kann Replikationstabellen im Distributor nicht als speicheroptimierte Tabellen konfigurieren.

Man kann speicheroptimierte Tabellen nicht in die Merge-Replikation einbauen.

Beim Abonnenten können Sie Tabellen, die an der transaktionalen Replikation beteiligt sind, als speicheroptimierte Tabellen konfigurieren, aber die Teilnehmertabellen müssen die Anforderungen speicheroptimierter Tabellen erfüllen. Diese Anforderung stellt folgende Einschränkungen:

Ändern einer Schemadatei

  • Wenn Sie die speicheroptimierte Tabellenoption DURABILITY = SCHEMA_AND_DATAverwenden, muss die Tabelle einen nicht-clusterten Primärschlüsselindex haben.

  • ANSI_PADDING muss den Wert ON haben.