Requisiti per l'utilizzo di tabelle con ottimizzazione per la memoriaRequirements for Using Memory-Optimized Tables

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per l'uso di OLTP in memoria nel database di Azure, vedere Introduzione alle tecnologie in memoria (anteprima) in database SQL.For using In-Memory OLTP in Azure DB see Get started with In-Memory in SQL Database.

In aggiunta ai requisiti indicati in Requisiti hardware e software per l'installazione di SQL Server, per usare OLTP in memoria sono necessari i requisiti seguenti:In addition to the Hardware and Software Requirements for Installing SQL Server, the following are requirements to use In-Memory OLTP:

  • SQL Server 2016SQL Server 2016 SP1 o versione successiva, qualsiasi edizione. SP1 (or later), any edition. Per SQL Server 2014SQL Server 2014 e SQL Server 2016SQL Server 2016 RTM (pre-SP1) sono necessarie le edizioni Enterprise, Developer o Evaluation.For SQL Server 2014SQL Server 2014 and SQL Server 2016SQL Server 2016 RTM (pre-SP1) you need Enterprise, Developer, or Evaluation edition.

    Nota

    OLTP in memoria richiede la versione di SQL ServerSQL Server a 64 bit.In-Memory OLTP requires the 64-bit version of SQL ServerSQL Server.

  • SQL ServerSQL Server richiede memoria sufficiente per contenere i dati in tabelle ottimizzate per la memoria e indici, nonché memoria aggiuntiva per supportare il carico di lavoro in linea. needs enough memory to hold the data in memory-optimized tables and indexes, as well as additional memory to support the online workload. Per altre informazioni, vedere Stimare i requisiti di memoria delle tabelle con ottimizzazione per la memoria .See Estimate Memory Requirements for Memory-Optimized Tables for more information.

  • Quando si esegue SQL ServerSQL Server in una macchina virtuale (VM), assicurarsi che la memoria allocata alla macchina virtuale sia sufficiente per supportare la memoria necessaria per gli indici e le tabelle ottimizzate per la memoria.When running SQL ServerSQL Server in a Virtual Machine (VM), ensure there is enough memory allocated to the VM to support the memory needed for memory-optimized tables and indexes. A seconda dell'applicazione host della macchina virtuale, l'opzione di configurazione per garantire l'allocazione di memoria per la macchina virtuale può essere chiamata prenotazione di memoria oppure, se viene usata la memoria dinamica, RAM minima.Depending on the VM host application, the configuration option to guarantee memory allocation for the VM could be called Memory Reservation or, when using Dynamic Memory, Minimum RAM. Assicurarsi che queste impostazioni siano sufficienti per soddisfare le esigenze dei database in SQL ServerSQL Server.Make sure these settings are sufficient for the needs of the databases in SQL ServerSQL Server.

  • Liberare una quantità di spazio su disco corrispondente al doppio delle dimensioni delle tabelle ottimizzate per la memoria durevoli.Free disk space that is two times the size of your durable memory-optimized tables.

  • Un processore deve supportare l'istruzione cmpxchg16b per l'uso di OLTP in memoria.A processor needs to support the instruction cmpxchg16b to use In-Memory OLTP. Tutti i moderni processori a 64 bit supportano cmpxchg16b.All modern 64-bit processors support cmpxchg16b.

    Se si usa una macchina virtuale e SQL ServerSQL Server visualizza un errore causato da un processore di versione precedente, controllare se l'applicazione host della macchina virtuale include un'opzione di configurazione che consente l'uso di cmpxchg16b.If you are using a Virtual Machine and SQL ServerSQL Server displays an error caused by an older processor, see if the VM host application has a configuration option to allow cmpxchg16b. In caso contrario, è possibile usare Hyper-, che supporta cmpxchg16b senza dover modificare l'opzione di configurazione.If not, you could use Hyper-V, which supports cmpxchg16b without needing to modify a configuration option.

  • OLTP in memoria viene installato come parte dei servizi del motore di database.In-Memory OLTP is installed as part of Database Engine Services.

    Per installare la generazione del report (Determinare se una tabella o una stored procedure deve essere trasferita a OLTP in memoria) e SQL Server Management StudioSQL Server Management Studio (per gestire OLTP In memoria tramite Esplora oggetti SQL Server Management StudioSQL Server Management Studio), scaricare SQL Server Management Studio (SSMS).To install report generation (Determining if a Table or Stored Procedure Should Be Ported to In-Memory OLTP) and SQL Server Management StudioSQL Server Management Studio (to manage In-Memory OLTP via SQL Server Management StudioSQL Server Management Studio Object Explorer), download SQL Server Management Studio (SSMS).

Note importanti sull'uso di OLTP in memoriaIn-Memory OLTPImportant Notes on using OLTP in memoriaIn-Memory OLTP

  • A partire da SQL Server 2016SQL Server 2016 non esiste alcun limite alle dimensioni delle tabelle ottimizzate per la memoria, ad eccezione della memoria disponibile.Starting SQL Server 2016SQL Server 2016, there is no limit on the size of memory-optimized tables, other than available memory.

  • In SQL Server 2014SQL Server 2014, le dimensioni totali in memoria di tutte le tabelle durevoli di un database non devono superare i 250 GB.In SQL Server 2014SQL Server 2014, the total in-memory size of all durable tables in a database should not exceed 250 GB. Per altre informazioni, vedere Stimare i requisiti di memoria delle tabelle con ottimizzazione per la memoria.For more information, see Estimate Memory Requirements for Memory-Optimized Tables.

Nota

A partire da SQL Server 2016SQL Server 2016 SP1, le edizioni Standard ed Express supportano OLTP in memoria, ma impongono quote sulla quantità di memoria che è possibile usare per le tabelle ottimizzate per la memoria in un database specifico.Starting SQL Server 2016SQL Server 2016 SP1, Standard and Express Editions support In-Memory OLTP, but they impose quotas on the amount of memory you can use for memory-optimized tables in a given database. Nell'edizione Standard tale quota è di 32 GB per ogni database; nell'edizione Express è di 352 MB per ogni database.In Standard edition this is 32GB per database; in Express edition this is 352MB per database.

  • Se si creano uno o più database con tabelle ottimizzate per la memoria, è consigliabile abilitare l'inizializzazione immediata concedendo all'account di avvio del servizio SQL ServerSQL Server il diritto utente SE_MANAGE_VOLUME_NAME.If you create one or more databases with memory-optimized tables, you should enable Instant File Initialization (IFI) by granting the SQL ServerSQL Server service startup account the SE_MANAGE_VOLUME_NAME user right. 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.Without IFI, memory-optimized storage files (data and delta files) will be initialized upon creation, which can have negative impact on the performance of your workload. Per altre informazioni sull'inizializzazione immediata dei file e su come abilitarla, vedere Inizializzazione immediata dei file di database.For more information about IFI, including how to enable it, see Database Instant File Initialization.

Vedere ancheSee Also

OLTP in memoria (ottimizzazione per la memoria)In-Memory OLTP (In-Memory Optimization)
Inizializzazione immediata dei file di databaseDatabase Instant File Initialization
Guida all'architettura di gestione della memoriaMemory Architecture guide