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
Tabeller som fungerar som prenumeranter för ögonblicksbildsreplikering och transaktionsreplikering, med undantag för peer-to-peer-transaktionsreplikering, kan konfigureras som minnesoptimerade tabeller. Andra replikeringskonfigurationer är inte kompatibla med minnesoptimerade tabeller. Den här funktionen ä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
Ange egenskapen @memory_optimized till true med hjälp av sp_addsubscription (Transact-SQL) eller sp_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 artikelns egenskapsfönster anger du Aktivera minnesoptimering till true.
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 prenumerationen har initierats på nytt.
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öder inte klustrade index. Om du vill att replikeringen ska hantera detta genom att konvertera det till ett icke-klustrat index på destinationen anger du Konvertera klustrat index till icke-klustrat för minnesoptimerad artikel till sant.
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.
Kommentarer och begränsningar
Endast enkelriktad transaktionsreplikering stöds. Peer-to-peer-transaktionsreplikering stöds inte.
Minnesoptimerade tabeller kan inte publiceras.
Replikeringstabeller på distributören kan inte konfigureras som minnesoptimerade tabeller.
Sammanslagningsreplikering kan inte innehålla minnesoptimerade tabeller.
Hos prenumeranten kan tabeller som ingår i transaktionsreplikeringen konfigureras som minnesoptimerade tabeller, men prenumeranttabellerna måste uppfylla kraven för minnesoptimerade tabeller. Detta kräver 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_DATAmåste tabellen ha ett icke-grupperat primärnyckelindex.ANSI_PADDING måste vara PÅ.