Supporto della disponibilità elevata per i database OLTP in memoria

Si applica a:SQL Server

I database che contengono tabelle ottimizzate per la memoria, con o senza stored procedure compilate native, sono completamente supportati con i gruppi di disponibilità AlwaysOn. Non c'è alcuna differenza di configurazione e supporto per i database contenenti oggetti OLTP in memoria rispetto a quelli che non li contengono.

Le modifiche alle tabelle ottimizzate per la memoria nella replica primaria vengono applicate alle tabelle nella replica secondaria durante la fase di rollforward. Questo approccio consente un failover rapido nella replica secondaria poiché i dati si trovano già in memoria. Le tabelle sono disponibili per le query di lettura nelle repliche secondarie che sono state configurate per l'accesso in lettura.

Gruppi di disponibilità AlwaysOn e database OLTP in memoria

La configurazione dei database con componenti OLTP in memoria offre i vantaggi seguenti:

  • Un'esperienza completamente integrata
    È possibile configurare i database contenenti tabelle ottimizzate per la memoria usando la stessa procedura guidata con lo stesso livello di supporto sia per le repliche secondarie asincrone sia per quelle sincrone. Inoltre, il monitoraggio dello stato viene fornito tramite il noto dashboard AlwaysOn in SQL Server Management Studio.

  • Tempo di failover confrontabile
    Le repliche secondarie mantengono lo stato in memoria delle tabelle durevoli ottimizzate per la memoria. In caso di failover automatico o forzato, il tempo di failover al nuovo database primario è paragonabile a quello del failover a tabelle basate su disco, in quanto non è necessario il ripristino. Le tabelle con ottimizzazione per la memoria create come SCHEMA_ONLY sono supportate in questa configurazione. Tuttavia, le modifiche a queste tabelle non vengono registrate e non esisteranno quindi dati in queste tabelle nella replica secondaria.

  • Secondario leggibile
    È possibile accedere ed eseguire query su tabelle ottimizzate per la memoria nella replica secondaria se questa è stata configurata per l'accesso in lettura. In SQL Server 2016 (13.x) la sincronizzazione del timestamp di lettura sulla replica secondaria con il timestamp di lettura sulla replica primaria è molto veloce, il che significa che le modifiche apportate alla replica primaria diventano visibili rapidamente nella replica secondaria. Questo comportamento di sincronizzazione rapida è diverso rispetto a OLTP in memoria di SQL Server 2014 (12.x).

Considerazioni

  • SQL Server 2019 ha introdotto la fase di rollforward parallela per i database di gruppi di disponibilità ottimizzati per la memoria. In SQL Server 2016 e 2017 le tabelle basate su disco non usano la fase di rollforward parallela se un database in un gruppo di disponibilità è anche ottimizzato per la memoria.

Istanza di clustering di failover e database OLTP in memoria

Per ottenere la disponibilità elevata in una configurazione di archiviazione condivisa, è possibile impostare un'istanza del cluster di failover con database che usano tabelle ottimizzate per la memoria. Per l'impostazione di un'istanza di clustering di failover, considerare i fattori seguenti:

  • Obiettivo tempo di ripristino
    Il tempo di failover è probabilmente maggiore perché le tabelle ottimizzate per la memoria devono essere caricate in memoria prima che il database venga reso disponibile.

  • Tabelle SCHEMA_ONLY
    Tenere presente che le tabelle SCHEMA_ONLY saranno vuote e senza righe dopo il failover. Si tratta di un comportamento previsto definito dall'applicazione. Questo comportamento corrisponde esattamente a ciò che succede quando si riavvia un database OLTP in memoria con una o più tabelle SCHEMA_ONLY.

Supporto per la replica transazionale in OLTP In memoria

Le tabelle con funzione di 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. Per altre informazioni, vedere Replica in sottoscrittori di tabelle con ottimizzazione per la memoria.

Vedi anche

Gruppi di disponibilità Always On (SQL Server)
Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)
Repliche secondarie attive: Repliche secondarie leggibili (gruppi di disponibilità Always On)
Replica in sottoscrittori di tabelle con ottimizzazione per la memoria