Partilhar via


Transact-SQL Construtos Não Suportados por In-Memory OLTP

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

Tabelas otimizadas para memória, procedimentos armazenados compilados nativamente e funções definidas pelo utilizador não suportam toda a área de superfície Transact-SQL suportada por tabelas baseadas em disco, procedimentos Transact-SQL armazenados interpretados e funções definidas pelo utilizador. Ao tentar usar uma das funcionalidades não suportadas, o servidor devolve um erro.

O texto da mensagem de erro menciona o tipo de instrução Transact-SQL (característica, operação, opção, por exemplo) e bem o nome da característica ou palavra-chave Transact-SQL. A maioria das funcionalidades não suportadas devolverá o erro 10794, com o texto da mensagem de erro a indicar a funcionalidade não suportada. As tabelas seguintes listam as Transact-SQL funcionalidades e palavras-chave que podem aparecer no texto da mensagem de erro, bem como a ação corretiva para resolver o erro.

Para mais informações sobre funcionalidades suportadas com tabelas otimizadas para memória e procedimentos armazenados compilados nativamente, veja:

Bases de Dados que Utilizam In-Memory OLTP

A tabela seguinte lista as Transact-SQL funcionalidades que não são suportadas e as palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo uma base de dados OLTP In-Memory. A tabela também lista a resolução do erro.

Tipo Nome Resolução
Opção AUTO_CLOSE A opção de base de dados AUTO_CLOSE=ON não é suportada em bases de dados que tenham um grupo de ficheiros MEMORY_OPTIMIZED_DATA.
Opção ANEXAR_LOG_DE_RECONSTRUÇÃO A opção CRIAR BASE DE DADOS ATTACH_REBUILD_LOG não é suportada com bases de dados que tenham um grupo de ficheiros MEMORY_OPTIMIZED_DATA.
Característica INSTANTÂNEO DA BASE DE DADOS A criação de snapshots de bases de dados não é suportada com bases de dados que tenham um grupo de ficheiros MEMORY_OPTIMIZED_DATA.
Característica Replicação usando o sync_method 'instantâneo de base de dados' ou 'caráter de instantâneo de base de dados' A replicação usando o sync_method 'snapshot de base de dados' ou 'carácter snapshot de base de dados' não é suportada em bases de dados que tenham um grupo de ficheiros MEMORY_OPTIMIZED_DATA.
Característica DBCC CHECKDB

TABELA DE VERIFICAÇÃO DBCC
O DCCC CHECKDB ignora as tabelas otimizadas para memória na base de dados.

O DBCC CHECKTABLE falhará para tabelas otimizadas para memória.

Tabelas Otimizadas para Memória

A tabela seguinte lista as Transact-SQL funcionalidades que não são suportadas e as palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo uma tabela otimizada para memória. A tabela também lista a resolução do erro.

Tipo Nome Resolução
Característica ON Tabelas otimizadas para memória não podem ser colocadas num grupo de ficheiros ou esquema de partições. Remova a cláusula ON da instrução CREATE TABLE .

Todas as tabelas otimizadas para memória são mapeadas para grupos de ficheiros otimizados para memória.
Tipo de dados Nome do tipo de dado O tipo de dado indicado não é suportado. Substitua o tipo por um dos tipos de dados suportados. Para mais informações, consulte Tipos de Dados Suportados para In-Memory OLTP.
Característica Colunas computadas Aplica-se a: SQL Server 2014 (12.x) e SQL Server 2016 (13.x)
Colunas computadas não são suportadas em tabelas otimizadas em memória. Remover as colunas calculadas da instrução CREATE TABLE .

O Azure SQL Database e o SQL Server a partir do SQL Server 2017 (14.x) suportam colunas computadas em tabelas e índices otimizados para memória.
Característica Replication A replicação não é suportada com tabelas otimizadas para memória.
Característica FILESTREAM O armazenamento FILESTREAM não é suportado por colunas de tabelas otimizadas para memória. Remova a palavra-chave FILESTREAM da definição da coluna.
Característica SPARSE Colunas de tabelas otimizadas para memória não podem ser definidas como SPARSE. Remova a palavra-chave SPARSE da definição da coluna.
Característica ROWGUIDCOL A opção ROWGUIDCOL não é suportada para colunas de tabelas otimizadas para memória. Remover a palavra-chave ROWGUIDCOL da definição da coluna.
Característica CHAVE ESTRANGEIRA Aplica-se a: Azure SQL Database e SQL Server a partir do SQL Server 2016 (13.x)
Para tabelas otimizadas para memória, as restrições de CHAVE ESTRANGEIRA são suportadas apenas para chaves estrangeiras que referenciam chaves primárias de outras tabelas otimizadas para memória. Remova a restrição da definição da tabela se a chave estrangeira fizer referência a uma restrição única.

