Replikering till prenumeranter av minnesoptimerade tabeller

gäller för:SQL ServerAzure SQL Managed Instance

Du kan konfigurera tabeller som fungerar som snapshot- och transaktionsreplikationsabonnenter, förutom peer-to-peer-transaktionell replikering, som minnesoptimerade tabeller. Minnesoptimerade tabeller är inte kompatibla med andra replikeringskonfigurationer. Denna funktion är tillgänglig från och med SQL Server 2016 (13.x).

Två konfigurationer krävs

Konfigurera en minnesoptimerad tabell som prenumerant

  1. Skapa en transaktionspublikation. Mer information finns i Skapa en publikation.

  2. Lägg till artiklar i publikationen. Mer information finns i Definiera en artikel.

    Om du konfigurerar med hjälp av Transact-SQL ange @schema_option parametern för den sp_addarticle lagrade proceduren till
    0x40000000000.

  3. I artikelegenskapsfönstret ställ in Aktivera minnesoptimering till sann.

  4. Starta Snapshot Agent-jobbet för att generera den inledande ögonblicksbilden för den här publikationen. Mer information finns i Skapa och tillämpa den första ögonblicksbilden.

  5. Skapa nu en ny prenumeration. I guiden Ny prenumeration anger du Minnesoptimerad prenumeration till true.

Minnesoptimerade tabeller bör nu börja ta emot uppdateringar från utgivaren.

Konfigurera om en befintlig transaktionsreplikering

  1. Gå till prenumerationsegenskaper i Management Studio och ställ in Minnesoptimerad prenumeration på true. Ändringarna tillämpas inte förrän du återinitierar prenumerationen.

    Om du konfigurerar med hjälp av Transact-SQL, anger du den nya parametern @memory_optimized i den lagrade proceduren sp_addsubscription till true.

  2. Gå till artikelegenskaperna för en publikation i Management Studio och ange Aktivera minnesoptimering till true.

    Om du konfigurerar med hjälp av Transact-SQL ange @schema_option parametern för den sp_addarticle lagrade proceduren till
    0x40000000000.

  3. Minnesoptimerade tabeller stödjer inte klustrade index. För att replikering ska hantera denna begränsning genom att konvertera indexet till ett icke-klustrat index på destinationen, sätt Konvertera klustrat index till icke-klustrat för minnesoptimerad artikel till sann.

    Om du konfigurerar med hjälp av Transact-SQL ange @schema_option parametern för den sp_addarticle lagrade proceduren till 0x0000080000000000.

  4. Återskapa ögonblicksbilden.

  5. Initiera prenumerationen igen.

Anmärkningar och begränsningar

Endast enkelriktad transaktionsreplikering stöds. Peer-to-peer-transaktionell replikering stöds inte.

Du kan inte publicera minnesoptimerade tabeller.

Du kan inte konfigurera replikeringstabeller på distributören som minnesoptimerade tabeller.

Du kan inte inkludera minnesoptimerade tabeller i merge-replikering.

Hos prenumeranten kan du konfigurera tabeller som ingår i transaktionell replikering som minnesoptimerade tabeller, men abonnenttabellerna måste uppfylla kraven för minnesoptimerade tabeller. Detta krav medför följande begränsningar:

Ändra en schemafil

  • Om du använder det minnesoptimerade tabellalternativet DURABILITY = SCHEMA_AND_DATA, måste tabellen ha ett icke-klustrat primärnyckelindex.

  • ANSI_PADDING måste vara ON.