Replica in sottoscrittori di tabelle con ottimizzazione per la memoria
Si applica a: SQL Server Istanza gestita di SQL di Azure
Le tabelle con funzione di snapshot e sottoscrittori di replica transazionale, esclusa la replica transazionale peer-to-peer, possono essere configurate come tabelle ottimizzate per la memoria. Le altre configurazioni di replica non sono compatibili con le tabelle ottimizzate per la memoria. Questa funzionalità è disponibile a partire da SQL Server 2016 (13.x).
Sono necessarie due configurazioni
Configurare il database sottoscrittore per supportare la replica per le tabelle ottimizzate per la memoria
Impostare la proprietà @memory_optimized su true con sp_addsubscription (Transact-SQL) o sp_changesubscription (Transact-SQL).
Configurare l'articolo in modo da supportare la replica per le tabelle ottimizzate per la memoria
Impostare l'opzione
@schema_option = 0x40000000000
per l'articolo con sp_addarticle (Transact-SQL) o sp_changearticle (Transact-SQL).
Per configurare una tabella ottimizzata per la memoria come sottoscrittore
Creare una pubblicazione transazionale. Per altre informazioni, vedere Create a Publication.
Aggiungere articoli alla pubblicazione. Per altre informazioni, vedere definire un articolo.
Se si esegue la configurazione con Transact-SQL impostare il parametro @schema_option della stored procedure sp_addarticle su
0x40000000000.Nella finestra Proprietà articolo impostare Abilita ottimizzazione per la memoria su true.
Avviare il processo dell'agente snapshot per generare lo snapshot iniziale per la pubblicazione. Per altre informazioni, vedere Creazione e applicazione dello snapshot iniziale.
Creare ora una nuova sottoscrizione. In Creazione guidata nuova sottoscrizione impostare Sottoscrizione con ottimizzazione per la memoria su true.
Le tabelle con ottimizzazione per la memoria dovrebbero ora iniziare a ricevere aggiornamenti dal server di pubblicazione.
Riconfigurare una replica transazionale esistente
Passare alle proprietà della sottoscrizione in Management Studio e impostare Sottoscrizione con ottimizzazione per la memoria su true. Le modifiche non vengono applicate prima della reinizializzazione della sottoscrizione.
Se si esegue la configurazione con Transact-SQL impostare il nuovo parametro @memory_optimized della stored procedure sp_addsubscription su true.
Passare alle proprietà articolo per una pubblicazione in Management Studio e impostare Abilita ottimizzazione per la memoria su true.
Se si esegue la configurazione con Transact-SQL impostare il parametro @schema_option della stored procedure sp_addarticle su
0x40000000000.Le tabelle con ottimizzazione per la memoria non supportano gli indici cluster. Per far sì che la replica possa gestirlo convertendolo in un indice non cluster nella destinazione, impostare Converti indice cluster in indice non cluster per un articolo con ottimizzazione per la memoria su true.
Se si esegue la configurazione con Transact-SQL impostare il parametro @schema_option della stored procedure sp_addarticle su 0x0000080000000000.
Rigenerare lo snapshot.
Reinizializzare la sottoscrizione.
Osservazioni e restrizioni
È supportata una sola replica transazionale unidirezionale. La replica transazionale peer-to-peer non è supportata.
Non è possibile pubblicare le tabelle con ottimizzazione per la memoria.
Non è possibile configurare le tabelle di replica nel distributore come tabelle ottimizzate per la memoria.
La replica di tipo merge non può includere tabelle ottimizzate per la memoria.
Nel sottoscrittore le tabelle interessate dalla replica transazionale possono essere configurate come tabelle ottimizzate per la memoria, ma le tabelle del sottoscrittore devono soddisfare i requisiti delle tabelle ottimizzate per la memoria. Si applicano pertanto le restrizioni seguenti.
Le tabelle replicate in tabelle ottimizzate per la memoria in un sottoscrittore sono limitate ai tipi di dati consentiti nelle tabelle ottimizzate per la memoria. Per altre informazioni, vedere Tipi di dati supportati.
Non tutte le funzionalità di Transact-SQL sono supportate con le tabelle ottimizzate per la memoria. Per altri dettagli, vedere Costrutti Transact-SQL non supportati da OLTP in memoria.
Modifica di un file dello schema
Se si utilizza l'opzione della tabella ottimizzata per la memoria
DURABILITY = SCHEMA_AND_DATA
, la tabella deve disporre di un indice di chiave primaria non cluster.ANSI_PADDING deve essere ON.