No SQL Server 2014 (12.x), as restrições de CHAVE ESTRANHA não são suportadas com tabelas otimizadas para memória.
Característica índice agrupado Especifique um índice não agrupado. No caso de um índice de chave primária, certifique-se de especificar CHAVE PRIMÁRIA NÃO CLUSTERED.
Característica Transações internas DDL Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não podem ser criados ou descartados no contexto de uma transação de utilizador. Não inicie uma transação e certifique-se de que a definição de sessão IMPLICIT_TRANSACTIONS está DESLIGADA antes de executar a instrução CREATE ou DROP.
Característica Gatilhos DDL Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não podem ser criados ou eliminados se houver um disparador de servidor ou base de dados para essa operação DDL. Remova os gatilhos do servidor e da base de dados para CREATE/DROP TABLE e CREATE/DROP PROCEDURE.
Característica NOTIFICAÇÃO DE EVENTOS Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não podem ser criadas ou descartadas se houver uma notificação de evento de servidor ou base de dados para essa operação DDL. Remover as notificações de eventos do servidor e da base de dados em CREATE TABLE ou DROP TABLE e CREATE PROCEDURE ou DROP PROCEDURE.
Característica FileTable Tabelas otimizadas para memória não podem ser criadas como tabelas de ficheiros. Remover o argumento AS FileTable da instrução CREATE TABLE
Funcionamento Atualização das colunas principais primárias As colunas principais de chave em tabelas e tipos de tabelas otimizados para memória não podem ser atualizadas. Se a chave primária precisar de ser atualizada, apague a linha antiga e insira a nova linha com a chave primária atualizada.
Funcionamento CRIAR ÍNDICE Índices em tabelas otimizadas para memória devem ser especificados em linha com a instrução CREATE TABLE , ou com a instrução ALTER TABLE .
Funcionamento CRIAR ÍNDICE DE TEXTO COMPLETO Índices de texto completo não são suportados para tabelas otimizadas para memória.
Funcionamento Alteração do esquema Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não suportam certas alterações de esquema:
Azure SQL Database e SQL Server a partir do SQL Server 2017 (14.x): ALTER TABLE, ALTER PROCEDURE e operações sp_rename são suportadas. Outras alterações de esquema, por exemplo adicionar propriedades estendidas, não são suportadas.

SQL Server 2016 (13.x): São suportadas operações ALTER TABLE e ALTER PROCEDURE. Outras alterações de esquema, incluindo sp_rename, não são suportadas.

SQL Server 2014 (12.x): alterações de esquema não são suportadas. Para alterar a definição de uma tabela otimizada para memória ou de um procedimento armazenado compilado nativamente, primeiro descarte o objeto e depois recrie-o com a definição desejada.
Funcionamento TRUNCATE TABLE A operação TRUNCATE não é suportada para tabelas otimizadas para memória. Para remover todas as linhas de uma tabela, apague todas as linhas usando DELETE FROMtabela ou retire e recrie a tabela.
Funcionamento ALTERAR AUTORIZAÇÃO A alteração do proprietário de uma tabela otimizada para memória existente ou de um procedimento armazenado compilado nativamente não é suportada. Elimina e recria a tabela ou o procedimento para mudar o proprietário.
Funcionamento ALTERAR ESQUEMA A transferência de uma tabela existente ou de um procedimento armazenado compilado nativamente para outro esquema não é suportada. Coloque e recrie o objeto para transferir entre esquemas.
Funcionamento TABELA DE VERIFICAÇÃO DBCC Os DBCC CHECKTABLE não são suportados com tabelas otimizadas para memória. Para verificar a integridade dos ficheiros de checkpoint no disco, execute uma cópia de segurança do grupo de ficheiros MEMORY_OPTIMIZED_DATA.
Característica ANSI_PADDING DESATIVADO A opção de sessão ANSI_PADDING deve estar ATIVA ao criar tabelas otimizadas para memória ou procedimentos armazenados compilados nativamente. Execute SET ANSI_PADDING ON antes de executar a instrução CREATE.
Opção COMPRESSÃO_DE_DADOS A compressão de dados não é suportada para tabelas otimizadas para memória. Remove a opção da definição da tabela.
Característica CDT Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não podem ser acedidos a partir de transações distribuídas. Usa transações SQL em vez disso.
Funcionamento Tabelas otimizadas para memória como destino do MERGE Tabelas otimizadas para memória não podem ser o alvo de uma operação MERGE . Use as instruções INSERT,UPDATE e DELETE em vez disso.

