Partilhar via


Construções Transact-SQL Não Suportadas por In-Memory OLTP

Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não dão suporte à área de superfície de Transact-SQL completa que é suportada por tabelas baseadas em disco e procedimentos armazenados interpretados Transact-SQL. Ao tentar usar um dos recursos sem suporte, o servidor retorna um erro.

O texto da mensagem de erro menciona o tipo de instrução Transact-SQL (recurso, operação, opção, por exemplo) e o nome do recurso ou Transact-SQL palavra-chave. A maioria dos recursos sem suporte retornará o erro 10794, com o texto da mensagem de erro indicando o recurso sem suporte. As tabelas a seguir listam os recursos Transact-SQL e palavras-chave que podem aparecer no texto da mensagem de erro, bem como a ação corretiva para resolver o erro.

Para obter mais informações sobre recursos com suporte com tabelas com otimização de memória e procedimentos armazenados compilados nativamente, consulte:

Bancos de dados que usam In-Memory OLTP

A tabela a seguir lista os recursos de Transact-SQL e as palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo um banco de dados In-Memory OLTP.

Tipo Nome Resolução
Opção FECHAMENTO_AUTOMÁTICO Não há suporte para a opção de banco de dados AUTO_CLOSE=ON com bancos de dados que têm um grupo de arquivos MEMORY_OPTIMIZED_DATA.
Opção ANEXAR_REGISTRO_RECONSTRUIR Não há suporte para a opção CREATE database ATTACH_REBUILD_LOG com bancos de dados que têm um grupo de arquivos MEMORY_OPTIMIZED_DATA.
Característica INSTANTÂNEO DO BANCO DE DADOS Não há suporte para a criação de instantâneos de banco de dados com bancos de dados que têm um grupo de arquivos MEMORY_OPTIMIZED_DATA.
Característica Replicação usando o sync_method 'instantâneo de banco de dados' ou 'caractere de instantâneo de banco de dados' Não há suporte para a replicação usando o método de sincronização 'instantâneo de banco de dados' ou 'caractere de instantâneo de banco de dados' em bancos de dados que possuem um grupo de arquivos otimizado para memória (MEMORY_OPTIMIZED_DATA).
Característica DBCC CHECKDB

DBCC CHECKTABLE
DBCC CHECKDB ignora as tabelas com otimização de memória no banco de dados.

DBCC CHECKTABLE falhará em tabelas com otimização de memória.

Memory-Optimized Tabelas

A tabela a seguir lista os recursos de Transact-SQL e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo uma tabela com otimização de memória, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Característica LIGADO Tabelas com otimização de memória não podem ser colocadas em um grupo de arquivos ou esquema de partição. Remova a cláusula ON da instrução CREATE TABLE .
Tipo de dados Nome do tipo de dados Não há suporte para o tipo de dados indicado. Substitua o tipo por um dos tipos de dados com suporte. Para obter mais informações, consulte Tipos de dados com suporte.
Característica Colunas computadas Não há suporte para colunas computadas para tabelas com otimização de memória. Remova as colunas computadas da instrução CREATE TABLE .
Característica Replicação Não há suporte para replicação com tabelas com otimização de memória.
Característica FILESTREAM O armazenamento FILESTREAM não tem suporte para colunas de tabelas com otimização de memória. Remova a FILESTREAM palavra-chave da definição da coluna.
Característica ESPARSO Colunas de tabelas com otimização de memória não podem ser definidas como SPARSE. Remova a SPARSE palavra-chave da definição da coluna.
Característica ROWGUIDCOL A opção ROWGUIDCOL não tem suporte para colunas de tabelas com otimização de memória. Remova a ROWGUIDCOL palavra-chave da definição da coluna.
Característica CHAVE ESTRANGEIRA Restrições FOREIGN KEY não têm suporte para tabelas com otimização de memória. Remova a restrição da definição da tabela.

Para obter informações sobre como atenuar a falta de suporte para restrições, consulte Migrando restrições de verificação e de chave estrangeira.
Característica VERIFICAR Não há suporte para restrições CHECK para tabelas com otimização de memória. Remova a restrição da definição da tabela.

