Condividi tramite


Transact-SQL Costrutti non supportati da OLTP In-Memory

Le tabelle ottimizzate per la memoria e le stored procedure compilate in modo nativo non supportano l'intera area di superficie Transact-SQL supportata dalle tabelle basate su disco e dalle stored procedure interpretate Transact-SQL. Quando si tenta di usare una delle funzionalità non supportate, il server restituisce un errore.

Il testo del messaggio di errore indica il tipo di istruzione Transact-SQL (funzionalità, operazione, opzione, ad esempio) e il nome della funzionalità o della parola chiave Transact-SQL. La maggior parte delle funzionalità non supportate restituirà l'errore 10794, con il testo del messaggio di errore che indica la funzionalità non supportata. Le tabelle seguenti elencano le Transact-SQL caratteristiche e le parole chiave che possono essere visualizzate nel testo del messaggio di errore, nonché l'azione correttiva per risolvere l'errore.

Per ulteriori informazioni sulle funzionalità supportate con tabelle ottimizzate per la memoria e stored procedure compilate nativamente, consultare:

Database che usano In-Memory OLTP

Nella tabella seguente sono elencate le Transact-SQL funzionalità e le parole chiave che possono essere visualizzate nel testo del messaggio di un errore che interessa un database OLTP In-Memory.

TIPO Nome Risoluzione
Opzione CHIUSURA_AUTOMATICA L'opzione di database AUTO_CLOSE=ON non è supportata con i database con un filegroup MEMORY_OPTIMIZED_DATA.
Opzione ATTACH_REBUILD_LOG L'opzione CREATE database ATTACH_REBUILD_LOG non è supportata con i database con un filegroup MEMORY_OPTIMIZED_DATA.
Caratteristica / Funzionalità ISTANTANEA DEL DATABASE La creazione di snapshot del database non è supportata con i database con un filegroup MEMORY_OPTIMIZED_DATA.
Caratteristica / Funzionalità Replica che utilizza il sync_method 'snapshot del database' o 'carattere dello snapshot del database' La replica che usa il sync_method 'database snapshot' o 'database snapshot character' non è supportata con i database con un filegroup MEMORY_OPTIMIZED_DATA.
Caratteristica / Funzionalità DBCC CHECKDB

DBCC CHECKTABLE
DBCC CHECKDB ignora le tabelle ottimizzate per la memoria nel database.

DBCC CHECKTABLE avrà esito negativo per le tabelle ottimizzate per la memoria.

Memory-Optimized Tabelle

Nella tabella seguente sono elencate le funzionalità e le parole chiave Transact-SQL che possono essere visualizzate nel testo del messaggio di un errore che interessa una tabella ottimizzata per la memoria, nonché l'azione correttiva per risolvere l'errore.

TIPO Nome Risoluzione
Caratteristica / Funzionalità ATTIVO Le tabelle ottimizzate per la memoria non possono essere inserite in un filegroup o in uno schema di partizione. Rimuovere la clausola ON dall'istruzione CREATE TABLE.
Tipo di dati Nome tipo di dati Il tipo di dati indicato non è supportato. Sostituire il tipo con uno dei tipi di dati supportati. Per altre informazioni, vedere Tipi di dati supportati.
Caratteristica / Funzionalità Colonne calcolate Le colonne calcolate non sono supportate per le tabelle ottimizzate per la memoria. Rimuovere le colonne calcolate dall'istruzione CREATE TABLE .
Caratteristica / Funzionalità Duplicazione La replica non è supportata con tabelle ottimizzate per la memoria.
Caratteristica / Funzionalità FILESTREAM L'archiviazione FILESTREAM non è supportata nelle colonne delle tabelle ottimizzate per la memoria. Rimuovere la FILESTREAM parola chiave dalla definizione di colonna.
Caratteristica / Funzionalità RADO Le colonne delle tabelle ottimizzate per la memoria non possono essere definite come SPARSE. Rimuovere la SPARSE parola chiave dalla definizione di colonna.
Caratteristica / Funzionalità ROWGUIDCOL L'opzione ROWGUIDCOL non è supportata per le colonne di tabelle ottimizzate per la memoria. Rimuovere la ROWGUIDCOL parola chiave dalla definizione di colonna.
Caratteristica / Funzionalità CHIAVE ESTERNA I vincoli FOREIGN KEY non sono supportati per le tabelle ottimizzate per la memoria. Rimuovere il vincolo dalla definizione della tabella.

