Funzionalità di SQL Server non supportate per OLTP in memoriaUnsupported SQL Server Features for In-Memory OLTP

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

Questo argomento illustra le funzionalità di SQL ServerSQL Server non supportate per l'uso con oggetti con ottimizzazione per la memoria.This topic discusses SQL ServerSQL Server features that are not supported for use with memory-optimized objects.

SQL ServerSQL Server Funzionalità non supportate per OLTP in memoria Features Not Supported for In-Memory OLTP

Le funzionalità di SQL ServerSQL Server indicate di seguito non sono supportate in un database contenente oggetti con ottimizzazione per la memoria, incluso un filegroup di dati con ottimizzazione per la memoria.The following SQL ServerSQL Server features are not supported on a database that has memory-optimized objects (including memory-optimized data filegroup).

Funzionalità non supportataUnsupported Feature Descrizione della funzionalitàFeature Description
Compressione dei dati per tabelle con ottimizzazione per la memoria.Data compression for memory-optimized tables. È possibile utilizzare la funzionalità di compressione dei dati per comprimere i dati in un database e ridurre le dimensioni del database.You can use the data compression feature to help compress the data inside a database, and to help reduce the size of the database. Per altre informazioni, vedere Data Compression.For more information, see Data Compression.
Partizionamento di tabelle con ottimizzazione per la memoria, di indici HASH e di indici non cluster.Partitioning of memory-optimized tables and HASH indexes, and of nonclustered indexes. I dati di tabelle e indici partizionati vengono divisi in unità distribuibili tra più filegroup in un database.The data of partitioned tables and indexes is divided into units that can be spread across more than one filegroup in a database. Per altre informazioni, vedere Partitioned Tables and Indexes.For more information, see Partitioned Tables and Indexes.
ReplicaReplication Le configurazioni di replica diverse dalla replica transazionale in tabelle con ottimizzazione della memoria nei sottoscrittori non sono compatibili con tabelle o viste che fanno riferimento a tabelle con ottimizzazione per la memoria.Replication configurations, other than transactional replication to memory-optimized tables on subscribers, are incompatible with tables or views referencing memory-optimized tables.

Se è presente un filegroup con ottimizzazione per la memoria, la replica con sync_mode="snapshot del database" non è supportata.If there is a memory-optimized filegroup, replication using sync_mode=’database snapshot’ is not supported.

Per altre informazioni, vedere Replica in sottoscrittori di tabelle con ottimizzazione per la memoria.For more information, see Replication to Memory-Optimized Table Subscribers.
MirroringMirroring Il mirroring del database non è supportato per i database con un filegroup MEMORY_OPTIMIZED_DATA.Database mirroring is not supported for databases with a MEMORY_OPTIMIZED_DATA filegroup. Per altre informazioni sul mirroring, vedere Mirroring del Database (SQL Server).For more information about mirroring, see Database Mirroring (SQL Server).
Ricompilazione del logRebuild log La ricompilazione del log, tramite il comando attach o l'istruzione ALTER DATABASE, non è supportata per i database che contengono un filegroup MEMORY_OPTIMIZED_DATA.Rebuilding the log, either through attach or ALTER DATABASE, is not supported for databases with a MEMORY_OPTIMIZED_DATA filegroup.
Server collegatoLinked Server Non è possibile accedere a server collegati nella stessa query o transazione come tabelle con ottimizzazione per la memoria.You cannot access linked servers in the same query or transaction as memory-optimized tables. Per altre informazioni, vedere Server collegati (Motore di database).For more information, see Linked Servers (Database Engine).
Registrazione bulkBulk logging Indipendentemente dal modello di recupero del database, tutte le operazioni nelle tabelle durevoli con ottimizzazione per la memoria vengono sempre registrate completamente.Regardless of the recovery model of the database, all operations on durable memory-optimized tables are always fully logged.
Registrazione minimaMinimal logging La registrazione minima non è supportata dalle tabelle con ottimizzazione per la memoria.Minimal logging is not supported for memory-optimized tables. Per altre informazioni sulla registrazione minima, vedere Log delle transazioni (SQL Server) e Prerequisiti per la registrazione minima nell'importazione in blocco.For more information about minimal logging, see The Transaction Log (SQL Server) and Prerequisites for Minimal Logging in Bulk Import.
Rilevamento modificheChange tracking È possibile abilitare il rilevamento delle modifiche in un database con oggetti di OLTP in memoria,Change tracking can be enabled on a database with In-Memory OLTP objects. tuttavia le modifiche nelle tabelle con ottimizzazione per la memoria non vengono rilevate.However, changes in memory-optimized tables are not tracked.
trigger DDLDDL triggers I trigger DDL a livello di database e di server non sono supportati con le tabelle di OLTP in memoria né con i moduli compilati in modo nativo.Neither database-level nor server-level DDL triggers are supported with In-Memory OLTP tables or with natively compiled modules.
Change Data Capture (CDC)Change Data Capture (CDC) CDC non può essere usato con un database che contiene tabelle con ottimizzazione per la memoria perché usa internamente un trigger DDL per DROP TABLE.CDC cannot be used with a database that has memory-optimized tables, because internally CDC uses a DDL trigger for DROP TABLE.
Modalità fiberFiber mode La modalità fiber non è supportata con le tabelle con ottimizzazione per la memoria:Fiber mode is not supported with memory-optimized tables:

