Traduzir Teradata SQL para Fabric Data Warehouse

Aplica-se para:✅ Armazém no Microsoft Fabric

O Assistente de Migração traduz metadados Teradata suportados para T-SQL compatível com Fabric. Use esta referência para rever ajustes automáticos e corrigir objetos que requerem atenção, pois Teradata e Fabric Data Warehouse diferem em tipos de dados, objetos de base de dados, comandos procedimentais, design físico e utilidades operacionais.

Para o ciclo de vida de ponta a ponta, veja Planear uma migração a partir do Teradata. Para opções de movimentação de ferramentas e dados, consulte Métodos de migração para Teradata.

Importante

A saída da tradução requer validação técnica e funcional. Confirme os tipos de dados Fabric Data Warehouse atuais, a área de superfície do T-SQL e as limitações antes da implementação.

Use esta referência com o Assistente de Migração

  1. Carregar DDL Teradata completo e dependências como um arquivo zip de .sql e/ou .bteq ficheiros.
  2. Execute a migração de metadados e reveja Mostrar objetos migrados para ajustes automáticos.
  3. Open Objects para corrigir scripts que não podiam ser traduzidos ou implementados.
  4. Use os mapeamentos deste artigo para corrigir construtos não apoiados ou ambíguos.
  5. Executa o script corrigido do Assistente de Migração para criar o objeto.
  6. Compare os resultados com o comportamento do Teradata e otimize as traduções literais para o Fabric.

Mapeamentos de objetos