Per informazioni su come attenuare la mancanza di supporto per i vincoli, vedere Migrazione dei vincoli di controllo e chiave esterna.
Caratteristica / Funzionalità VERIFICA I vincoli CHECK non sono supportati per le tabelle ottimizzate per la memoria. Rimuovere il vincolo dalla definizione della tabella.

Per informazioni su come ridurre la mancanza di supporto per i vincoli, vedere Migrazione dei vincoli di verifica e chiave esterna.
Caratteristica / Funzionalità UNICO I vincoli UNIQUE non sono supportati per le tabelle ottimizzate per la memoria. Rimuovere il vincolo dalla definizione della tabella.

Per informazioni su come attenuare la mancanza di supporto per i vincoli, vedere Migrazione dei vincoli check e foreign key.
Caratteristica / Funzionalità Archivio per colonne Gli indici COLUMNSTORE non sono supportati con tabelle ottimizzate per la memoria. Specificare invece un indice NONCLUSTERED o un indice HASH NONCLUSTERED.
Caratteristica / Funzionalità indice clusterizzato Specificare un indice non cluster. Nel caso di un indice di chiave primaria assicurarsi di specificare PRIMARY KEY NONCLUSTERED [HASH].
Caratteristica / Funzionalità pagina codice non-1252 Le colonne nelle tabelle ottimizzate per la memoria con tipi di dati char e varchar devono usare la pagina codice 1252. Utilizzare n(var)char anziché (var)char oppure utilizzare una regola di confronto con la pagina codice 1252, ad esempio Latin1_General_BIN2. Per altre informazioni, vedere Regole di confronto e tabelle codici.
Caratteristica / Funzionalità DDL all'interno di transazioni Le tabelle ottimizzate per la memoria e le stored procedure compilate in modo nativo non possono essere create o eliminate nel contesto di una transazione utente. Non avviare una transazione e verificare che l'impostazione di sessione IMPLICIT_TRANSACTIONS sia OFF prima di eseguire l'istruzione CREATE o DROP.
Caratteristica / Funzionalità Trigger DDL Le tabelle ottimizzate per la memoria e le stored procedure compilate in modo nativo non possono essere create o eliminate se è presente un trigger del server o del database per tale operazione DDL. Rimuovere i trigger sul server e sul database relativi a CREATE/DROP TABLE e CREATE/DROP PROCEDURE.
Caratteristica / Funzionalità NOTIFICA DI EVENTO Le tabelle ottimizzate per la memoria e le stored procedure compilate in modo nativo non possono essere create o eliminate se è presente una notifica degli eventi del server o del database per l'operazione DDL. Rimuovere le notifiche degli eventi del server e del database in CREATE TABLE o DROP TABLE e CREATE PROCEDURE o DROP PROCEDURE.
Caratteristica / Funzionalità FileTable Le tabelle ottimizzate per la memoria non possono essere create come tabelle di file. Rimuovere l'argomento AS FileTable dall'istruzione CREATE TABLE
Operazione Aggiornamento delle colonne chiave primaria Non è possibile aggiornare le colonne chiave primaria nelle tabelle ottimizzate per la memoria e nei tipi di tabella. Se la chiave primaria deve essere aggiornata, eliminare la riga precedente e inserire la nuova riga con la chiave primaria aggiornata.
Operazione CREATE INDEX Gli indici nelle tabelle ottimizzate per la memoria devono essere specificati inline con l'istruzione CREATE TABLE . Per aggiungere un indice a una tabella ottimizzata per la memoria, è necessario eliminare la tabella e poi ricrearla, includendo la nuova specifica dell'indice.
Operazione ALTER TABLE (modifica tabella) La modifica delle tabelle ottimizzate per la memoria non è supportata. Eliminare e ricreare la tabella usando la definizione di tabella aggiornata.
Operazione CREATE FULLTEXT INDEX … Gli indici full-text non sono supportati per le tabelle ottimizzate per la memoria.
Operazione modifica dello schema Le tabelle ottimizzate per la memoria e le stored procedure compilate in modo nativo non supportano le modifiche dello schema, ad esempio sp_rename.