Para obter informações sobre como atenuar a falta de suporte para restrições, consulte Migrando restrições de verificação e de chave estrangeira.
Característica ÚNICO Restrições UNIQUE não têm suporte para tabelas com otimização de memória. Remova a restrição da definição da tabela.

Para obter informações sobre como atenuar a falta de suporte para restrições, consulte Migrando restrições de verificação e de chave estrangeira.
Característica armazenamento em colunas Índices COLUMNSTORE não são suportados com tabelas otimizadas para memória. Em vez disso, especifique um índice NÃO CLUSTERIZADO ou um índice HASH NÃO CLUSTERIZADO.
Característica índice clusterizado Especifique um índice não clusterizado. No caso de um índice de chave primária, especifique PRIMARY KEY NONCLUSTERED [HASH].
Característica página de código não 1252 Colunas em tabelas com otimização de memória com tipos char de dados e varchar devem usar a página de código 1252. Use n(var)char em vez de (var)char ou use uma ordenação com a página de código 1252 (por exemplo, Latin1_General_BIN2). Para obter mais informações, consulte Ordenações e Páginas de Código.
Característica DDL dentro de transações Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não podem ser criados ou descartados no contexto de uma transação de usuário. Não inicie uma transação e verifique se a configuração da sessão IMPLICIT_TRANSACTIONS está OFF antes de executar a instrução CREATE ou DROP.
Característica Gatilhos DDL Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não poderão ser criados ou descartados se houver um gatilho de servidor ou banco de dados para essa operação DDL. Remova os gatilhos do servidor e do banco de dados para CREATE/DROP TABLE e CREATE/DROP PROCEDURE.
Característica NOTIFICAÇÃO DE EVENTO Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não poderão ser criados ou descartados se houver uma notificação de evento de servidor ou banco de dados para essa operação DDL. Remova as notificações de eventos de servidor e banco de dados ao usar CREATE TABLE ou DROP TABLE, e CREATE PROCEDURE ou DROP PROCEDURE.
Característica FileTable Tabelas com otimização de memória não podem ser criadas como tabelas de arquivos. Remover o argumento AS FileTable da instrução CREATE TABLE
Operação Atualização de colunas de chave primária As colunas de chave primária em tabelas com otimização de memória e tipos de tabela não podem ser atualizadas. Se a chave primária precisar ser atualizada, exclua a linha antiga e insira a nova linha com a chave primária atualizada.
Operação CRIAR ÍNDICE Índices em tabelas com otimização de memória devem ser especificados em linha com a instrução CREATE TABLE. Para adicionar um índice a uma tabela com otimização de memória, solte e recrie a tabela, incluindo a nova especificação de índice.
Operação ALTER TABLE Não há suporte para alterar tabelas com otimização de memória. Solte e recrie a tabela usando a definição de tabela atualizada.
Operação CRIAR ÍNDICE FULLTEXT Não há suporte para índices de texto completo para tabelas com otimização de memória.
Operação alteração de esquema Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não dão suporte a alterações de shema, por exemplo, sp_rename.

A tentativa de fazer alterações de esquema, como renomear uma tabela, gerará o erro 12320, as operações que exigem uma alteração na versão do esquema, por exemplo, a renomeação, não têm suporte com tabelas com otimização de memória.