Se la modalità fiber è attiva, non è possibile creare database con filegroup con ottimizzazione per la memoria o aggiungere filegroup con ottimizzazione per la memoria a database esistenti.If fiber mode is active, you cannot create databases with memory-optimized filegroups, nor can you add memory-optimized filegroups to existing databases.

È possibile abilitare la modalità fiber se sono presenti database con filegroup con ottimizzazione per la memoria.You can enable fiber mode if there are databases with memory-optimized filegroups. Tuttavia, l'abilitazione della modalità fiber richiede il riavvio del server.However, enabling fiber mode requires a server restart. In quella situazione il recupero dei database con filegroup con ottimizzazione per la memoria avrà esito negativo.In that situation, databases with memory-optimized filegroups would fail to recover. Verrà quindi visualizzato un messaggio di errore che suggerisce di disabilitare la modalità fiber per usare i database con i filegroup con ottimizzazione per la memoria.Then you would see an error message suggesting that you disable fiber mode to use databases with memory-optimized filegroups.

Se è attiva la modalità fiber, non sarà possibile allegare e ripristinare un database con filegroup con ottimizzazione per la memoria.If fiber mode is active, attaching and restoring a databases which has a memory-optimized filegroup fails. Il database verrà contrassegnato come sospetto.The databases would be marked as suspect.

Per altre informazioni, vedere lightweight pooling Server Configuration Option.For more information, see lightweight pooling Server Configuration Option.
Limitazione di Service BrokerService Broker limitation Non è possibile accedere a una coda da una stored procedure compilata in modo nativo,Cannot access a queue from a natively compiled stored procedure.

né a una coda in un database remoto in una transazione che accede a tabelle con ottimizzazione per la memoria.Cannot access a queue in a remote database in a transaction that accesses memory-optimized tables.
Replica nei sottoscrittoriReplication on subscribers La replica transazionale in tabelle con ottimizzazione per la memoria nei sottoscrittori è supportata con alcune restrizioni.Transactional replication to memory-optimized tables on subscribers is supported, but with some restrictions. Per altre informazioni, vedere Replica in sottoscrittori di tabelle con ottimizzazione per la memoriaFor more information, see Replication to Memory-Optimized Table Subscribers

Query e transazioni tra databaseCross-database queries and transcations

Salvo alcune eccezioni, le transazioni tra database non sono supportate.With a few exceptions, cross-database transactions are not supported. Nella tabella seguente vengono descritti i casi supportati e le relative restrizioni.The following table describes which cases are supported, and the corresponding restrictions. Vedere anche Query tra database.(See also, Cross-Database Queries.)