Il tentativo di apportare modifiche allo schema, ad esempio la ridenominazione di una tabella, genererà l'errore 12320. Le operazioni che richiedono una modifica alla versione dello schema, ad esempio la ridenominazione, non sono supportate con le tabelle ottimizzate per la memoria.

Per modificare lo schema, eliminare e ricreare la tabella o la routine usando una definizione aggiornata.
Operazione CREATE TRIGGER I trigger nelle tabelle ottimizzate per la memoria non sono supportati.
Operazione TRONCA TABELLA L'operazione TRUNCATE non è supportata per le tabelle ottimizzate per la memoria. Per rimuovere tutte le righe da una tabella, eliminare tutte le righe usando DELETE FROMla tabella o eliminare e ricreare la tabella.
Operazione ALTER AUTHORIZATION La modifica del proprietario di una tabella ottimizzata per la memoria esistente o di una stored procedure compilata in modo nativo non è supportata. Annullare e ricreare la tabella o la procedura per modificare la proprietà.
Operazione ALTER SCHEMA La modifica dello schema di una tabella ottimizzata per la memoria esistente o di una stored procedure compilata in modo nativo non è supportata. Eliminare e ricreare la tabella o la routine per modificare lo schema.
Operazione DBCC CHECKTABLE DBCC CHECKTABLE non è supportato con tabelle ottimizzate per la memoria.
Caratteristica / Funzionalità Impostazione ANSI_PADDING disattivata L'opzione ANSI_PADDING di sessione deve essere impostata su ON durante la creazione di tabelle ottimizzate per la memoria o stored procedure compilate in modo nativo. Eseguire SET ANSI_PADDING ON prima di eseguire l'istruzione CREATE.
Opzione Compressione_dati La compressione dei dati non è supportata per le tabelle ottimizzate per la memoria. Rimuovere l'opzione dalla definizione della tabella.
Caratteristica / Funzionalità DTC Non è possibile accedere alle tabelle ottimizzate per la memoria e alle stored procedure compilate in modo nativo dalle transazioni distribuite. Usare invece transazioni SQL.
Caratteristica / Funzionalità Set di risultati attivi multipli (MARS) Mars (Multiple Active Result Sets) non è supportato con le tabelle ottimizzate per la memoria. Questo errore può anche indicare l'uso del server collegato. Il server collegato può usare MARS. I server collegati non sono supportati con tabelle ottimizzate per la memoria. Connettersi invece direttamente al server e al database che ospita le tabelle ottimizzate per la memoria.
Operazione Tabelle ottimizzate per la memoria come destinazione di MERGE Le tabelle ottimizzate per la memoria non possono essere la destinazione di un'operazione MERGE . Usare invece le istruzioni INSERT, UPDATE o DELETE.

Indici in tabelle con ottimizzazione per la memoria

Nella tabella seguente sono elencate le funzionalità e le parole chiave Transact-SQL che possono essere visualizzate nel testo del messaggio di un errore che interessa un indice in una tabella ottimizzata per la memoria, nonché l'azione correttiva per risolvere l'errore.

TIPO Nome Risoluzione
Caratteristica / Funzionalità Indice filtrato Gli indici filtrati non sono supportati con tabelle ottimizzate per la memoria. Omettere la WHERE clausola dalla specifica dell'indice.
Caratteristica / Funzionalità UNICO Gli indici univoci non sono supportati per le tabelle ottimizzate per la memoria. Rimuovere l'argomento UNIQUE dalla specifica dell'indice.
Caratteristica / Funzionalità Colonne con valori nulli ammessi Tutte le colonne nella chiave di un indice in una tabella ottimizzata per la memoria devono essere specificate come NOT NULL. Includere il NOT NULL vincolo con tutte le colonne delle chiavi di indice.
Caratteristica / Funzionalità collatione non bin2 Tutte le colonne di caratteri nella chiave di un indice ottimizzato per la memoria devono essere dichiarate usando regole di confronto BIN2. Usare la COLLATE clausola per definire la collatione nella definizione di colonna. Per altre informazioni, vedere Regole di confronto e tabelle codici.
Caratteristica / Funzionalità Colonne incluse La specifica delle colonne incluse non è necessaria per le tabelle ottimizzate per la memoria. Tutte le colonne della tabella ottimizzata per la memoria vengono incluse in modo implicito in ogni indice ottimizzato per la memoria.
Operazione ALTER INDEX La modifica degli indici nelle tabelle ottimizzate per la memoria non è supportata. Invece, eliminare la tabella e ricrearla usando la specifica aggiornata dell'indice.
Operazione ELIMINA INDICE L'eliminazione di indici nelle tabelle ottimizzate per la memoria non è supportata. Eliminare la tabella e ricrearla con gli indici desiderati.
Opzione Indice Opzione Indice L'opzione di indice indicata non è supportata con gli indici nelle tabelle ottimizzate per la memoria. Rimuovere l'opzione dalla specifica dell'indice.