Para alterar o esquema, remova e recrie a tabela ou o procedimento usando uma definição atualizada.
Operação CRIAR GATILHO Não há suporte para gatilhos em tabelas com otimização de memória.
Operação TABELA TRUNCADO Não há suporte para a operação TRUNCATE para tabelas com otimização de memória. Para remover todas as linhas de uma tabela, exclua todas as linhas usando DELETE FROMa tabela ou solte e recrie a tabela.
Operação ALTER AUTHORIZATION Não há suporte para alterar o proprietário de uma tabela com otimização de memória existente ou de um procedimento armazenado compilado nativamente. Exclua e recrie a tabela ou o procedimento para alterar o proprietário.
Operação ALTER SCHEMA Não há suporte para alterar o esquema de uma tabela com otimização de memória existente ou procedimento armazenado compilado nativamente. Exclua e recrie a tabela ou procedimento para alterar o schema.
Operação DBCC CHECKTABLE Não há suporte para DBCC CHECKTABLE com tabelas otimizadas para memória.
Característica ANSI_PADDING DESATIVADO A opção ANSI_PADDING de sessão deve ser ON ao criar tabelas com otimização de memória ou procedimentos armazenados compilados nativamente. Execute SET ANSI_PADDING ON antes de executar a instrução CREATE.
Opção DATA_COMPRESSION Não há suporte para compactação de dados para tabelas com otimização de memória. Remova a opção da definição da tabela.
Característica DTC Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não podem ser acessados de transações distribuídas. Em vez disso, use transações SQL.
Característica Múltiplos Conjuntos de Resultados Ativos (MARS) Não há suporte para MARS (Vários Conjuntos de Resultados Ativos) com tabelas com otimização de memória. Esse erro também pode indicar o uso do servidor vinculado. O servidor vinculado pode usar MARS. Não há suporte para servidores vinculados com tabelas com otimização de memória. Em vez disso, conecte-se diretamente ao servidor e ao banco de dados que hospeda as tabelas com otimização de memória.
Operação Tabelas com otimização de memória como destino de MERGE Tabelas com otimização de memória não podem ser o destino de uma MERGE operação. Em vez disso, use instruções INSERT, UPDATE ou DELETE.

Índices nas tabelas de Memory-Optimized

A tabela a seguir lista os recursos de Transact-SQL e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo um índice em uma tabela com otimização de memória, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Característica Índice filtrado Não há suporte para índices filtrados com tabelas com otimização de memória. Omita a WHERE cláusula da especificação de índice.
Característica ÚNICO Não há suporte para índices exclusivos para tabelas com otimização de memória. Remova o argumento UNIQUE da especificação de índice.
Característica Colunas anuláveis Todas as colunas na chave de um índice em uma tabela com otimização de memória devem ser especificadas como NOT NULL. Inclua a NOT NULL restrição com todas as colunas nas chaves de índice.
Característica ordenação não bin2 Todas as colunas de caractere na chave de um índice com otimização de memória devem ser declaradas usando uma ordenação BIN2. Use a cláusula COLLATE na definição da coluna para definir a ordenação. Para obter mais informações, consulte Ordenações e Páginas de Código.
Característica Colunas incluídas Especificar colunas incluídas não é necessário para tabelas com otimização de memória. Todas as colunas da tabela com otimização de memória são incluídas implicitamente em todos os índices com otimização de memória.
Operação ALTERAR ÍNDICE Não há suporte para alterar índices em tabelas com otimização de memória. Em vez disso, solte a tabela e recrie-a usando a especificação de índice atualizada.
Operação DROP INDEX Não há suporte para a remoção de índices em tabelas com otimização de memória. Em vez disso, remova a tabela e recrie-a com os índices desejados.
Opção de índice Opção de índice A opção de índice indicada não é compatível com índices em tabelas otimizadas para memória. Remova a opção da especificação de índice.

Índices de hash não clusterizados

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

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

Procedimentos armazenados compilados nativamente

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

Tipo Característica Resolução
Característica Variáveis de tabela embutidas Tipos de tabela não podem ser declarados incorporados junto a declarações de variáveis. Os tipos de tabela devem ser declarados explicitamente usando uma CREATE TYPE instrução.
Característica Cursores Não há suporte para cursores em procedimentos armazenados compilados nativamente.

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

-Ao executar um procedimento de um lote Transact-SQL ou de outro procedimento armazenado, evite usar um cursor com o procedimento armazenado compilado nativamente.