DatabaseDatabases AllowedAllowed DescriptionDescription
Database utente, modello e msdb.User databases, model, and msdb. NoNo Nella maggior parte dei casi, query e transazioni tra database non sono supportate.In most cases, cross-database queries and transactions are not supported.

Una query non è in grado di accedere ad altri database se usa una tabella con ottimizzazione per la memoria o una stored procedure compilata in modo nativo.A query cannot access other databases if the query uses either a memory-optimized table or a natively compiled stored procedure. Questa restrizione si applica sia alle transazioni che alle query.This restriction applies to transactions as well as to queries.

Le eccezioni sono i database di sistema tempdb e master.The exceptions are the system databases tempdb and master. In questo caso il database master è disponibile per l'accesso in sola lettura.Here the master database is available for read-only access.
Database delle risorse, tempdbResource database, tempdb Yes In una transazione che coinvolge gli oggetti di OLTP In memoria, i database di sistema risorse e tempdb possono essere usati senza alcuna restrizione aggiuntiva.In a transaction that touches In-Memory OLTP objects, the Resource and tempdb system databases can be used without added restriction.

Scenari non supportatiScenarios Not Supported

  • Accesso a tabelle con ottimizzazione per la memoria usando la connessione del contesto dall'interno di stored procedure CLR.Accessing memory-optimized tables by using the context connection from inside CLR stored procedures.

  • Keyset e cursori dinamici sulle query che accedono a tabelle con ottimizzazione per la memoria.Keyset and dynamic cursors on queries accessing memory-optimized tables. Questi cursori diventano statici e di sola lettura.These cursors are degraded to static and read-only.

  • L'uso di MERGE INTO target, dove target è una tabella con ottimizzazione per la memoria, non è supportato.Using MERGE INTO target, where target is a memory-optimized table, is unsupported.

    • MERGE USING source è supportato per le tabelle con ottimizzazione per la memoria.MERGE USING source is supported for memory-optimized tables.
  • Il tipo di dati ROWVERSION (TIMESTAMP) non è supportato.The ROWVERSION (TIMESTAMP) data type is not supported. Per altre informazioni, vedere FROM (Transact-SQL).For more information, see FROM (Transact-SQL).

  • L'opzione di chiusura automatica non è supportata con i database che contengono un filegroup MEMORY_OPTIMIZED_DATAAuto-close is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup

  • Gli snapshot del database non sono supportati per i database che contengono un filegroup MEMORY_OPTIMIZED_DATA.Database snapshots as not supported for databases that have a MEMORY_OPTIMIZED_DATA filegroup.

  • La DDL transazionale, ad esempio le istruzioni CREATE/ALTER/DROP degli oggetti OLTP in memoria, non è supportata nelle transazioni utente.Transactional DDL, such as CREATE/ALTER/DROP of In-Memory OLTP objects, is not supported inside user transactions.

  • Notifica degli eventi.Event notification.

  • Gestione basata su criteri.Policy-based management (PBM).

    • Le modalità "impedisci esecuzione" e "solo log" della funzionalità di gestione basata su criteri non sono supportate.Prevent and log only modes of PBM are not supported. La presenza di tali criteri nel server può impedire la corretta esecuzione della DDL di OLTP in memoria.Existence of such policies on the server may prevent In-Memory OLTP DDL from executing successfully. Le modalità Su richiesta e Su pianificazione sono supportate.On demand and on schedule modes are supported.
  • L'indipendenza del database (Database indipendenti) non è supportata con OLTP in memoria.Database containment (Contained Databases) is not supported with In-Memory OLTP.

    • L'autenticazione di database indipendenti è supportata,Contained database authentication is supported. Tuttavia, tutti gli oggetti OLTP in memoria sono contrassegnati come entità che interrompono il contenimento nella vista a gestione dinamica (DMV) dm_db_uncontained_entities.However, all In-Memory OLTP objects are marked as breaking containment in the dynamic management view (DMV) dm_db_uncontained_entities.

Vedere ancheSee Also