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

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2014)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2014)noAzure 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 2016, per usare OLTP in memoria sono necessari i requisiti seguenti:In addition to the Hardware and Software Requirements for Installing SQL Server 2016, the following are requirements to use In-Memory OLTP:

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

    • Nota: OLTP in memoria richiede la versione di SQL Server a 64 bit.Note: In-Memory OLTP requires the 64-bit version of SQL Server.
  • SQL ServerSQL Server richiede memoria sufficiente per contenere i dati in tabelle con ottimizzazione 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 con ottimizzazione 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 con ottimizzazione 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 2016 non esiste alcun limite alle dimensioni delle tabelle con ottimizzazione per la memoria, ad eccezione della memoria disponibile.Starting SQL Server 2016 there is no limit on the size of memory-optimized tables, other than available memory. In SQL Server 2014 le dimensioni totali in memoria di tutte le tabelle durevoli di un database non devono superare i 250 GB per i database di SQL Server 2014.In SQL Server 2014 the total in-memory size of all durable tables in a database should not exceed 250 GB for SQL Server 2014 databases. 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 2016 SP1, le edizioni Standard ed Express supportano OLTP in memoria, ma impongono quote sulla quantità di memoria che è possibile usare per le tabelle con ottimizzazione per la memoria in un database specifico.Note: Starting SQL 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 crea uno o più database con tabelle con ottimizzazione per la memoria, è consigliabile abilitare l'inizializzazione immediata dei file per l'istanza di SQL ServerSQL Server . Per eseguire tale operazione è necessario concedere 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 (grant the SQL ServerSQL Server service startup account the SE_MANAGE_VOLUME_NAME user right) for the SQL ServerSQL Server instance. Senza l'inizializzazione immediata dei file, i file di archiviazione con ottimizzazione 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 Instant File Initialization, 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, vedere Inizializzazione di file di database.For more information about Instant File Initialization, see Database File Initialization. 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.For information on how to enable Instant File Initialization, see How and Why to Enable Instant File Initialization.

Vedere ancheSee Also

OLTP in memoria (ottimizzazione per la memoria)In-Memory OLTP (In-Memory Optimization)