-Ao criar um procedimento armazenado compilado nativamente, em vez de usar um cursor, use uma lógica baseada em conjuntos ou um WHILE loop.
Característica Valores padrão não constantes para parâmetros Ao usar valores padrão com parâmetros em procedimentos armazenados compilados nativamente, os valores devem ser constantes. Remova os caracteres curinga das declarações de parâmetro.
Característica EXTERNO 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 instruções INSERT ... VALUES de múltiplas linhas Não é possível inserir várias linhas usando a mesma INSERT instrução em um procedimento armazenado compilado nativamente. Crie INSERT instruções para cada linha.
Característica Expressões comuns de tabela (CTEs) Não há suporte para CTE (expressões de tabela comuns) em procedimentos armazenados compilados nativamente. Regravar a consulta.
Característica subconsulta Não há suporte para subconsultas (consultas aninhadas dentro de outra consulta). Regravar a consulta.
Característica CALCULAR Não há suporte para a cláusula COMPUTE. Remova-o da consulta.
Característica SELECIONAR INTO A cláusula INTO não é suportada pela instrução SELECT. Reescreva a consulta como INSERT INTOTabelaSELECT.
Característica SAÍDA Não há suporte para a cláusula OUTPUT. Remova-o da consulta.
Característica lista de colunas de inserção incompleta Em INSERT instruções, os valores devem ser especificados para todas as colunas na tabela.
Função Função A função interna não tem suporte em procedimentos armazenados compilados nativamente. Remova a função do procedimento armazenado. Para obter mais informações sobre funções internas com suporte, consulte Procedimentos armazenados compilados nativamente.
Característica CASO A instrução CASE não é suportada em consultas dentro de procedimentos armazenados compilados nativamente. Crie consultas para cada caso. Para obter mais informações, consulte Implementação de uma instrução CASE.
Característica funções definidas pelo usuário As funções definidas pelo usuário não podem ser usadas em procedimentos armazenados compilados nativamente. Remova a referência à função da definição do procedimento.
Característica agregações definidas pelo usuário As funções de agregação definidas pelo usuário não podem ser usadas em procedimentos armazenados compilados nativamente. Remova a referência à função do procedimento.
Característica metadados do modo de navegação Os procedimentos armazenados compilados nativamente não dão suporte a metadados do modo de navegação. Verifique se a opção NO_BROWSETABLE de sessão está definida como OFF.
Característica DELETE com cláusula FROM A cláusula FROM não é suportada para instruções DELETE com uma origem de tabela em procedimentos armazenados compilados nativamente.