Índices em tabelas otimizadas para memória

A tabela seguinte lista as Transact-SQL funcionalidades e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo um índice numa tabela otimizada para memória, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Característica Índice filtrado Índices filtrados não são suportados com tabelas otimizadas para memória. Omita a cláusula WHERE da especificação do índice.
Característica Colunas incluídas Especificar colunas incluídas não é necessário para tabelas otimizadas para memória. Todas as colunas da tabela otimizada para memória estão implicitamente incluídas em todos os índices otimizados para memória.
Funcionamento DROP INDEX Não é suportada a remoção de índices nas tabelas otimizadas para memória. Pode eliminar índices usando o ALTER TABLE.

Para mais informações, consulte Alterar Tabelas Otimizadas para Memória.
Opção de índice Opção de índice Apenas uma opção de índice é suportada – BUCKET_COUNT para índices HASH.

Índices de Hash Não Agrupados

A tabela seguinte lista as Transact-SQL funcionalidades e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo um índice de hash não agrupado, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Opção ASC/DESC Os índices de hash não agrupados não são ordenados. Remover as palavras-chave ASC e DESC da especificação da chave de índice.

Procedimentos Armazenados Compilados Nativamente e Funções Definidas pelo Usuário Compiladas Nativamente

A tabela seguinte lista as Transact-SQL funcionalidades e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo procedimentos armazenados compilados nativamente e funções definidas pelo utilizador, bem como a ação corretiva para resolver o erro.

Tipo Característica Resolução
Característica Variáveis de tabela em linha Os tipos de tabela não podem ser declarados em linha com declarações de variáveis. Os tipos de tabela devem ser declarados explicitamente usando uma instrução CREATE TYPE .
Característica Cursors Os cursores não são suportados em procedimentos armazenados compilados nativamente.

Ao executar o procedimento a partir do cliente, use RPC em vez da API do cursor. Com o ODBC, evite a Transact-SQL instrução EXECUTE, especifique diretamente o nome do procedimento.

Ao executar o procedimento a partir de um lote Transact-SQL ou outro procedimento armazenado, evite utilizar um cursor com o procedimento armazenado compilado de forma nativa.

Ao criar um procedimento armazenado compilado nativamente, em vez de usar um cursor, use lógica baseada em conjuntos ou um ciclo WHILE .
Característica Parâmetros não constantes predefinidos Ao usar valores predefinidos com parâmetros em procedimentos armazenados compilados nativamente, os valores devem ser constantes. Remova quaisquer curingas das declarações de parâmetros.
Característica EXTERNAL Os procedimentos armazenados CLR não podem ser compilados nativamente. Ou remova a cláusula AS EXTERNAL ou a opção NATIVE_COMPILATION da instrução CREATE PROCEDURE.
Característica Procedimentos armazenados numerados Procedimentos armazenados compilados nativamente não podem ser numerados. Remova o ;número da instrução CREATE PROCEDURE .
Característica multi-fila INSERT ... Declarações VALUES Não é possível inserir várias linhas usando a mesma instrução INSERT num procedimento armazenado compilado nativamente. Crie instruções INSERT para cada linha.
Característica Expressões Comuns de Tabela (CTEs) Expressões de tabela comuns (CTE) não são suportadas em procedimentos armazenados compilados nativamente. Reescrever a consulta.
Característica COMPUTAÇÃO A cláusula COMPUTE não é suportada. Remova-o da consulta.
Característica SELECIONE EM A cláusula INTO não é suportada com a instrução SELECT . Reescreva a consulta como INSERT INTOTableSELECT.
Característica Lista de colunas de inserção incompleta Em geral, nas instruções INSERT, os valores devem ser especificados para todas as colunas da tabela.

