Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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. |