Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Este artigo lista os tipos de dados que não têm suporte para os recursos do OLTP na Memória:
- Tabelas com otimização de memória
- Módulos de Transact-SQL (T-SQL) compilados nativamente
Tipos de dados sem suporte
Os seguintes tipos de dados não têm suporte:
- datetimeoffset
- geography
- geometry
- hierarchyid
- json
- rowversion
- sql_variant
- vector
- xml
- Tipos definidos pelo usuário
Tipos de dados com suporte notáveis
As funcionalidades In-Memory OLTP oferecem suporte à maioria dos tipos de dados. A lista a seguir vale a pena observar explicitamente:
| Tipos de cadeia de caracteres e binários | Para obter mais informações |
|---|---|
| binário e varbinary | binário e varbinary |
| char e varchar | char e varchar |
| nchar e nvarchar | nchar e nvarchar |
Para os tipos de dados binários e de cadeia de caracteres anteriores, começando com o SQL Server 2016 (13.x):
Uma tabela individual otimizada para memória também pode ter várias colunas longas, como nvarchar(4000), mesmo que seus comprimentos juntos excedam o tamanho físico da linha de 8.060 bytes.
Uma tabela com otimização de memória pode ter cadeia de caracteres de comprimento máximo e colunas binárias de tipos de dados, como varchar(max).
Identificar LOBs e outras colunas que estão fora de linha
No SQL Server 2016 (13.x) e versões posteriores, as tabelas com otimização de memória dão suporte a colunas off-row, que permitem que uma única linha de tabela seja maior que 8.060 bytes. A seguinte instrução Transact-SQL SELECT lista todas as colunas que estão fora da linha para tabelas otimizadas para memória:
- Todas as colunas de chave de índice são armazenadas em linha.
- As chaves de índice não específicas podem incluir colunas anuláveis em tabelas com otimização de memória.
- Índices podem ser declarados como
UNIQUEem uma tabela com otimização de memória.
- Todas as colunas LOB são armazenadas fora de linha.
- Uma
max_lengthde-1indica uma coluna de objeto grande (LOB).
SELECT OBJECT_NAME(m.object_id) AS [table],
c.name AS [column],
c.max_length
FROM sys.memory_optimized_tables_internal_attributes AS m
INNER JOIN sys.columns AS c
ON m.object_id = c.object_id
AND m.minor_id = c.column_id
WHERE m.type = 5;
Outros tipos de dados
| Outros tipos | Para obter mais informações |
|---|---|
| tipos de tabela | Tabelas temporárias e variáveis de tabela mais rápidas usando otimização com memória |