No entanto, suportamos restrições DEFAULT e colunas IDENTITY(1,1) em tabelas otimizadas para memória. Estas colunas podem ser, e no caso das colunas IDENTITY devem ser, omitidas da lista de colunas INSERT.
Característica Function Algumas funções incorporadas não são suportadas em procedimentos armazenados compilados nativamente. Remover a função rejeitada do procedimento armazenado. Para mais informações sobre funções incorporadas suportadas, consulte
Funcionalidades Suportadas para Módulos T-SQL Compilados Nativamente, ou
Procedimentos armazenados compilados nativamente.
Característica CASE Aplica-se a: SQL Server 2014 (12.x) e SQL Server a partir do SQL Server 2016 (13.x)
Expressões CASE não são suportadas em consultas dentro de procedimentos armazenados compilados nativamente. Crie consultas para cada caso. Para mais informações, veja Implementar uma Expressão CASE num Procedimento Armazenado Compilado Nativamente.

O Azure SQL Database e o SQL Server a partir do SQL Server 2017 (14.x) suportam expressões CASE.
Característica INSERIR EXECUTAR Remova a referência.
Característica EXECUTE Suportado apenas para executar procedimentos armazenados compilados nativamente e funções definidas pelo utilizador.
Característica Agregados definidos pelo utilizador Funções agregadas definidas pelo utilizador não podem ser usadas em procedimentos armazenados compilados nativamente. Elimine a referência da função no procedimento.
Característica Metadados do modo de navegação Os procedimentos armazenados compilados nativamente não suportam metadados do modo de navegação. Certifique-se de que a opção de sessão NO_BROWSETABLE está definida como DESLIGADA.
Característica DELETE com cláusula FROM A cláusula FROM não é suportada para instruções DELETE com código-fonte de tabela em procedimentos armazenados compilados nativamente.

DELETE com a cláusula FROM é suportado quando é usado para indicar a tabela da qual se deve eliminar.
Característica Atualizar com a cláusula FROM A cláusula FROM não é suportada para instruções UPDATE em procedimentos armazenados compilados nativamente.
Característica Procedimentos temporários Procedimentos armazenados temporários não podem ser compilados nativamente. Crie um procedimento armazenado compilado nativamente permanente ou um procedimento armazenado interpretado temporário Transact-SQL.
Nível de isolamento LEIA SEM COMPROMISSO O nível de isolamento READ UNCOMMITTED não é suportado para procedimentos armazenados compilados nativamente. Use um nível de isolamento suportado, como o SNAPSHOT.
Nível de isolamento LER COMPROMETIDO O nível de isolamento READ COMMITTED não é suportado para procedimentos armazenados compilados nativamente. Use um nível de isolamento suportado, como o SNAPSHOT.
Característica Tabelas temporárias Tabelas no tempdb não podem ser usadas em procedimentos armazenados compilados nativamente. Em vez disso, use uma variável de tabela ou uma tabela otimizada para memória com DURABILIDADE=SCHEMA_ONLY.
Característica CDT Tabelas otimizadas para memória e procedimentos armazenados compilados nativamente não podem ser acedidos a partir de transações distribuídas. Usa transações SQL em vez disso.
Característica EXECUTAR COM RECOMPILAÇÃO A opção WITH RECOMPILE não é suportada para procedimentos armazenados compilados nativamente.
Característica Execução a partir da ligação dedicada do administrador. Procedimentos armazenados compilados nativamente não podem ser executados a partir da ligação de administrador dedicada (DAC). Use antes uma ligação normal.
Funcionamento Ponto de Salvaguarda Procedimentos armazenados compilados nativamente não podem ser invocados a partir de transações que tenham um ponto de gravação ativo. Remove o savepoint da transação.
Funcionamento ALTERAR AUTORIZAÇÃO A alteração do proprietário de uma tabela otimizada para memória existente ou de um procedimento armazenado compilado nativamente não é suportada. Elimina e recria a tabela ou o procedimento para mudar o proprietário.
Operator OPENROWSET Este operador não é suportado. Remover OPENROWSET do procedimento armazenado compilado nativamente.
Operator OPENQUERY Este operador não é suportado. Remover OPENQUERY do procedimento armazenado compilado nativamente.
Operator OPENDATASOURCE Este operador não é suportado. Remover OPENDATASOURCE do procedimento armazenado compilado nativamente.
Operator OPENXML Este operador não é suportado. Remover OPENXML do procedimento armazenado compilado nativamente.
Operator CONTAINSTABLE Este operador não é suportado. Remover CONTAINSTABLE do procedimento armazenado compilado nativamente.
Operator FREETEXTTABLE Este operador não é suportado. Remover FREETEXTTABLE do procedimento armazenado compilado nativamente.
Característica Funções com valores de tabela Funções com valores de tabela não podem ser referenciadas a partir de procedimentos armazenados compilados nativamente. Uma possível solução alternativa para esta restrição é adicionar a lógica nas funções de valores de tabela ao corpo do procedimento.
Operator CHANGETABLE Este operador não é suportado. Remover CHANGETABLE do procedimento armazenado compilado nativamente.
Operator GOTO Este operador não é suportado. Use outros construtos procedurais como WHILE.
Operator COMPENSAÇÃO Este operador não é suportado. Remover OFFSET do procedimento armazenado nativo compilado.
Operator INTERSECT Este operador não é suportado. Remover INTERSECT do procedimento armazenado compilado nativamente. Em alguns casos, pode-se usar um INNER JOIN para obter o mesmo resultado.
Operator EXCEPT Este operador não é suportado. Remover o EXCEPT do procedimento de armazenamento compilado nativamente.
Operator APPLY Aplica-se a: SQL Server 2014 (12.x) e SQL Server a partir do SQL Server 2016 (13.x)
Este operador não é suportado. Remover APPLY do procedimento armazenado compilado nativamente.

