Compartilhar via


Tipos de dados no Fabric Data Warehouse

Aplica-se a:✅ ponto de extremidade de análise SQL e Warehouse no Microsoft Fabric

As tabelas no Microsoft Fabric dão suporte aos tipos de dados T-SQL mais usados.

Tipos de dados no Fabric Data Warehouse

O Warehouse é compatível com um subconjunto de tipos de dados T-SQL. Cada tipo de dados oferecido é baseado no tipo de dados do SQL Server de mesmo nome. Para obter mais informações, consulte o artigo de referência para cada um na tabela a seguir.

Categoria Tipos de dados com suporte
Numéricos exatos
Numéricos aproximados
Data e Hora
Cadeias de caracteres de comprimento fixo
Cadeias de caracteres de comprimento variável
  • varchar - o limite para armazenamento em varchar(max) atualmente é de 16 MB no Fabric Data Warehouse.
Dados binários
  • varbinary – o limite para armazenamento em varbinary(max) atualmente é de 16 MB no Fabric Data Warehouse.
  • uniqueidentifier**

* A precisão de datetime2 e time é limitada a 6 dígitos de precisão em frações de segundos.

** O tipo de dados uniqueidentifier é um tipo de dados T-SQL, sem um tipo de dados correspondente no Delta Parquet. Como resultado, ele é armazenado como um tipo binário. O Warehouse suporta o armazenamento e a leitura de colunas de uniqueidentifier, mas esses valores não podem ser lidos no endpoint de análise SQL. A leitura de valores uniqueidentifier no lakehouse exibe uma representação binária dos valores originais. Como resultado, funcionalidades como junções cruzadas entre o Warehouse e o endpoint de análise SQL usando uma coluna uniqueidentifier não funcionam conforme o esperado.

Para obter mais informações sobre os tipos de dados com suporte, incluindo suas precisões, consulte tipos de dados na referência CREATE TABLE.

Tipos de dados sem suporte

Para tipos de dados T-SQL que não têm suporte no momento, algumas alternativas estão disponíveis. Avalie o uso desses tipos, pois a precisão e o comportamento de consulta pode variar:

Tipo de dados sem suporte Alternativas disponíveis
dinheiro e dinheiro pequeno Use decimal. No entanto, observe que ele não pode armazenar a unidade monetária.
datetime e smalldatetime Use datetime2.
datetimeoffset Use datetime2, no entanto, você pode usar datetimeoffset para converter dados com CAST a funçãoAT TIME ZONE (Transact-SQL). Para obter um exemplo, consulte datetimeoffset.
nchar e nvarchar Use char e varchar, respectivamente, pois não há um tipo de dados unicode semelhante no Parquet. Os tipos char e varchar em um agrupamento UTF-8 poderão usar mais armazenamento do que nchar e nvarchar para armazenar dados unicode. Para entender o impacto em seu ambiente, consulte Diferenças de armazenamento entre UTF-8 e UTF-16.
text e ntext Use varchar.
imagem Use varbinary.
tinyint Use o smallint.
geografia Armazene dados de geografia como um par de colunas (latitude, longitude) ou uma coluna varbinary com o conteúdo binário bem conhecido e transforme-os em um valor geográfico. Como alternativa, use o tipo varchar e armazene os dados como texto bem conhecido.
geometria Armazene dados de geometria como um par de colunas (latitude, longitude) ou uma coluna varbinary com o conteúdo binário conhecido, e converta-os em um valor de geometria. Como alternativa, use o tipo varchar e armazene os dados como texto conhecido.
json Use varchar.
XML Não há equivalência.
Tipo Definido pelo Usuário (CLR) Não há equivalência.

Tipos de dados sem suporte ainda podem ser usados no código T-SQL para variáveis, parâmetros ou saídas de funções e procedimentos armazenados ou qualquer uso na memória na sessão. Não é permitido criar tabelas ou exibições que persistam dados em disco com qualquer um desses tipos.

Para obter um guia para criar uma tabela no Warehouse, consulte Criar tabelas.

Tipos de dados autogerados no endpoint de análise SQL

As tabelas no endpoint de análise SQL são criadas automaticamente sempre que uma tabela é criada no respectivo lakehouse associado. Os tipos de coluna nas tabelas de ponto de extremidade de análise do SQL são derivados dos tipos Delta de origem.

Os tipos que não estão listados na tabela não são apresentados como colunas na tabela no endpoint de análise SQL.

As regras para mapear tipos Delta originais para os tipos SQL no ponto de extremidade de análise do SQL são mostradas na tabela a seguir:

Tipo de dados Delta Tipo de dados SQL (mapeado)
LONGO |BIGINT bigint
BOOLEAN, BOOL bit
INT, INTEIRO int
TINYINT, BYTE, SMALLINT, SHORT smallint
DUPLO flutuar
FLOAT, REAL real
DATA data
TIMESTAMP datetime2
CHAR(n) varchar(n) com a ordenação Latin1_General_100_BIN2_UTF8
VARCHAR(n) em que n < 2000 varchar(4*n) com Latin1_General_100_BIN2_UTF8 ordenação
STRING, VARCHAR(n) em que n >= 2000 varchar(8000) no ponto de extremidade de análise SQL para Lakehouse e varchar(max)* no ponto de extremidade de análise SQL para itens espelhados.
A coluna varchar tem Latin1_General_100_BIN2_UTF8 ordenação.
BINÁRIO varbinary(n)
DECIMAL, DEC, NUMERIC decimal(p,s)

* O limite de armazenamento em varchar(max) atualmente é de 16 MB no ponto de extremidade de análise do SQL e no Fabric Data Warehouse.