Replica in sottoscrittori di tabelle con ottimizzazione per la memoria

Si applica a:SQL ServerIstanza 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

Per configurare una tabella ottimizzata per la memoria come sottoscrittore

  1. Crea una pubblicazione transazionale. Per altre informazioni, vedere Create a Publication.

  2. Aggiungere articoli alla pubblicazione. Per altre informazioni, vedere definire un articolo.

    Se si esegue la configurazione tramite Transact-SQL, impostare il parametro @schema_option della stored procedure sp_addarticle su
    0x40000000000.

  3. Nella finestra Proprietà articolo impostare Abilita ottimizzazione per la memoria su true.

  4. Avviare il processo di agente di snapshot per generare lo snapshot iniziale di questa pubblicazione. Per altre informazioni, vedere Creazione e applicazione dello snapshot iniziale.

  5. Creare ora una nuova sottoscrizione. Nella Procedura guidata Nuova sottoscrizione imposta 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

  1. 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.

  2. Passare alle proprietà dell'articolo di una pubblicazione in Management Studio e impostare Abilita ottimizzazione memoria su True.

    Se si esegue la configurazione tramite Transact-SQL, impostare il parametro @schema_option della stored procedure sp_addarticle su
    0x40000000000.

  3. 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.

  4. Rigenera l'istantanea.

  5. 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 coinvolte nella 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.

Modifica di un file dello schema

  • Se si utilizza l'opzione di tabella ottimizzata per la memoria DURABILITY = SCHEMA_AND_DATA, la tabella deve avere un indice di chiave primaria non clusterizzato.

  • ANSI_PADDING deve essere ON.