Traduce Teradata SQL per Fabric Data Warehouse

si applica a:✅ Magazzino di dati in Microsoft Fabric

Migration Assistant traduce i metadati supportati di Teradata in T-SQL compatibile con Fabric. Usa questo riferimento per rivedere gli aggiustamenti automatici e correggere oggetti che richiedono attenzione perché Teradata e Fabric Data Warehouse differiscono per tipi di dati, oggetti di database, comandi procedurali, progettazione fisica e utility operative.

Per il ciclo di vita end-to-end, vedi Pianificare una migrazione da Teradata. Per le opzioni di spostamento di strumenti e dati, vedi Metodi di migrazione per Teradata.

Important

Il risultato della traduzione richiede validazione tecnica e funzionale. Conferma i tipi di dati Fabric Data Warehouse attuali, la superficie T-SQL e le limitazioni prima della distribuzione.

Usa questo riferimento con Migration Assistant

  1. Carica il DDL completo di Teradata e le dipendenze come archivio zip di .sql e/o .bteq file.
  2. Esegui la migrazione dei metadati e rivedi Mostra oggetti migrati per modifiche automatiche.
  3. Open Objects da correggere per script che non potevano essere tradotti o distribuiti.
  4. Usa le mappature in questo articolo per correggere costrutti non supportati o ambigui.
  5. Esegui lo script corretto da Migration Assistant per creare l'oggetto.
  6. Confronta i risultati con il comportamento di Teradata e ottimizza le traduzioni letterali per Fabric.

Mappe degli oggetti