O Azure SQL Database e o SQL Server a partir do SQL Server 2017 (14.x) suportam o operador APPLY em módulos compilados nativamente.
Operator PIVOT Este operador não é suportado. Remover PIVOT do procedimento armazenado compilado nativamente.
Operator DESPIVÔ Este operador não é suportado. Remover UNPIVOT do procedimento armazenado compilado nativamente.
Operator CONTAINS Este operador não é suportado. Remover CONTAINS do procedimento armazenado compilado nativamente.
Operator FREETEXT Este operador não é suportado. Remover FREETEXT do procedimento armazenado compilado nativamente.
Operator TSEQUAL Este operador não é suportado. Remover TSEQUAL do procedimento armazenado compilado nativamente.
Operator GOSTAR Este operador não é suportado. Remover LIKE do procedimento armazenado nativamente compilado.
Operator PRÓXIMO VALOR PARA Sequências não podem ser referenciadas dentro de procedimentos armazenados compilados nativamente. Obtém o valor usando Transact-SQL interpretado e depois passa-o para o procedimento armazenado compilado nativamente. Para mais informações, consulte Implementação de IDENTITY numa Tabela Otimizada por Memória.
Definir opção opção As opções SET não podem ser alteradas dentro de procedimentos armazenados compilados nativamente. Certas opções podem ser definidas com a instrução BEGIN ATOMIC. Para mais informações, consulte a secção sobre blocos atómicos em Procedimentos Armazenados Compilados Nativamente.
Operando TABLESAMPLE Este operador não é suportado. Remover TABLESAMPLE do procedimento armazenado compilado nativamente.
Opção RECOMPILE Os procedimentos armazenados compilados nativamente são compilados no momento da criação. Remover RECOMPILE da definição do procedimento.

Pode executar sp_recompile num procedimento armazenado compilado nativamente, o que faz com que recompile na execução seguinte.
Opção ENCRIPTAÇÃO Esta opção não é suportada. Remover ENCRYPTION da definição do procedimento.
Opção PARA REPLICAÇÃO Procedimentos armazenados compilados nativamente não podem ser criados para replicação. Removido PARA REPLICAÇÃO da definição do procedimento.
Opção PARA XML Esta opção não é suportada. Remover FOR XML do procedimento armazenado compilado nativamente.
Opção PARA NAVEGAR Esta opção não é suportada. Eliminar FOR BROWSE do procedimento armazenado compilado nativamente.
Junta-te dica HASH, MERGE Os procedimentos armazenados compilados nativamente suportam apenas junções em loops aninhados. O hash e o merge joins não são suportados. Remove a dica de junção.
Dica de consulta Dica de consulta Esta dica de consulta não está dentro de procedimentos armazenados compilados nativamente. Para dicas de consulta suportadas, veja Dicas de Consulta (Transact-SQL).
Opção PERCENT Esta opção não é suportada com cláusulas TOP . Remover PERCENT da consulta no procedimento armazenado nativo compilado.
Opção COM EMPATES Aplica-se a: SQL Server 2014 (12.x) e SQL Server 2016 (13.x)
Esta opção não é suportada com cláusulas TOP . Remover WITH TIES da consulta no procedimento armazenado compilado nativamente.

