Replicatie naar abonnees van geheugen-geoptimaliseerde tabellen

Van toepassing op:SQL ServerAzure SQL Managed Instance

Tabellen die fungeren als abonnees van momentopnamen en transactionele replicatie, met uitzondering van transactionele peer-to-peer-replicatie, kunnen worden geconfigureerd als tabellen die zijn geoptimaliseerd voor geheugen. Andere replicatieconfiguraties zijn niet compatibel met tabellen die zijn geoptimaliseerd voor geheugen. Deze functie is beschikbaar vanaf SQL Server 2016 (13.x).

Er zijn twee configuraties vereist

Een geheugen-geoptimaliseerde tabel configureren als abonnee

  1. Maak een transactiepublicatie. Zie Een publicatie maken voor meer informatie.

  2. Voeg artikelen toe aan de publicatie. Zie Een artikel definiëren voor meer informatie.

    Als u configureert met behulp van Transact-SQL, stelt u de parameter @schema_option van de opgeslagen procedure sp_addarticle in op
    0x40000000000.

  3. Stel in het venster Artikel-eigenschappen Geheugenoptimalisatie inschakelen in op true.

  4. Start de Snapshot Agent taak om de eerste momentopname voor deze publicatie te genereren. Zie De eerste momentopname maken en toepassen voor meer informatie.

  5. Maak nu een nieuw abonnement. Stel in de Wizard Nieuw abonnement de optie Geheugen-geoptimaliseerd abonnement in op true.

Tabellen die zijn geoptimaliseerd voor geheugen, moeten nu updates van de uitgever ontvangen.

Een bestaande transactiereplicatie opnieuw configureren

  1. Ga naar abonnementseigenschappen in Management Studio en stel Memory Optimized Subscription in op true. De wijzigingen worden pas toegepast nadat het abonnement opnieuw is geïnitialiseerd.

    Als u configureert met behulp van Transact-SQL stelt u de nieuwe @memory_optimized parameter van de sp_addsubscription opgeslagen procedure in op waar.

  2. Ga naar de eigenschappen van het artikel voor een publicatie in Management Studio en stel Enable Memory optimization in op true.

    Als u configureert met Transact-SQL, stelt u de parameter @schema_option van de opgeslagen procedure sp_addarticle in op
    0x40000000000.

  3. Voor geheugen geoptimaliseerde tabellen bieden geen ondersteuning voor geclusterde indexen. Als u wilt dat replicatie dit afhandelt door de geclusterde index op de bestemming te converteren naar een niet-geclusterde index, stelt u Geclusterde index converteren naar niet-geclusterde index voor geheugen-geoptimaliseerd artikel in op waar.

    Als u configureert met behulp van Transact-SQL de parameter @schema_option van de sp_addarticle opgeslagen procedure instelt op 0x0000080000000000.

  4. Genereer de momentopname opnieuw.

  5. Initialiseer het abonnement opnieuw.

Opmerkingen en beperkingen

Er wordt slechts éénrichtings transactionele replicatie ondersteund. Transactionele replicatie van peer-to-peer wordt niet ondersteund.

Tabellen die zijn geoptimaliseerd voor geheugen, kunnen niet worden gepubliceerd.

Replicatietabellen op de distributeur kunnen niet worden geconfigureerd als tabellen die zijn geoptimaliseerd voor geheugen.

Samenvoegreplicatie kan geen tabellen bevatten die zijn geoptimaliseerd voor geheugen.

Bij de abonnee kunnen tabellen die betrokken zijn bij transactionele replicatie worden geconfigureerd als tabellen die zijn geoptimaliseerd voor geheugen, maar de abonneetabellen moeten voldoen aan de vereisten van tabellen die zijn geoptimaliseerd voor geheugen. Hiervoor zijn de volgende beperkingen vereist.

Een schemabestand wijzigen

  • Als u de tabeloptie DURABILITY = SCHEMA_AND_DATA geoptimaliseerd voor geheugen gebruikt, moet de tabel een niet-geclusterde primaire-sleutelindex hebben.

  • ANSI_PADDING moet ingeschakeld zijn.