Oggetto / costruzione Teradata Equivalente Fabric DW Notes
Database Schema Gli spazi dei nomi del database Teradata si mappano agli schemi Fabric DW; le opzioni di dimensionamento e di genitore sono state rimossi.
Funzione esterna Non supportato Le routine in linguaggio esterno richiedono una riscrittura manuale.
Tavolo estero Scorciatoia OneLake o COPY INTO I tavoli stranieri non sono supportati direttamente.
Function Function Le funzioni SQL scalari e a valori di tabella si mappano alle funzioni Fabric DW; gli attributi di routine non supportati vengono rimossi.
Tabella temporanea globale Tabella temporanea locale (#name) La persistenza della definizione globale non viene mantenuta.
Colonna identità BIGINT IDENTITY NOT NULL Le opzioni seed, increment, bounds e cycle non vengono preservate.
Index Nessun equivalente diretto Gli indici primari, secondari, unici e hash non vengono emessi; Fabric gestisce la distribuzione e il clustering.
Vincolo di integrità - Controllo Nessun equivalente diretto CHECK I vincoli devono essere applicati a monte o durante il caricamento.
Vincolo di integrità - Chiave esterna FOREIGN KEY ... NOT ENFORCED Le azioni di riferimento vengono rimosse e il vincolo non viene applicato.
Vincolo di integrità - Chiave primaria / Unica NONCLUSTERED ... NOT ENFORCED Il vincolo viene mantenuto come metadati, e le colonne chiave sono forzate NOT NULL.
Indice di iscrizione Vista materializzata o tabella preaggregata Gli indici di join richiedono una riprogettazione come struttura supportata e persistente.
Macro Procedura memorizzata Le macro Teradata migrano come stored procedure.
Tabella multiset Tabella Il comportamento delle righe duplicate è già allineato con il comportamento predefinito della tabella DW di Fabric.
Procedura Procedura memorizzata Le procedure Teradata vengono mappate nelle stored procedure Fabric DW; gli attributi procedurali non supportati richiedono revisione.
Vista ricorsiva Non supportato Le espressioni di tabella comune ricorsive non sono supportate in Fabric DW.
Ruolo Ruolo L'appartenenza ai ruoli corrisponde a ALTER ROLE ADD MEMBER o DROP MEMBER; ADMIN OPTION non viene mantenuta.
Tabella fissata Tabella SET l'applicazione delle righe duplicate non viene preservata; aggiungere metadati o applicazione a monte se necessario.
Statistics CREATE STATISTICS / UPDATE STATISTICS Le collezioni multicolonna sono suddivise in statistiche a colonna singola; i target non supportati richiedono revisione.
Schema di archiviazione Non supportato Gli schemi di archiviazione Teradata non si mappano su un oggetto namespace Fabric DW.
Tabella Tabella Le tabelle Teradata permanenti vengono mappate alle tabelle Fabric DW; le opzioni di archiviazione fisica non supportate sono state rimosse.
Trigger Non supportato Sposta la logica del trigger in una procedura memorizzata o nella pipeline di carico.
View View Le viste standard mappano direttamente; le operazioni di sostituzione diventano CREATE OR ALTER.
Tabella volatile Tabella temporanea locale (#name) Le tabelle volatili con ambito sessione si mappano alle tabelle temporanee locali; il qualificatore dello schema viene rimosso.

Mappatura dei tipi di dati

Famiglia di tipi dati Teradata Equivalente Fabric DW Notes
Numerico approssimativo FLOAT FLOAT, REAL, e DOUBLE PRECISION consolidare in FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE e VARBYTE le famiglie mappano a tipi binari a lunghezza variabile; le dimensioni superiori a 8000 usano MAX.
Booleano Non supportato Teradata BOOLEAN non ha un equivalente Fabric DW supportato.
BYTEINT SMALLINT Teradata BYTEINT si allarga a SMALLINT.
Carattere CHAR(n) / VARCHAR(n) / VARCHAR(MAX) Unicode utilizza il collo warehouse UTF-8; Le lunghezze Unicode VARCHAR vengono espanse e limitate a MAX.
Collezione / Array Tipo di dati base mappato o array JSON ARRAY e VARRAY i wrapper vengono rimossi; i costruttori di array vengono serializzati dove necessario.
Data e ora DATE / TIME(6) / DATETIME2(6) La precisione frazionaria è limitata a 6 e gli offset per fuso orario non vengono mantenuti.
Numerico esatto DECIMAL(p,s) / NUMERIC DECIMAL e NUMERIC precisione e scala sono mantenute dove fornite; la scala omessa è predefinita a 0.
Integer SMALLINT / INT / BIGINT Famiglie intere diverse dalla BYTEINT mappa diretta.
Oggetti di grandi dimensioni VARCHAR(MAX) / VARBINARY(MAX) CLOB corrisponde a VARCHAR(MAX), e BLOB corrisponde a VARBINARY(MAX).
MAP Non supportato Teradata MAP non ha un equivalente Fabric DW supportato.
MULTISET Tabella Teradata MULTISET si converte in una tabella.
JSON e XML VARCHAR(MAX) I documenti JSON e XML sono memorizzati come testo; JSON può essere interrogato con JSON_VALUE e OPENJSON.
Intervallo temporale VARCHAR(50) più DATEADD la logica Fabric DW non ha un tipo di intervallo scalare; lo storage e l'aritmetica richiedono una riprogettazione.
Periodo temporale VARCHAR(100) o colonne esplicite di inizio/fine I valori o i limiti dei periodi devono essere modellati esplicitamente; i metadati delle relazioni periodo-relazioni vengono eliminati.
Spaziale Non supportato Memorizza testo o binario ben noto, oppure elabora dati spaziali al di fuori di Fabric DW.
SET Tabella Teradata SET si converte in una tabella.
Tipo definito dall'utente Tipo di base sottostante Fabric DW non ha un oggetto di tipo definito dall'utente; sostituire e validare manualmente il tipo base.

Mappature dei comandi BTEQ

BTEQ combina SQL, controllo di flusso, gestione delle sessioni, importazione ed esportazione. A seconda del comando, traducilo in una procedura memorizzata, pipeline, operazione di carico o risultato esplicito non supportato.

Migration Assistant traduce script BTEQ in stored procedure e preserva gli elementi dello script supportati. Rivedi le stored procedure generate e integrale nei flussi di lavoro appropriati.

Famiglia costruttiva BTEQ Equivalente Fabric Notes
Controlla il flusso e la diramazione Stored procedure IF / / GOTOWHILE o condizioni della pipeline Sposta etichette, condizioni e direttive ripetute nel flusso di controllo T-SQL o nell'orchestrazione della pipeline.
Ingestione ed esportazione dei dati COPY INTOe attività di copia della pipeline Fabric Le importazioni possono diventare COPY INTO; spostare le esportazioni e la gestione dei file esterni verso pipeline o CETAS.
Gestione e terminazione degli errori Codici di ritorno delle procedure e percorsi di guasto della pipeline Acquisire ERRORCODE e ACTIVITYCOUNT; aggiungere logica orchestratore per ERRORLEVEL e politiche di massimo errore.
Metadati e variabili a runtime Parametri della procedura / @@ERROR / @@ROWCOUNT / variabili della pipeline Mappare le variabili ambientali e i valori di stato BTEQ in parametri, variabili e stato di esecuzione catturato.
Script wrapper ed esecuzione SQL Wrapper stored procedure con T-SQL tradotto Uno script BTEQ può diventare una procedura; estrarre oggetti a livello di schema e conservare le istruzioni fallite per la revisione.
Tempistica ed esecuzione del processo WAITFOR, orari, attività di attesa, quaderni o attività di pipeline Mappa HANG a WAITFOR; sposta i comandi del sistema operativo fuori dal magazzino.

Istruzioni BTEQ non supportate

Migration Assistant rimuove le seguenti istruzioni BTEQ dal codice tradotto:

Enunciato BTEQ Risultato della traduzione
.DEFAULTS Rimosso dal codice
.ERROROUT, .ERRORLEVEL, e standalone .MAXERROR Rimosso dal codice
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIFe .EXPORT INDICDATA FILE = path Rimosso dal codice
.EXPORT RESET Rimosso dal codice
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES e .SIDETITLES Rimosso dal codice
.LOGOFF Rimosso dal codice
.LOGON tdpid/user,pwd Rimosso dal codice
.OS command, .TSO command e .CMS command Rimosso dal codice
.PAGELENGTH, .PAGEBREAK, .HEADINGe .FOOTING Rimosso dal codice
.ECHOREQ Rimosso dal codice
.RECORDMODE, .INDICDATA e .LARGEDATAMODE Rimosso dal codice
.RETLIMIT n,m e autonomo .RETCANCEL Rimosso dal codice
.RUN FILE = script.bteq Rimosso dal codice
.SEPARATOR e autonomo .NULL AS Rimosso dal codice
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTIONe .SESSION DATEFORM Rimosso dal codice
.SHOW CONTROLS e .SHOW VERSIONS Rimosso dal codice

Valida il codice tradotto

Usa test automatizzati dove possibile, poi completa la revisione funzionale con i responsabili del carico di lavoro.

  • Confronta il conteggio degli oggetti e le dipendenze non risolte.
  • Confrontare i risultati a livello di riga per input rappresentativi e di bordo.
  • Validare la precisione decimale, i timestamp, la semantica nulla, il riempimento delle stringhe, il collation e il testo non ASCII.
  • Percorso di errore di test, comportamento delle transazioni, tentativi e fallimenti parziali.
  • Esegui report a valle e modelli semantici contro il bersaglio.
  • Testare volumi di dati rappresentativi e concorrenza.
  • Revisiona SQL generato per imbricare inutile, elaborazione riga per riga e messa a punto fisica specifica per la sorgente.
  • Conservare insieme l'SQL sorgente, SQL tradotto, decisioni dei revisori e prove di test.