Replica in sottoscrittori di tabelle con ottimizzazione per la memoriaReplication to Memory-Optimized Table Subscribers

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Le tabelle con funzione di snapshot e sottoscrittori di replica transazionale, esclusa la replica transazionale peer-to-peer, possono essere configurate come tabelle con ottimizzazione per la memoria.Tables acting as snapshot and transactional replication subscribers, excluding Peer-to-peer transactional replication, can be configured as memory-optimized tables. Le altre configurazioni di replica non sono compatibili con le tabelle con ottimizzazione per la memoria.Other replication configurations are not compatible with memory-optimized tables. Questa funzionalità è disponibile a partire da SQL Server 2016SQL Server 2016.This feature is available beginning with SQL Server 2016SQL Server 2016.

Sono necessarie due configurazioniTwo configurations are required

Per configurare una tabella con ottimizzazione per la memoria come sottoscrittoreTo configure a memory-optimized table as a subscriber

  1. Creare una pubblicazione transazionale.Create a transactional publication. Per altre informazioni, vedere Create a Publication.For more information, see Create a Publication.

  2. Aggiungere articoli alla pubblicazione.Add articles to the publication. Per altre informazioni, vedere Define an Article.For more information, see Define an Article.

    Se si esegue la configurazione usando Transact-SQLTransact-SQL set the @schema_option della stored procedure sp_addarticle suIf configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to
    0x40000000000.0x40000000000.

  3. Nella finestra Proprietà articolo impostare Abilita ottimizzazione per la memoria su true.In the article properties window set Enable Memory optimization to true.

  4. Avviare il processo dell'agente snapshot per generare lo snapshot iniziale per la pubblicazione.Start the Snapshot Agent job to generate the initial snapshot for this publication. Per altre informazioni, vedere Create and Apply the Initial Snapshot.For more information, see Create and Apply the Initial Snapshot.

  5. Creare ora una nuova sottoscrizione.Now create a new subscription. In Creazione guidata nuova sottoscrizione impostare Sottoscrizione con ottimizzazione per la memoria su true.In the New Subscription Wizard set Memory Optimized Subscription to true.

    Le tabelle con ottimizzazione per la memoria dovrebbero ora iniziare a ricevere aggiornamenti dal server di pubblicazione.Memory-optimized tables should now start receiving updates from the publisher.

Riconfigurare una replica transazionale esistenteReconfigure an existing transaction replication

  1. Passare alle proprietà della sottoscrizione in Management StudioManagement Studio e impostare Sottoscrizione con ottimizzazione per la memoria su true.Go to subscription properties in Management StudioManagement Studio and set Memory Optimized Subscription to true. Le modifiche non vengono applicate prima della reinizializzazione della sottoscrizione.The changes are not applied until the subscription is reinitialized.

    Se si esegue la configurazione usando Transact-SQLTransact-SQL impostare il nuovo parametro @memory_optimized della stored procedure sp_addsubscription su true.If configuring by using Transact-SQLTransact-SQL set the new @memory_optimized parameter of the sp_addsubscription stored procedure to true.

  2. Passare alle proprietà articolo per una pubblicazione in Management StudioManagement Studio e impostare Abilita ottimizzazione per la memoria su true.Go to the article properties for a publication in Management StudioManagement Studio and set Enable Memory optimization to true.

    Se si esegue la configurazione usando Transact-SQLTransact-SQL set the @schema_option della stored procedure sp_addarticle suIf configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to
    0x40000000000.0x40000000000.

  3. Le tabelle con ottimizzazione per la memoria non supportano gli indici cluster.Memory optimized tables do not support clustered indexes. 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.To have replication handle this by converting it to nonclustered index on the destination, set Convert clustered index to nonclustered for memory optimized article to true.

    Se si esegue la configurazione usando Transact-SQLTransact-SQL set the @schema_option della stored procedure sp_addarticle su 0x0000080000000000.If configuring by using Transact-SQLTransact-SQL set the @schema_option parameter of the sp_addarticle stored procedure to 0x0000080000000000.

  4. Rigenerare lo snapshot.Regenerate the snapshot.

  5. Reinizializzare la sottoscrizione.Reinitialize the Subscription.

Osservazioni e restrizioniRemarks and Restrictions

È supportata una sola replica transazionale unidirezionale.Only one-way transactional replication is supported. La replica transazionale peer-to-peer non è supportata.Peer-to-peer transactional replication is not supported.

Non è possibile pubblicare le tabelle con ottimizzazione per la memoria.Memory-optimized tables cannot be published.

Non è possibile configurare le tabelle di replica nel distributore come tabelle con ottimizzazione per la memoria.Replication tables on the distributor cannot be configured as memory-optimized tables.

La replica di tipo merge non può includere tabelle con ottimizzazione per la memoria.Merge replication cannot include memory-optimized tables.

Nel sottoscrittore le tabelle interessate dalla replica transazionale possono essere configurate come tabelle con ottimizzazione per la memoria, ma le tabelle del sottoscrittore devono soddisfare i requisiti delle tabelle con ottimizzazione per la memoria.At the subscriber, tables involved in transactional replication can be configured as memory optimized tables, but the subscriber tables must meet the requirements of memory-optimized tables. Si applicano pertanto le restrizioni seguenti.This requires the following restrictions.

Modifica di un file dello schema Modifying a schema file

  • Se si utilizza l'opzione della tabella con ottimizzazione per la memoria DURABILITY = SCHEMA_AND_DATA , la tabella deve disporre di un indice di chiave primaria non cluster.If using the memory-optimized table option DURABILITY = SCHEMA_AND_DATA the table must have a nonclustered primary key index.

  • ANSI_PADDING deve essere ON.ANSI_PADDING must be ON.

Vedere ancheSee Also

Caratteristiche e attività di replicaReplication Features and Tasks