Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure 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 prenumerantdatabasen så att den stöder replikering till minnesoptimerade tabeller
Sätt @memory_optimized-egenskapen till sant genom att använda sp_addsubscription (Transact-SQL) ellersp_changesubscription (Transact-SQL).
Konfigurera artikeln för att stödja replikering till minnesoptimerade tabeller
Ange alternativet
@schema_option = 0x40000000000för artikeln med hjälp av sp_addarticle (Transact-SQL) eller sp_changearticle (Transact-SQL).
Konfigurera en minnesoptimerad tabell som prenumerant
Skapa en transaktionspublikation. Mer information finns i Skapa en publikation.
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.I artikelegenskapsfönstret ställ in Aktivera minnesoptimering till sann.
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.
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
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.
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.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.
Återskapa ögonblicksbilden.
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:
Tabeller som replikeras till minnesoptimerade tabeller på en prenumerant är begränsade till de datatyper som tillåts i minnesoptimerade tabeller. Mer information finns i Datatyper som stöds för In-Memory OLTP.
Alla Transact-SQL funktioner stöds inte med minnesoptimerade tabeller. Se Transact-SQL-konstruktioner som inte stöds av In-Memory OLTP för mer information.
Ändra en schemafil
Om du använder det minnesoptimerade tabellalternativet
DURABILITY = SCHEMA_AND_DATA, måste tabellen ha ett icke-klustrat primärnyckelindex.ANSI_PADDINGmåste varaON.