Indici hash non cluster

Nella tabella seguente sono elencate le caratteristiche e le parole chiave Transact-SQL che possono essere visualizzate nel testo del messaggio di un errore che interessa un indice hash non cluster, nonché l'azione correttiva per risolvere l'errore.

TIPO Nome Risoluzione
Opzione ASC/DESC Gli indici hash non clusterizzati non sono ordinati. Rimuovere le parole chiave ASC e DESC dalla specifica della chiave di indice.

Stored procedure compilate in modo nativo

La tabella seguente elenca le funzionalità e le parole chiave Transact-SQL che possono apparire nel testo del messaggio di un errore relativo a stored procedure compilate in modo nativo, nonché l'azione correttiva per risolvere l'errore.

TIPO Caratteristica / Funzionalità Risoluzione
Caratteristica / Funzionalità Variabili di tabella inline I tipi di tabella non possono essere dichiarati inline con dichiarazioni di variabili. I tipi di tabella devono essere dichiarati in modo esplicito tramite un'istruzione CREATE TYPE .
Caratteristica / Funzionalità Cursori I cursori non sono supportati su o nelle procedure memorizzate compilate in modo nativo.

-Quando si esegue la procedura dal client, usare RPC anziché l'API del cursore. Con ODBC, evitare l'istruzione EXECUTETransact-SQL , specificare invece direttamente il nome della routine.

-Quando si esegue la procedura da un batch Transact-SQL o da un'altra stored procedure, evitare di usare un cursore con la stored procedure compilata in modo nativo.

-Quando si crea una procedura conservata compilata nativamente, anziché usare un cursore, usare logica basata su insiemi o un WHILE ciclo.
Caratteristica / Funzionalità Valori predefiniti per i parametri non costanti Quando si usano valori predefiniti con parametri nelle stored procedure compilate in modo nativo, i valori devono essere costanti. Rimuovere tutti i caratteri jolly dalle dichiarazioni di parametro.
Caratteristica / Funzionalità ESTERNO Le stored procedure CLR non possono essere compilate in modo nativo. Rimuovere una delle seguenti opzioni: la clausola AS EXTERNAL o l'opzione NATIVE_COMPILATION dall'istruzione CREATE PROCEDURE.
Caratteristica / Funzionalità Stored procedure numerate Le stored procedure compilate in modo nativo non possono essere numerate. Rimuovere il ;numero dall'istruzione CREATE PROCEDURE .
Caratteristica / Funzionalità Istruzioni INSERT ... VALUES su più righe Impossibile inserire più righe usando la stessa INSERT istruzione in una stored procedure compilata in modo nativo. Crea INSERT istruzioni per ogni riga.
Caratteristica / Funzionalità Espressioni di tabella comuni (CTEs) Le espressioni di tabella comuni (CTE) non sono supportate nelle stored procedure compilate in modo nativo. Riformulare la query.
Caratteristica / Funzionalità sottoquery Le sottoquery (query annidate all'interno di un'altra query) non sono supportate. Riformulare la query.
Caratteristica / Funzionalità Calcolo La clausola COMPUTE non è supportata. Eliminalo dalla query.
Caratteristica / Funzionalità SELECT INTO (Seleziona e inserisci in) La clausola INTO non è supportata nell'istruzione SELECT. Riscrivere la query come INSERT INTOtabellaSELECT.
Caratteristica / Funzionalità PRODOTTO La clausola OUTPUT non è supportata. Rimuoverlo dall'interrogazione.
Caratteristica / Funzionalità elenco di colonne di inserimento incomplete Nelle INSERT istruzioni è necessario specificare valori per tutte le colonne della tabella.
Funzione Funzione La funzione predefinita non è supportata nelle stored procedure compilate in modo nativo. Rimuovere la funzione dalla procedura memorizzata. Per altre informazioni sulle funzioni predefinite supportate, vedere Stored procedure compilate in modo nativo.
Caratteristica / Funzionalità CASO L'istruzione CASE non è supportata nelle query all'interno di stored procedure compilate in modo nativo. Crea query per ogni caso. Per altre informazioni, vedere Implementazione di un'istruzione CASE.
Caratteristica / Funzionalità funzioni definite dall'utente Le funzioni definite dall'utente non possono essere usate nelle stored procedure compilate in modo nativo. Rimuovere il riferimento alla funzione dalla definizione della routine.
Caratteristica / Funzionalità aggregazioni definite dall'utente Le funzioni di aggregazione definite dall'utente non possono essere usate nelle stored procedure compilate in modo nativo. Rimuovere il riferimento alla funzione dalla routine.
Caratteristica / Funzionalità Metadati della modalità di esplorazione Le procedure memorizzate compilate in modo nativo non supportano i metadati nella modalità di esplorazione. Assicurarsi che l'opzione NO_BROWSETABLE di sessione sia impostata su OFF.
Caratteristica / Funzionalità DELETE con clausola FROM La clausola FROM non è supportata per le istruzioni DELETE con origine della tabella nelle procedure memorizzate compilate nativamente.