DELETE com a FROM cláusula é suportada quando ela é usada para indicar a tabela da qual excluir.
Característica UPDATE com a cláusula FROM A cláusula FROM não é compatível com instruções UPDATE em procedimentos armazenados compilados nativamente.
Característica procedimentos temporários Os procedimentos armazenados temporários não podem ser compilados nativamente. Crie um procedimento armazenado compilado nativamente permanente ou um procedimento armazenado Transact-SQL interpretado temporário.
Nível de isolamento LEITURA NÃO COMMITADA Não há suporte para o nível de isolamento READ UNCOMMITTED para procedimentos armazenados compilados nativamente. Use um nível de isolamento com suporte, como SNAPSHOT.
Nível de isolamento LEITURA CONFIRMADA Não há suporte para o nível de isolamento READ UNCOMMITTED para procedimentos armazenados compilados nativamente. Use um nível de isolamento com suporte, como 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 com otimização de memória com DURABILITY=SCHEMA_ONLY.
Característica MARTE Não há suporte para MARS (Vários Conjuntos de Resultados Ativos) com procedimentos armazenados compilados nativamente. Esse erro também pode indicar o uso do servidor vinculado. O servidor vinculado pode usar MARS. Não há suporte para servidores vinculados com procedimentos armazenados compilados nativamente. Em vez disso, conecte-se diretamente ao servidor e ao banco de dados que hospeda os procedimentos armazenados compilados nativamente.
Característica DTC Tabelas com otimização de memória e procedimentos armazenados compilados nativamente não podem ser acessados de transações distribuídas. Em vez disso, use transações SQL.
Característica ordenação não bin2 A comparação, a classificação e outras operações em cadeias de caracteres em procedimentos armazenados compilados nativamente exigem o uso de uma ordenação BIN2. Use a cláusula COLLATE ou use colunas e variáveis com uma ordenação apropriada. Para obter mais informações, consulte Ordenações e Páginas de Código.
Característica Truncamento de cadeias de caracteres com uma ordenação SC. Cadeias de caracteres com uma _SC ordenação usam a codificação UTF-16. Converter um valor n(var)char em um valor char n(var)com um comprimento curto envolve truncamento. Não há suporte para valores UTF-16 em procedimentos armazenados compilados nativamente. Evite truncamento de cadeias de caracteres UTF-16.
Característica EXECUTAR COM RECOMPILAR Não há suporte para a opção WITH RECOMPILE para procedimentos armazenados compilados nativamente.
Característica LEN e SUBSTRING com um argumento em uma ordenação SC Cadeias de caracteres com uma ordenação _SC usam a codificação UTF-16. As funções internas LEN e SUBSTRING, quando usadas dentro de procedimentos armazenados compilados nativamente, não dão suporte à codificação UTF-16. Use uma ordenação diferente ou evite usar essas funções.
Característica Execução da conexão de administrador dedicada. Os procedimentos armazenados compilados nativamente não podem ser executados a partir da DAC (conexão de administrador dedicada). Em vez disso, use uma conexão regular.
Operação ALTER PROCEDURE Os procedimentos armazenados compilados nativamente não podem ser alterados. Para alterar a definição do procedimento, remova e recrie o procedimento armazenado.
Operação ponto de salvamento Procedimentos armazenados compilados nativamente não podem ser invocados de transações que têm um ponto de salvamento ativo. Remova o ponto de salvamento da transação.
Operação ALTERAR AUTORIZAÇÃO Não há suporte para alterar o proprietário de uma tabela com otimização de memória existente ou de um procedimento armazenado compilado nativamente. Exclua e recrie a tabela ou procedimento para alterar a propriedade.
Operador OPENROWSET Não há suporte para esse operador. Remova OPENROWSET do procedimento armazenado compilado de forma nativa.
Operador OPENQUERY Não há suporte para esse operador. Remova OPENQUERY do procedimento armazenado que é compilado nativamente.
Operador OPENDATASOURCE Não há suporte para esse operador. Remova OPENDATASOURCE do procedimento armazenado compilado nativamente.
Operador OPENXML Não há suporte para esse operador. Remova OPENXML do procedimento armazenado compilado nativamente.
Operador CONTAINSTABLE Não há suporte para esse operador. Remova CONTAINSTABLE do procedimento armazenado compilado nativamente.
Operador FREETEXTTABLE Não há suporte para esse operador. Remova FREETEXTTABLE do procedimento armazenado compilado nativamente.
Característica Funções com valor de tabela Funções com valor de tabela não podem ser referenciadas de procedimentos armazenados compilados nativamente. Uma solução alternativa possível para essa restrição é adicionar a lógica nas funções com valor de tabela ao corpo do procedimento.
Operador CHANGETABLE Não há suporte para esse operador. Remova CHANGETABLE do procedimento armazenado compilado nativamente.
Operador GOTO Não há suporte para esse operador. Use outros constructos processuais, como WHILE.
Operador EXECUTE, INSERT EXEC (Comandos SQL) Não há suporte para aninhamento de procedimentos armazenados compilados nativamente. As operações necessárias podem ser especificadas embutidas, como parte da definição de procedimento armazenado.
Operador OFFSET Não há suporte para esse operador. Remova OFFSET de um procedimento armazenado compilado nativamente.
Operador UNIÃO Não há suporte para esse operador. Remova UNION do procedimento armazenado compilado de forma nativa. A combinação de vários conjuntos de resultados em um único conjunto de resultados pode ser feita usando uma variável de tabela.
Operador CRUZAR-SE Não há suporte para esse operador. Remova INTERSECT do procedimento armazenado compilado nativamente. Em alguns casos, uma JUNÇÃO INTERNA pode ser usada para obter o mesmo resultado.
Operador EXCETO Não há suporte para esse operador. Remova EXCEPT do procedimento armazenado compilado nativamente.
Operador JUNÇÃO EXTERNA Não há suporte para esse operador. Remova OUTER JOIN do procedimento armazenado compilado nativamente. Para obter mais informações, consulte Implementando uma junção externa.
Operador APLICAR Não há suporte para esse operador. Remova APPLY do procedimento armazenado que é compilado nativamente.
Operador PIVÔ Não há suporte para esse operador. Remova PIVOT do procedimento armazenado compilado nativamente.
Operador UNPIVOT Não há suporte para esse operador. Remova UNPIVOT do procedimento armazenado compilado nativamente.
Operador OU, EM Não há suporte para disjunção (OR, IN) na cláusula WHERE de consultas em procedimentos armazenados compilados nativamente. Crie consultas para cada um dos casos.
Operador CONTÉM Não há suporte para esse operador. Remova CONTAINS do procedimento armazenado compilado nativamente.
Operador TEXTO LIVRE Não há suporte para esse operador. Remova FREETEXT do procedimento armazenado compilado nativamente.
Operador NÃO Não há suporte para esse operador. Remova NOT do procedimento armazenado compilado nativamente. Em alguns casos, NOT pode ser substituído pela desigualdade. Por exemplo, NOT a=b pode ser substituído por a!=b.
Operador TSEQUAL Não há suporte para esse operador. Remova TSEQUAL do procedimento armazenado compilado nativamente.
Operador GOSTAR Não há suporte para esse operador. Remova LIKE do procedimento armazenado compilado nativamente.
Operador PRÓXIMO VALOR PARA As sequências não podem ser referenciadas dentro de procedimentos armazenados compilados nativamente. Obtenha o valor usando Transact-SQL interpretado e, em seguida, passe-o para o procedimento armazenado compilado nativamente. Para obter mais informações, consulte Implementando IDENTIDADE em uma tabela de Memory-Optimized.
Opção Set opção As opções SET não podem ser alteradas dentro de procedimentos armazenados compilados nativamente. Determinadas opções podem ser definidas com a instrução BEGIN ATOMIC. Para obter mais informações, consulte a seção sobre blocos atônicos em procedimentos armazenados compilados nativamente.
Operando "Amostragem de Tabela (TABLESAMPLE)" Não há suporte para esse operador. Remova TABLESAMPLE do procedimento armazenado compilado nativamente.
Opção RECOMPILAR Os procedimentos armazenados compilados nativamente são compilados no momento da criação. Para recompilar um procedimento armazenado compilado nativamente, exclua-o e recrie-o. Remova RECOMPILE da definição do procedimento.
Opção ENCRIPTAÇÃO Não há suporte para essa opção. Remova ENCRYPTION da definição do procedimento.
Opção PARA REPLICAÇÃO Não é possível criar procedimentos armazenados compilados nativamente para replicação. Removido FOR REPLICATION da definição do procedimento.
Opção FOR XML Não há suporte para essa opção. Remova FOR XML do procedimento armazenado compilado nativamente.
Opção PARA NAVEGAR Não há suporte para essa opção. Remova FOR BROWSE do procedimento armazenado compilado nativamente.
Dica de junção HASH, MERGE Procedimentos armazenados compilados nativamente só dão suporte a junções de loops aninhados. Não há suporte para junções de hash e mesclagem. Remova a sugestão de junção.
Dica de consulta Dica de consulta Essa dica de consulta não está dentro de procedimentos armazenados compilados nativamente. Para obter dicas de consulta com suporte, consulte Dicas de Consulta (Transact-SQL).
Opção DISTINTO Não há suporte para essa opção. Remova DISTINCT da consulta no procedimento armazenado compilado nativamente.
Opção POR CENTO Essa opção não tem suporte com cláusulas TOP. Remova PERCENT da consulta no procedimento armazenado compilado nativamente.
Opção COM LAÇOS Essa opção não é suportada nas TOP cláusulas. Remova WITH TIES da consulta no procedimento armazenado compilado nativamente.
Função agregada Função agregada Não há suporte para essa cláusula. Para obter mais informações sobre funções de agregação em procedimentos armazenados compilados nativamente, consulte Procedimentos armazenados compilados nativamente.
Função de classificação Função de classificação Não há suporte para funções de classificação em procedimentos armazenados compilados nativamente. Remova-os da definição do procedimento.
Função Função Não há suporte para essa função. Remova-o do procedimento armazenado que foi compilado nativamente.
Declaração instrução Afirmativa não é suportada. Remova-o do procedimento armazenado compilado nativamente.
Característica MIN e MAX usados com cadeias de caracteres e cadeias binárias As funções de agregação MIN e MAX não podem ser usadas para valores de cadeias de caracteres e de cadeias binárias dentro de procedimentos armazenados compilados nativamente.
Característica GROUP BY sem função de agregação Em procedimentos armazenados compilados nativamente, quando uma consulta tem uma cláusula GROUP BY, a consulta também deve usar uma função de agregação na cláusula SELECT ou HAVING. Adicione uma função de agregação à consulta.
Característica AGRUPAR POR TODOS ALL não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remova ALL da cláusula GROUP BY.
Característica GROUP BY () Não há suporte para agrupamento por uma lista vazia. Remova a cláusula GROUP BY ou inclua colunas na lista de agrupamento.
Característica Consolidação ROLLUP não pode ser usado com cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remova ROLLUP da definição do procedimento.
Característica CUBO CUBE não pode ser usado com as cláusulas GROUP BY em procedimentos armazenados compilados nativamente. Remova 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. Remova GROUPING SETS da definição do procedimento.
Característica TRANSAÇÃO BEGIN, COMMIT TRANSACTION E ROLLBACK TRANSACTION Use blocos ATOMIC para controlar transações e tratamento de erros. Para obter mais informações, consulte Atomic Blocks.
Característica Declarações de variáveis de tabela inline. As variáveis de tabela devem fazer referência a tipos de tabela com otimização de memória definidos explicitamente. Você deve criar um tipo de tabela otimizado para memória e usar esse tipo para a declaração de variável, em vez de especificar o tipo inline.
Característica sp_recompile Não há suporte para recompilar procedimentos armazenados compilados nativamente. Remova e recrie o procedimento.
Característica EXECUTAR COMO CHAMADOR A EXECUTE AS cláusula é necessária. Mas EXECUTE AS CALLER não há suporte. Usar EXECUTE AS OWNER, EXECUTE ASusuário ou EXECUTE AS SELF.
Característica Tabelas baseadas em disco Tabelas baseadas em disco não podem ser acessadas de procedimentos armazenados compilados nativamente. Remova referências a tabelas baseadas em disco dos procedimentos armazenados compilados nativamente. Ou migre as tabelas baseadas em disco para a memória otimizada.
Característica Visões Não é possível acessar exibições a partir de procedimentos armazenados compilados nativamente. Em vez de exibições, faça referência às tabelas base subjacentes.
Característica Funções com valor de tabela Funções com valor de tabela não podem ser acessadas de procedimentos armazenados compilados nativamente. Remova referências a funções com valor de tabela do procedimento armazenado compilado nativamente.

Transações que acessam tabelas de Memory-Optimized

A tabela a seguir lista os recursos de Transact-SQL e palavras-chave que podem aparecer no texto da mensagem de um erro envolvendo transações que acessam tabelas com otimização de memória, bem como a ação corretiva para resolver o erro.

Tipo Nome Resolução
Característica ponto de salvamento Não há suporte para a criação de pontos de salvamento explícitos em transações que acessam tabelas com otimização de memória.
Característica transação vinculada Sessões vinculadas não podem participar de transações que acessam tabelas otimizadas para memória. Não associe a sessão antes de executar o procedimento.
Característica DTC Transações que acessam tabelas com otimização de memória não podem ser transações distribuídas.

Consulte Também

Migrando para In-Memory OLTP