O Azure SQL Database e o SQL Server a partir do SQL Server 2017 (14.x) suportam o TOP WITH TIES.
Função de agregação Função agregada Nem todas as funções agregadas são suportadas. Para mais informações sobre funções agregadas suportadas em módulos T-SQL compilados nativamente, consulte Funcionalidades Suportadas para Módulos T-SQL Compilados Nativamente.
Função de classificação Função de classificação As funções de classificação não são suportadas em procedimentos armazenados compilados nativamente. Remova-os da definição do procedimento.
Função Function Esta função não é suportada. Para mais informações sobre funções suportadas em módulos T-SQL compilados nativamente, consulte Funcionalidades Suportadas para Módulos T-SQL Compilados Nativamente.
Statement Declaração Esta afirmação não é sustentada. Para mais informações sobre funções suportadas em módulos T-SQL compilados nativamente, consulte Funcionalidades Suportadas para Módulos T-SQL Compilados Nativamente.
Característica MIN e MAX usados com binários e cadeias de caracteres As funções agregadas MIN e MAX não podem ser usadas para valores de caracteres e cadeias binárias dentro de procedimentos armazenados compilados nativamente.
Característica AGRUPAR POR TODOS ALL não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remover TODOS da cláusula GROUP BY.
Característica GRUPO POR () Agrupar por uma lista vazia não é suportado. Ou remove a cláusula GROUP BY, ou inclui colunas na lista de agrupamentos.
Característica configuração agregada O ROLLUP não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remover ROLLUP da definição do procedimento.
Característica CUBE O CUBE não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remover CUBE da definição do procedimento.
Característica CONJUNTOS DE AGRUPAMENTO GROUPING SETS não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remover GROUPING SETS da definição do procedimento.
Característica INICIAR TRANSAÇÃO, COMPROMETER TRANSAÇÃO e REVERTER TRANSAÇÃO Use blocos ATOMIC para controlar transações e o tratamento de erros. Para mais informações, consulte Blocos Atómicos.
Característica Declarações de variáveis da tabela inline. As variáveis de tabela devem referenciar tipos de tabela explicitamente definidos e otimizados para memória. Deves criar um tipo de tabela otimizado para memória e usar esse tipo para a declaração da variável, em vez de especificar o tipo inline.
Característica Tabelas baseadas em disco Tabelas baseadas em disco não podem ser acedidas a partir de procedimentos armazenados compilados nativamente. Remover referências a tabelas baseadas em disco dos procedimentos armazenados compilados nativamente. Ou, migrar a(s) tabela(s) baseada(s) em disco para a memória otimizada.
Característica Views As vistas não podem ser acedidas a partir de procedimentos armazenados compilados nativamente. Em vez de vistas, refira-se às tabelas base subjacentes.
Característica Funções valoradas em tabelas Aplica-se a: Azure SQL Database e SQL Server a partir do SQL Server 2016 (13.x)
Funções de tabela com múltiplas instruções não podem ser acedidas a partir de módulos T-SQL compilados nativamente. São suportadas funções de tabela em linha, mas devem ser criadas COM NATIVE_COMPILATION.

Aplica-se a: SQL Server 2014 (12.x)
Funções com valores de tabela não podem ser referenciadas a partir de módulos T-SQL compilados nativamente.
Opção PRINT Remover referência
Característica DDL Não é suportado DDL dentro de módulos T-SQL compilados nativamente.
Opção ESTATÍSTICAS XML Não suportado. Quando executa uma consulta, com o STATISTICS XML ativado, o conteúdo XML é devolvido sem a parte do procedimento armazenado compilado nativamente.

Transações que Acedem Tabelas Otimizadas para Memória

A tabela seguinte lista as Transact-SQL funcionalidades e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo transações que acedam a tabelas otimizadas para memória, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Característica Ponto de Salvaguarda Não é suportado criar pontos de gravação explícitos em transações que acedam a tabelas otimizadas para memória.
Característica Transação vinculada As sessões vinculadas não podem participar em transações que acedam a tabelas otimizadas para memória. Não vincule a sessão antes de executar o procedimento.
Característica CDT Transações que acedem a tabelas otimizadas para memória não podem ser transações distribuídas.

Ver também

Migrando para In-Memory OLTP