DELETE con la FROM clausola è supportata quando viene usata per indicare la tabella da cui eliminare.
Caratteristica / Funzionalità UPDATE con FROM Le istruzioni UPDATE non sono supportate dalla clausola FROM nelle stored procedure compilate in modo nativo.
Caratteristica / Funzionalità procedure temporanee Le procedure memorizzate temporanee non possono essere compilate nativamente. Creare una stored procedure compilata nativamente e permanente oppure una stored procedure temporanea interpretata Transact-SQL.
Livello di isolamento LEGGI NON COMMITTATO Il livello di isolamento READ UNCOMMITTED non è supportato per le stored procedure compilate in modo nativo. Usare un livello di isolamento supportato, ad esempio SNAPSHOT.
Livello di isolamento READ COMMITTED (lettura confermata) Il livello di isolamento READ UNCOMMITTED non è supportato per le stored procedure compilate in modo nativo. Usare un livello di isolamento supportato, ad esempio SNAPSHOT.
Caratteristica / Funzionalità tabelle temporanee Le tabelle in tempdb non possono essere usate nelle stored procedure compilate in modo nativo. Usare invece una variabile di tabella o una tabella ottimizzata per la memoria con DURABILITY=SCHEMA_ONLY.
Caratteristica / Funzionalità MARTE MARS (Multiple Active Result Sets) non è supportato con le stored procedure compilate in modo nativo. Questo errore può anche indicare l'uso del server collegato. Il server collegato può usare MARS. I server collegati non sono supportati con stored procedure compilate in modo nativo. Connettersi invece direttamente al server e al database che ospita le stored procedure compilate in modo nativo.
Caratteristica / Funzionalità DTC Non è possibile accedere alle tabelle ottimizzate per la memoria e alle stored procedure compilate in modo nativo dalle transazioni distribuite. Usare invece transazioni SQL.
Caratteristica / Funzionalità regole di confronto non bin2 Il confronto, l'ordinamento e altre operazioni sulle stringhe di caratteri nelle stored procedure compilate in modo nativo richiedono l'uso di regole di confronto BIN2. Usare la clausola COLLATE o usare colonne e variabili con regole di confronto appropriate. Per altre informazioni, vedere Regole di confronto e tabelle codici.
Caratteristica / Funzionalità Troncamento delle stringhe di caratteri con collatione SC. Le stringhe di caratteri con regole _SC di confronto usano la codifica UTF-16. La conversione di un valore n(var)char in un valore n(var)char con lunghezza ridotta comporta il troncamento. Questa opzione non è supportata per i valori UTF-16 nelle stored procedure compilate in modo nativo. Evitare il troncamento delle stringhe UTF-16.
Caratteristica / Funzionalità ESEGUI CON RICOMPILAZIONE L'opzione WITH RECOMPILE non è supportata per le stored procedure compilate in modo nativo.
Caratteristica / Funzionalità LEN e SUBSTRING con un argomento in regole di confronto SC Le stringhe di caratteri con regole di confronto _SC usano la codifica UTF-16. Le funzioni predefinite LEN e SUBSTRING, se usate all'interno di stored procedure compilate in modo nativo, non supportano la codifica UTF-16. Usare regole di confronto diverse o evitare di usare queste funzioni.
Caratteristica / Funzionalità Esecuzione dalla connessione amministrativa dedicata. Le procedure memorizzate compilate in modo nativo non possono essere eseguite dalla connessione amministrativa dedicata. Usare invece una connessione normale.
Operazione MODIFICA PROCEDURA Le stored procedure compilate in modo nativo non possono essere modificate. Per modificare la definizione della procedura, eliminare e ricreare la procedura memorizzata.
Operazione punto di salvataggio Le stored procedure compilate in modo nativo non possono essere richiamate dalle transazioni con un punto di salvataggio attivo. Rimuovere il punto di salvataggio dalla transazione.
Operazione ALTER AUTORIZZAZIONE La modifica del proprietario di una tabella ottimizzata per la memoria esistente o di una stored procedure compilata in modo nativo non è supportata. Eliminare e ricreare la tabella o la procedura per cambiare la proprietà.
Operatore OPENROWSET Questo operatore non è supportato. Rimuovere OPENROWSET dalla procedura memorizzata compilata nativamente.
Operatore OPENQUERY Questo operatore non è supportato. Rimuovere OPENQUERY dalla procedura memorizzata compilata in modo nativo.
Operatore OPENDATASOURCE Questo operatore non è supportato. Rimuovere OPENDATASOURCE dalla stored procedure compilata in modo nativo.
Operatore OPENXML Questo operatore non è supportato. Rimuovere OPENXML dalla procedura memorizzata compilata in modo nativo.
Operatore CONTAINSTABLE Questo operatore non è supportato. Rimuovere CONTAINSTABLE dalla procedura memorizzata compilata in modo nativo.
Operatore FREETEXTTABLE Questo operatore non è supportato. Rimuovere FREETEXTTABLE dalla procedura memorizzata compilata nativamente.
Caratteristica / Funzionalità Funzioni con valori di tabella Non è possibile fare riferimento a funzioni con valori di tabella da stored procedure compilate in modo nativo. Una possibile soluzione alternativa per questa restrizione consiste nell'aggiungere la logica nelle funzioni con valori di tabella al corpo della routine.
Operatore TABELLACAMBAMENTO Questo operatore non è supportato. Rimuovere CHANGETABLE dalla procedura memorizzata compilata in modo nativo.
Operatore GOTO Questo operatore non è supportato. Usare altri costrutti procedurali, ad esempio WHILE.
Operatore EXECUTE, INSERT EXEC L'annidamento di procedure memorizzate compilate nativamente non è supportato. Le operazioni necessarie possono essere specificate in linea, come parte della definizione della procedura memorizzata.
Operatore COMPENSARE Questo operatore non è supportato. Rimuovi OFFSET dalla procedura memorizzata compilata in modo nativo.
Operatore Unione Questo operatore non è supportato. Rimuovere UNION dalla stored procedure compilata in modo nativo. La combinazione di diversi set di risultati in un singolo set di risultati può essere eseguita usando una variabile di tabella.
Operatore INTERSECARE Questo operatore non è supportato. Rimuovere INTERSECT dalla procedura memorizzata compilata in modo nativo. In alcuni casi un INNER JOIN può essere usato per ottenere lo stesso risultato.
Operatore ECCETTO Questo operatore non è supportato. Rimuovere EXCEPT dalla stored procedure compilata in modo nativo.
Operatore JOIN ESTERNO Questo operatore non è supportato. Rimuovere OUTER JOIN dalla stored procedure compilata in modo nativo. Per altre informazioni, vedere Implementazione di un join esterno.
Operatore APPLICARE Questo operatore non è supportato. Rimuovere APPLY dalla procedura memorizzata compilata in modo nativo.
Operatore PERNO Questo operatore non è supportato. Rimuovere PIVOT dalla stored procedure compilata in modo nativo.
Operatore UNPIVOT Questo operatore non è supportato. Rimuovere UNPIVOT dalla stored procedure compilata in modo nativo.
Operatore OPPURE, IN La disgiunzione (OR, IN) non è supportata nella clausola WHERE delle query nelle stored procedure compilate in modo nativo. Crea query per ognuno dei casi.
Operatore CONTIENTE Questo operatore non è supportato. Rimuovere CONTAINS dalla procedura memorizzata compilata in modo nativo.
Operatore Testo libero Questo operatore non è supportato. Rimuovere FREETEXT dalla procedura memorizzata compilata in modo nativo.
Operatore NON Questo operatore non è supportato. Rimuovere NOT dalla procedura memorizzata compilata in modo nativo. In alcuni casi, NOT può essere sostituito con disuguaglianza. Ad esempio, NOT a=b può essere sostituito da a!=b.
Operatore TSEQUAL Questo operatore non è supportato. Rimuovere TSEQUAL dalla procedura memorizzata compilata nativamente.
Operatore MI PIACE Questo operatore non è supportato. Rimuovere LIKE dalla procedura memorizzata compilata in modo nativo.
Operatore VALORE SUCCESSIVO PER Non è possibile fare riferimento alle sequenze all'interno di stored procedure compilate in modo nativo. Ottenere il valore usando Transact-SQL interpretato e quindi passarlo alla stored procedure compilata in modo nativo. Per altre informazioni, vedere Implementazione di IDENTITY in una tabella Memory-Optimized.
Opzione set opzione Le opzioni SET non possono essere modificate all'interno di stored procedure compilate in modo nativo. È possibile impostare alcune opzioni con l'istruzione BEGIN ATOMIC. Per ulteriori informazioni, consultare la sezione relativa ai blocchi atonici in Stored procedure compilate in modo nativo.
Operando TABLESAMPLE Questo operatore non è supportato. Rimuovere TABLESAMPLE dalla stored procedure compilata in modo nativo.
Opzione RICOMPILARE Le stored procedure compilate in modo nativo vengono compilate in fase di creazione. Per ricompilare una stored procedure compilata in modo nativo, eliminarla e ricrearla. Rimuovere RECOMPILE dalla definizione della routine.
Opzione CRIPTAZIONE Questa opzione non è supportata. Rimuovere ENCRYPTION dalla definizione della routine.
Opzione PER LA REPLICAZIONE Non è possibile creare stored procedure compilate in modo nativo per la replica. Rimosso FOR REPLICATION dalla definizione della procedura.
Opzione FOR XML Questa opzione non è supportata. Rimuovere FOR XML dalla procedura memorizzata compilata in modo nativo.
Opzione PER NAVIGARE Questa opzione non è supportata. Rimuovere FOR BROWSE dalla procedura memorizzata compilata in modo nativo.
Hint per il join HASH, MERGE (funzione di unione) Le stored procedure compilate in modo nativo supportano solo join a cicli annidati. I join hash e merge non sono supportati. Rimuovere il suggerimento di join.
Suggerimento per la query Hint per la query Questo hint per la query non è presente nelle stored procedure compilate nativamente. Per i suggerimenti di query supportati, vedere Suggerimenti per la query (Transact-SQL).
Opzione distinto Questa opzione non è supportata. Rimuovere DISTINCT dalla query nella procedura memorizzata compilata in modo nativo.
Opzione PERCENTO Questa opzione non è supportata con le clausole TOP. Rimuovere PERCENT dalla query nella procedura memorizzata compilata in modo nativo.
Opzione Con legami Questa opzione non è supportata con le TOP clausole. Rimuovere WITH TIES dalla query nella procedura memorizzata compilata nativamente.
Funzione di aggregazione Funzione di aggregazione Questa clausola non è supportata. Per altre informazioni sulle funzioni di aggregazione nelle stored procedure compilate in modo nativo, vedere Stored procedure compilate in modo nativo.
Funzione di rango Funzione di classificazione Le funzioni di classificazione non sono supportate nelle stored procedure compilate in modo nativo. Rimuoverli dalla definizione della procedura.
Funzione Funzione Questa funzione non è supportata. Rimuoverlo dalla stored procedure compilata in modo nativo.
Dichiarazione Dichiarazione Questa istruzione non è supportata. Rimuoverlo dalla procedura memorizzata compilata in modo nativo.
Caratteristica / Funzionalità MIN e MAX usati con stringhe binarie e di caratteri Le funzioni di aggregazione MIN e MAX non possono essere utilizzate per i valori di stringa di tipo carattere e binari all'interno di stored procedure compilate nativamente.
Caratteristica / Funzionalità GROUP BY senza funzione di aggregazione Nelle stored procedure compilate in modo nativo, quando una query ha una clausola GROUP BY, la query deve usare anche una funzione di aggregazione nella clausola SELECT o HAVING. Aggiungere una funzione di aggregazione alla query.
Caratteristica / Funzionalità RAGGRUPPA PER TUTTI NON È possibile utilizzare ALL con le clausole GROUP BY nelle stored procedure compilate in modo nativo. Rimuovere ALL dalla clausola GROUP BY.
Caratteristica / Funzionalità GROUP BY () Il raggruppamento in base a un elenco vuoto non è supportato. Rimuovere la clausola GROUP BY o includere colonne nell'elenco di raggruppamento.
Caratteristica / Funzionalità Aggregazione ROLLUP non può essere utilizzato con GROUP BY clausole nelle procedure memorizzate compilate nativamente. Rimuovere ROLLUP dalla definizione della routine.
Caratteristica / Funzionalità Cubo CUBE non può essere utilizzato con le clausole GROUP BY nelle stored procedure compilate nativamente. Rimuovere CUBE dalla definizione della routine.
Caratteristica / Funzionalità SET DI RAGGRUPPAMENTO GROUPING SETS non può essere utilizzato con clausole GROUP BY nelle stored procedure compilate in modo nativo. Rimuovere GROUPING SETS dalla definizione della routine.
Caratteristica / Funzionalità INIZIA LA TRANSAZIONE, CONFERMA LA TRANSAZIONE e ANNULLA LA TRANSAZIONE Usare blocchi ATOMIC per controllare le transazioni e la gestione degli errori. Per altre informazioni, vedere Blocchi atomici.
Caratteristica / Funzionalità Dichiarazioni di variabili di tabella inline. Le variabili di tabella devono fare riferimento a tipi di tabella ottimizzati per la memoria definiti in modo esplicito. È necessario creare un tipo di tabella ottimizzato per la memoria e usare tale tipo per la dichiarazione di variabile, anziché specificare il tipo inline.
Caratteristica / Funzionalità sp_recompile La ricompilazione delle stored procedure compilate in modo nativo non è supportata. Eliminare e ricreare la procedura.
Caratteristica / Funzionalità ESEGUE COME CHIAMANTE La EXECUTE AS clausola è obbligatoria. Ma EXECUTE AS CALLER non è supportato. Usare EXECUTE AS OWNER, EXECUTE ASuser o EXECUTE AS SELF.
Caratteristica / Funzionalità Tabelle basate su disco Non è possibile accedere alle tabelle basate su disco da stored procedure compilate in modo nativo. Rimuovere i riferimenti alle tabelle basate su disco dalle stored procedure compilate in modo nativo. In alternativa, eseguire la migrazione delle tabelle basate su disco a una o più tabelle ottimizzate per la memoria.
Caratteristica / Funzionalità Visualizzazioni Non è possibile accedere alle viste da procedure memorizzate compilate in modo nativo. Invece di usare le viste, riferisciti alle tabelle di base.
Caratteristica / Funzionalità Funzioni con valori di tabella Non è possibile accedere alle funzioni con valori di tabella da stored procedure compilate in modo nativo. Rimuovere i riferimenti alle funzioni con valori di tabella dalla stored procedure compilata in modo nativo.

Transazioni che accedono alle tabelle Memory-Optimized

Nella tabella seguente sono elencate le funzionalità e le parole chiave Transact-SQL che possono essere visualizzate nel testo del messaggio di un errore relativo alle transazioni che accedono a tabelle ottimizzate per la memoria, nonché all'azione correttiva per risolvere l'errore.

TIPO Nome Risoluzione
Caratteristica / Funzionalità punto di salvataggio La creazione di punti di salvataggio espliciti nelle transazioni che accedono a tabelle ottimizzate per la memoria non è supportata.
Caratteristica / Funzionalità transazione vincolata Le sessioni vincolate non possono partecipare alle transazioni che accedono a tabelle ottimizzate per la memoria. Non vincolare la sessione prima di eseguire la procedura.
Caratteristica / Funzionalità DTC Le transazioni che accedono a tabelle ottimizzate per la memoria non possono essere transazioni distribuite.

Vedere anche

Migrazione a OLTP in memoria