Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Incluídas neste artigo estão recomendações para definir tipos de dados de tabela no pool SQL dedicado.
Tipos de dados suportados
O pool SQL dedicado (anteriormente SQL DW) oferece suporte aos tipos de dados mais usados. Para obter uma lista dos tipos de dados suportados, consulte os tipos de dados na instrução CREATE TABLE.
Minimize row length
Minimizar o tamanho dos tipos de dados reduz o comprimento da linha, o que leva a um melhor desempenho da consulta. Utilize o menor tipo de dados que funcione para os seus dados.
- Evite definir colunas de caracteres com um grande comprimento padrão. Por exemplo, se o valor mais longo for de 25 caracteres, defina sua coluna como VARCHAR(25).
- Evite usar NVARCHAR quando você só precisa de VARCHAR.
- Quando possível, use NVARCHAR(4000) ou VARCHAR(8000) em vez de NVARCHAR(MAX) ou VARCHAR(MAX).
Se você estiver usando tabelas externas do PolyBase para carregar suas tabelas, o comprimento definido da linha da tabela não poderá exceder 1 MB. Quando uma linha com dados de comprimento variável excede 1 MB, você pode carregar a linha com BCP, mas não com PolyBase.
Identificar tipos de dados sem suporte
Se você estiver migrando seu banco de dados de outro banco de dados SQL, poderá encontrar tipos de dados sem suporte no pool SQL dedicado. Use a seguinte consulta para descobrir tipos de dados sem suporte em seu esquema SQL existente:
SELECT t.[name], c.[name], c.[system_type_id], c.[user_type_id], y.[is_user_defined], y.[name]
FROM sys.tables t
JOIN sys.columns c on t.[object_id] = c.[object_id]
JOIN sys.types y on c.[user_type_id] = y.[user_type_id]
WHERE y.[name] IN ('geography','geometry','hierarchyid','image','text','ntext','sql_variant','xml')
AND y.[is_user_defined] = 1;
Soluções alternativas para tipos de dados sem suporte
A lista a seguir mostra os tipos de dados que o pool SQL dedicado (anteriormente SQL DW) não oferece suporte e fornece alternativas úteis para tipos de dados sem suporte.
| Tipo de dados não suportado | Solução |
|---|---|
| geometria | Varbinary |
| geografia | Varbinary |
| hierarchyid | Nvarchar(4000) |
| imagem | Varbinary |
| texto | Varchar |
| ntext | nvarchar |
| sql_variant | Split column into several strongly typed columns. |
| tabela | Converter em tabelas temporárias. |
| timestamp | Retrabalhe o código para usar datetime2 e a função CURRENT_TIMESTAMP . Somente constantes são suportadas como padrão, portanto, current_timestamp não pode ser definida como uma restrição padrão. If you need to migrate row version values from a timestamp typed column, use BINARY(8) or VARBINARY(8) for NOT NULL or NULL row version values. |
| xml | Varchar |
| Tipo definido pelo usuário | Converta novamente para o tipo de dados nativo quando possível. |
| valores padrão | Os valores padrão suportam apenas literais e constantes. |
Próximos passos
Para obter mais informações sobre o desenvolvimento de tabelas, consulte Visão geral da tabela.