Objeto / construto Teradata Equivalente ao Fabric DW Notes
Base de dados Schema Os espaços de nomes da base de dados Teradata mapeiam para esquemas Fabric DW; as opções de tamanho e pais são removidas.
Função externa Não suportado Rotinas de linguagem externa requerem uma reescrita manual.
Tabela estrangeira Atalho no OneLake ou COPY INTO Mesas estrangeiras não são suportadas diretamente.
Função Função As funções SQL escalares e de tabela mapeiam para funções do Fabric DW; atributos rotineiros não suportados são removidos.
Tabela temporária global Tabela temporária local (#name) A persistência da definição global não é mantida.
Coluna identidade BIGINT IDENTITY NOT NULL As opções seed, increment, bounds e cycle não são preservadas.
Index Sem equivalente direto Os índices primário, secundário, único e hash não são emitidos; O Fabric gere a distribuição e o clustering.
Restrição de integridade - Verificar Sem equivalente direto CHECK as restrições devem ser aplicadas a montante ou durante o processo de carregamento.
Restrição de integridade - Chave estrangeira FOREIGN KEY ... NOT ENFORCED As ações referenciais são removidas e a restrição não é aplicada.
Restrição de integridade - Chave primária / Única NONCLUSTERED ... NOT ENFORCED A restrição é mantida como metadados, e as colunas-chave são forçadas NOT NULL.
Índice de entrada Vista materializada ou tabela pré-agregada Os índices de junção requerem redesenho como uma estrutura persistente suportada.
Macro Procedimento armazenado Os macros Teradata migram como procedimentos armazenados.
Tabela multiconjunto Table O comportamento das linhas duplicadas já está alinhado com o comportamento padrão da tabela DW do Fabric.
Procedure Procedimento armazenado Os procedimentos Teradata correspondem aos procedimentos armazenados do Fabric DW; os atributos procedimentais não suportados requerem revisão.
Visão recursiva Não suportado Expressões recursivas de tabelas comuns não são suportadas no Fabric DW.
Função Função A pertença a um papel corresponde a ALTER ROLE ADD MEMBER ou DROP MEMBER; ADMIN OPTION não é mantida.
Set Table Table SET a aplicação por linhas duplicadas não é preservada; adicionar metadados ou aplicação a montante, se necessário.
Estatísticas CREATE STATISTICS / UPDATE STATISTICS As coleções multicolunas são divididas em estatísticas de coluna única; alvos não suportados requerem revisão.
Esquema de armazenamento Não suportado Os esquemas de armazenamento Teradata não são mapeados para um objeto de namespace Fabric DW.
Table Table Tabelas permanentes de Teradata mapeiam para tabelas Fabric DW; opções de armazenamento físico não suportadas são removidas.
Trigger Não suportado Mover a lógica do gatilho para um procedimento armazenado ou para o pipeline de carregamento.
View View As vistas padrão mapeiam diretamente; as operações de substituição tornam-se CREATE OR ALTER.
Tabela volátil Tabela temporária local (#name) Tabelas voláteis com âmbito de sessão mapeiam para tabelas temporárias locais; o qualificador de esquema é removido.

Mapeamentos de tipo de dados

Família de tipos de dados Teradata Equivalente ao Fabric DW Notes
Numérico aproximado FLOAT FLOAT, REAL, e DOUBLE PRECISION consolidar em FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE e VARBYTE as famílias mapeiam para tipos binários de comprimento variável; tamanhos acima de 8000 utilizam MAX.
booleano Não suportado O Teradata BOOLEAN não tem um equivalente Fabric DW suportado.
BYTEINT SMALLINT O Teradata BYTEINT alarga-se para SMALLINT.
Personagem CHAR(n) / VARCHAR(n) / VARCHAR(MAX) O Unicode utiliza a colação warehouse UTF-8; Os comprimentos do Unicode VARCHAR são expandidos e limitados a MAX.
Coleção / Array Tipo de dados base mapeado ou array JSON ARRAY e VARRAY os wrappers são removidos; os construtores de array são serializados onde necessário.
Data e hora DATE / TIME(6) / DATETIME2(6) A precisão fracionária é limitada a 6, e os deslocamentos de fuso horário não são mantidos.
Numérico exato DECIMAL(p,s) / NUMERIC DECIMAL e NUMERIC a precisão e a escala são mantidas quando forem fornecidas; a escala omitida corresponde por defeito a 0.
Número inteiro SMALLINT / INT / BIGINT Famílias inteiras que não BYTEINT sejam mapeadas diretamente.
Objetos grandes VARCHAR(MAX) / VARBINARY(MAX) CLOB mapeia para VARCHAR(MAX), e BLOB mapeia para VARBINARY(MAX).
MAP Não suportado O Teradata MAP não tem um equivalente Fabric DW suportado.
MULTISET Table O Teradata MULTISET converte para uma tabela.
JSON e XML VARCHAR(MAX) Documentos JSON e XML são armazenados como texto; O JSON pode ser consultado com JSON_VALUE e OPENJSON.
Intervalo temporal VARCHAR(50) mais DATEADD lógica O Fabric DW não tem um tipo de intervalo escalar; o armazenamento e a aritmética requerem redesenho.
Período temporal VARCHAR(100) ou colunas explícitas de início/fim Os valores ou limites de período devem ser modelados explicitamente; os metadados de relação de período são eliminados.
Spatial Não suportado Armazene texto ou binário bem conhecido, ou processe dados espaciais fora do Fabric DW.
SET Table O Teradata SET converte para uma tabela.
Tipo definido pelo usuário Tipo de base subjacente Fabric DW não tem um objeto de tipo definido pelo utilizador; substitua e valide manualmente o tipo base.

Mapeamentos de comandos BTEQ

O BTEQ combina SQL, controlo de fluxo, gestão de sessões, importação e comportamento de exportação. Dependendo do comando, traduz-o para um procedimento armazenado, pipeline, operação de carregamento ou resultado explícito não suportado.

O Assistente de Migração traduz scripts BTEQ em procedimentos armazenados e preserva elementos de script suportados. Revise os procedimentos armazenados gerados e integre-os nos fluxos de trabalho apropriados.

Família de construtos BTEQ Fabric equivalente Notes
Controlo do fluxo e ramificação Procedimento IF / / GOTOWHILE armazenado ou condições do pipeline Mover rótulos, condições e diretivas repetidas para o fluxo de controlo T-SQL ou orquestração de pipeline.
Ingestão e exportação de dados COPY INTOe atividades de cópia do pipeline Fabric As importações podem tornar-se COPY INTO; mover exportações e tratamento de ficheiros externos para pipelines ou CETAS.
Tratamento e terminação de erros Códigos de retorno de procedimentos e caminhos de falha do pipeline Capturar ERRORCODE e ACTIVITYCOUNT; adicionar lógica do orquestrador para ERRORLEVEL e políticas de erro máximo.
Metadados e variáveis em tempo de execução Parâmetros do procedimento / @@ERROR / @@ROWCOUNT / variáveis do pipeline Mapear variáveis de ambiente e valores de estado BTEQ para parâmetros, variáveis e estado de execução capturado.
Wrapper de scripts e execução SQL Wrapper de procedimento armazenado com T-SQL traduzido Um script BTEQ pode tornar-se um procedimento; extrair objetos ao nível do esquema e guardar instruções falhadas para revisão.
Temporização e execução de processos WAITFOR, horários, atividades de espera, cadernos ou atividades do pipeline Mapear HANG para WAITFOR; mover comandos do sistema operativo para fora do armazém.

Instruções BTEQ não suportadas

O Assistente de Migração remove as seguintes instruções BTEQ do código traduzido:

Instrução BTEQ Resultado da tradução
.DEFAULTS Removido do código
.ERROROUT, .ERRORLEVEL, e independente .MAXERROR Removido do código
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIFe .EXPORT INDICDATA FILE = path Removido do código
.EXPORT RESET Removido do código
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES, e .SIDETITLES Removido do código
.LOGOFF Removido do código
.LOGON tdpid/user,pwd Removido do código
.OS command, .TSO commande .CMS command Removido do código
.PAGELENGTH, .PAGEBREAK, .HEADINGe .FOOTING Removido do código
.ECHOREQ Removido do código
.RECORDMODE, .INDICDATAe .LARGEDATAMODE Removido do código
.RETLIMIT n,m e independente .RETCANCEL Removido do código
.RUN FILE = script.bteq Removido do código
.SEPARATOR e independente .NULL AS Removido do código
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTIONe .SESSION DATEFORM Removido do código
.SHOW CONTROLS e .SHOW VERSIONS Removido do código

Validar código traduzido

Use testes automatizados sempre que possível e depois complete a revisão funcional com os responsáveis da carga de trabalho.

  • Compare contagens de objetos e dependências não resolvidas.
  • Compare os resultados ao nível das linhas para entradas representativas e de fronteira.
  • Validar precisão decimal, carimbos temporais, semântica nula, enchimento de strings, colação e texto não ASCII.
  • Caminhos de erro de teste, comportamento de transações, tentativas e falhas parciais.
  • Executar relatórios a jusante e modelos semânticos contra o alvo.
  • Testar volumes de dados representativos e concorrência.
  • Revisão do SQL gerado para aninhamento desnecessário, processamento linha a linha e ajuste físico específico da fonte.
  • Manter o SQL de origem, SQL traduzido, decisões dos revisores e provas de teste em conjunto.