Requisiti per l'utilizzo di tabelle con ottimizzazione per la memoria
Oltre ai requisiti hardware e software per l'installazione di SQL Server 2014, sono necessari i requisiti per l'uso di In-Memory OLTP:
Enterprise, Developer o Evaluation edition a 64 bit di SQL Server 2014.
SQL Server necessita di memoria sufficiente per contenere i dati nelle tabelle e negli indici ottimizzati per la memoria. Per tenere conto delle versioni delle righe, è necessario fornire una quantità di memoria che sia il doppio delle dimensioni previste per gli indici e le tabelle ottimizzate per la memoria. La quantità di memoria effettiva necessaria dipende tuttavia dal carico di lavoro. È consigliabile monitorare l'utilizzo della memoria e apportare modifiche in base alle esigenze. Le dimensioni dei dati nelle tabelle ottimizzate per la memoria non devono superare la percentuale consentita del pool. Per individuare le dimensioni di una tabella ottimizzata per la memoria, vedere sys.dm_db_xtp_table_memory_stats (Transact-SQL).
Se nel database sono presenti tabelle basate su disco, è necessario fornire la memoria sufficiente per il pool di buffer e l'elaborazione delle query in quelle tabelle.
È importante conoscere la quantità di memoria richiesta dall'applicazione OLTP in memoria. Per altre informazioni, vedere Stimare i requisiti di memoria delle tabelle con ottimizzazione per la memoria .
Spazio libero su disco che sia il doppio delle dimensioni delle tabelle ottimizzate per la memoria durevoli.
Un processore deve supportare l'istruzione cmpxchg16b per l'uso di OLTP in memoria. Tutti i moderni processori a 64 bit supportano cmpxchg16b.
Se si usa un'applicazione host vm e SQL Server viene visualizzato un errore causato da un processore precedente, vedere se l'applicazione ha un'opzione di configurazione per consentire cmpxchg16b. In caso contrario, è possibile usare Hyper-, che supporta cmpxchg16b senza dover modificare l'opzione di configurazione.
Per installare In-Memory OLTP, selezionare Servizi motore di database quando si installa SQL Server 2019 (15.x).
Per installare la generazione di report (determinare se una tabella o una stored procedure deve essere portata in In-Memory OLTP) e SQL Server Management Studio (per gestire In-Memory OLTP tramite SQL Server Management Studio Esplora oggetti), selezionare Strumenti di gestione-Basic o Strumenti di gestione avanzati quando si installa SQL Server 2019 (15.x).
Note importanti sull'uso di In-Memory OLTP
Le dimensioni totali in memoria di tutte le tabelle durevoli di un database non devono superare i 250 GB. Per altre informazioni, vedere Durabilità per le tabelle Memory-Optimized.
Questa versione di In-Memory OLTP è destinata a eseguire in modo ottimale nei sistemi con 2 o 4 socket e meno di 60 core.
I file di checkpoint non devono essere eliminati manualmente. SQL Server esegue automaticamente Garbage Collection nei file di checkpoint non necessari. Per altre informazioni, vedere la discussione sull'unione di dati e file delta in Durabilità per le tabelle Memory-Optimized.
In questa prima versione di In-Memory OLTP (in SQL Server 2014), l'unico modo per rimuovere un filegroup ottimizzato per la memoria consiste nell'eliminare il database.
Se si tenta di eliminare un batch di grandi dimensioni di righe mentre è presente un carico di lavoro simultaneo di aggiornamento o inserimento che influisce sull'intervallo di righe che si sta tentando di eliminare, l'eliminazione probabilmente avrà esito negativo. La soluzione alternativa consiste nell'arrestare il carico di lavoro di aggiornamento o inserimento prima di eseguire l'eliminazione. In alternativa, è possibile configurare la transazione in transazioni più piccole, che hanno minore probabilità di essere interrotte da un carico di lavoro simultaneo. Come per tutte le operazioni di scrittura nelle tabelle ottimizzate per la memoria, usare la logica di riesecuzione (Guidelines for Retry Logic for Transactions on Memory-Optimized Tables).
Se si creano uno o più database con tabelle ottimizzate per la memoria, è necessario abilitare l'inizializzazione immediata del file (concedere l'account di avvio del servizio di SQL Server l'utente SE_MANAGE_VOLUME_NAME diritto) per l'istanza di SQL Server. Senza l'inizializzazione immediata dei file, i file di archiviazione ottimizzati per la memoria (file di dati e differenziali) vengono inizializzati al momento della creazione. Tale operazione può causare una riduzione delle prestazioni del carico di lavoro. Per altre informazioni sull'inizializzazione immediata dei file, vedere Inizializzazione di file di database. Per informazioni su come abilitare l'inizializzazione immediata dei file, vedere l'argomento relativo ai motivi e alle modalità di abilitazione dell'inizializzazione immediata dei file.
Questo articolo è stato utile? Siamo in ascolto
Quali informazioni si stanno cercando? La ricerca ha restituito i risultati desiderati? Stiamo ascoltando il tuo feedback per migliorare il contenuto. Inviare eventuali commenti all'indirizzo sqlfeedback@microsoft.com.