Traduire Teradata SQL pour Fabric Data Warehouse

S’applique à :✅Entrepôt dans Microsoft Fabric

Assistant Migration traduit les métadonnées Teradata prises en charge en T-SQL compatible Fabric. Utilisez cette référence pour examiner les ajustements automatiques et corriger les objets nécessitant une attention car Teradata et Fabric Data Warehouse diffèrent en types de données, objets de base de données, commandes procédurales, conception physique et utilitaires opérationnels.

Pour le cycle de vie de bout en bout, voir Planifier une migration depuis Teradata. Pour les options de transfert d’outils et de données, voir Méthodes de migration pour Teradata.

Important

La traduction nécessite une validation technique et fonctionnelle. Confirmez les types de données Fabric Data Warehouse actuels, la surface T-SQL et les limitations avant le déploiement.

Utilisez cette référence avec Assistant Migration

  1. Téléchargez la DDL Teradata complète et les dépendances sous forme d’archive zip de .sql fichiers et/ou .bteq fichiers.
  2. Effectuez la migration des métadonnées et consultez Afficher les objets migrés pour des ajustements automatiques.
  3. Ouvrir des objets pour corriger les scripts qui ne pouvaient pas être traduits ou déployés.
  4. Utilisez les mappages de cet article pour corriger les constructions non soutenues ou ambiguës.
  5. Exécutez le script corrigé depuis Assistant Migration pour créer l’objet.
  6. Comparez les résultats avec le comportement de Teradata et optimisez les traductions littérales pour Fabric.

Mappages d’objets

Objet / construction Teradata Équivalent Fabric DW Notes
Database Schema Les espaces de noms de la base de données Teradata correspondent aux schémas Fabric DW ; les options de taille et de parent sont supprimées.
Fonction externe Non pris en charge Les routines en langage externe nécessitent une réécriture manuelle.
Table étrangère Raccourci OneLake ou COPY INTO Les tables étrangères ne sont pas directement prises en charge.
Function Function SQL scalaire et fonctions à valeurs de table correspondent aux fonctions Fabric DW ; les attributs de routine non pris en charge sont supprimés.
Table temporaire globale Table temporaire locale (#name) La persistance de la définition globale n’est pas conservée.
Colonne identité BIGINT IDENTITY NOT NULL Les options de seed, d’incrément, de limites et de cycle ne sont pas conservées.
Index Aucun équivalent direct Les indices primaire, secondaire, unique et de hachage ne sont pas émis ; Fabric gère la distribution et le clustering.
Contrainte d’intégrité - Vérifié Aucun équivalent direct CHECK Les contraintes doivent être appliquées en amont ou lors du processus de chargement.
Contrainte d’intégrité - Clé étrangère FOREIGN KEY ... NOT ENFORCED Les actions référentielles sont supprimées, et la contrainte n’est pas appliquée.
Contrainte d’intégrité - Clé primaire / Unique NONCLUSTERED ... NOT ENFORCED La contrainte est conservée comme métadonnées, et les colonnes clés sont forcées NOT NULL.
Index de rejoindre Vue matérialisée ou table pré-agrégée Les indices de jonction nécessitent une refonte en tant que structure persistante prise en charge.
Macro Procédure stockée Les macros Teradata migrent en tant que procédures stockées.
Table multi-ensemble Table Le comportement des lignes dupliquées correspond déjà au comportement par défaut de la table DW de Fabric.
Procédure Procédure stockée Les procédures Teradata correspondent aux procédures stockées Fabric DW ; les attributs procéduraux non pris en charge nécessitent une revue.
Vue récursive Non pris en charge Les expressions de table communes récursives ne sont pas prises en charge dans Fabric DW.
Role Role L’appartenance au rôle correspond à ALTER ROLE ADD MEMBER ou DROP MEMBER; ADMIN OPTION n’est pas conservée.
Table de fixation Table SET l’application par lignes dupliquées n’est pas préservée ; ajouter des métadonnées ou appliquer l’application en amont si nécessaire.
Statistics CREATE STATISTICS / UPDATE STATISTICS Les collections multicolonnes sont divisées en statistiques à colonne unique ; les cibles non prises en charge nécessitent une relecture.
Schéma de stockage Non pris en charge Les schémas de stockage Teradata ne s'associent pas à un objet d'espace de noms Fabric DW.
Table Table Les tables Teradata permanentes s’associent aux tables Fabric DW ; les options de stockage physique non prises en charge sont supprimées.
Trigger Non pris en charge Déplacez la logique de déclenchement dans une procédure stockée ou dans le pipeline de chargement.
View View Les vues standard sont cartographies directement ; les opérations de remplacement deviennent CREATE OR ALTER.
Table volatile Table temporaire locale (#name) Les tables volatiles à portée de session s’associent à des tables temporaires locales ; le qualificateur de schéma est supprimé.

Mappages de types de données

Famille de types de données Teradata Équivalent Fabric DW Notes
Chiffre approximatif FLOAT FLOAT, REAL, et DOUBLE PRECISION consolider en FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE et VARBYTE les familles correspondent à des types binaires de longueur variable ; les tailles supérieures à 8000 utilisent MAX.
Booléen Non pris en charge Teradata BOOLEAN n’a pas d’équivalent Fabric DW pris en charge.
BYTEINT SMALLINT Teradata BYTEINT s’élargit à SMALLINT.
Caractère CHAR(n) / VARCHAR(n) / VARCHAR(MAX) Unicode utilise le collage UTF-8 par entrepôt ; Les longueurs Unicode VARCHAR sont étendues et plafonnées à MAX.
Collection / Tableau Type de données de base mappé ou tableau JSON ARRAY et VARRAY les enveloppes sont retirées ; les constructeurs de tableaux sont sérialisés là où cela est nécessaire.
Date et heure DATE / TIME(6) / DATETIME2(6) La précision fractionnaire est plafonnée à 6, et les décalages de fuseau horaire ne sont pas conservés.
Chiffre exact DECIMAL(p,s) / NUMERIC DECIMAL et NUMERIC la précision et l’échelle sont conservées là où elles sont fournies ; l’échelle omise est par défaut à 0.
Integer SMALLINT / INT / BIGINT Des familles d’entiers autres que BYTEINT des applications directes.
Objets volumineux VARCHAR(MAX) / VARBINARY(MAX) CLOB correspond à VARCHAR(MAX), et BLOB correspond à VARBINARY(MAX).
MAP Non pris en charge Teradata MAP n’a pas d’équivalent Fabric DW pris en charge.
MULTISET Table Teradata MULTISET se convertit en table.
JSON et XML VARCHAR(MAX) Les documents JSON et XML sont stockés sous forme de texte ; JSON peut être interrogé avec JSON_VALUE et OPENJSON.
Intervalle temporel VARCHAR(50) Plus DATEADD la logique Fabric DW n’a pas de type d’intervalle scalaire ; le stockage et l’arithmétique nécessitent une refonte.
Période temporelle VARCHAR(100) ou des colonnes de début/fin explicites Les valeurs ou limites des périodes doivent être modélisées explicitement ; les métadonnées des relations de période sont supprimées.
spatial Non pris en charge Stockez du texte ou du binaire bien connu, ou traitez des données spatiales en dehors de Fabric DW.
SET Table Teradata SET se convertit en table.
Type défini par l’utilisateur Type de base sous-jacent Fabric DW n’a pas d’objet type défini par l’utilisateur ; remplacer et valider manuellement le type de base.

Correspondances de commandes BTEQ

BTEQ combine SQL, contrôle de flux, gestion de session, importation et comportement d’exportation. Selon la commande, traduisez-la en procédure stockée, pipeline, opération de chargement ou résultat explicite non supporté.

Assistant Migration traduit les scripts BTEQ en procédures stockées et préserve les éléments de script pris en charge. Examinez les procédures stockées générées et intégrez-les dans les flux de travail appropriés.

Famille de constructs BTEQ Équivalent Fabric Notes
Contrôle du flux et des embranchements Procédures IF / / GOTOWHILE stockées ou conditions de pipeline Déplacez les étiquettes, conditions et directives répétées dans le flux de contrôle T-SQL ou l’orchestration du pipeline.
Ingestion et exportation de données COPY INTOet activités de copie de pipeline Fabric Les importations peuvent devenir COPY INTO; déplacer les exportations et la gestion de fichiers externes vers des pipelines ou CETAS.
Gestion et terminaison des erreurs Codes de retour de procédure et chemins de défaillance du pipeline Capturer ERRORCODE et ACTIVITYCOUNT; ajouter la logique de l’orchestrateur pour ERRORLEVEL et les politiques d’erreur maximale.
Métadonnées et variables à l’exécution Paramètres de procédure / @@ERROR / @@ROWCOUNT / variables de pipeline Associez les variables d’environnement et les valeurs de statut BTEQ aux paramètres, variables et statut d’exécution capturé.
Envelopper de script et exécution SQL Envelopper de procédure stockée avec T-SQL traduit Un script BTEQ peut devenir une procédure ; extraire des objets au niveau du schéma, et conserver les instructions échouées pour examen.
Synchronisation et exécution des processus WAITFOR, plannings, activités d’attente, cahiers ou activités de pipeline Cartographiez HANG vers WAITFOR; déplacez les commandes du système d’exploitation à l’extérieur de l’entrepôt.

Énoncés BTEQ non supportés

Assistant Migration supprime les instructions BTEQ suivantes du code traduit :

Énoncé BTEQ Résultat de la traduction
.DEFAULTS Retiré du code
.ERROROUT, .ERRORLEVEL, et autonome .MAXERROR Retiré du code
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIF et .EXPORT INDICDATA FILE = path Retiré du code
.EXPORT RESET Retiré du code
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES et .SIDETITLES Retiré du code
.LOGOFF Retiré du code
.LOGON tdpid/user,pwd Retiré du code
.OS command, .TSO command et .CMS command Retiré du code
.PAGELENGTH, .PAGEBREAK, .HEADING et .FOOTING Retiré du code
.ECHOREQ Retiré du code
.RECORDMODE, .INDICDATA et .LARGEDATAMODE Retiré du code
.RETLIMIT n,m et indépendant .RETCANCEL Retiré du code
.RUN FILE = script.bteq Retiré du code
.SEPARATOR et indépendant .NULL AS Retiré du code
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTION et .SESSION DATEFORM Retiré du code
.SHOW CONTROLS et .SHOW VERSIONS Retiré du code

Valider le code traduit

Utilisez des tests automatisés lorsque possible, puis effectuez une revue fonctionnelle avec les responsables de la charge de travail.

  • Comparez le nombre d’objets et les dépendances non résolues.
  • Comparez les résultats au niveau des lignes pour les entrées représentatives et les entrées aux frontières.
  • Validez la précision décimale, les horodatages, la sémantique nulle, le remplissage de chaînes, le collation et le texte non ASCII.
  • Parcours d’erreur de test, comportement transactionnel, tentatives et échecs partiels.
  • Exécutez des rapports en aval et des modèles sémantiques par rapport à la cible.
  • Tester les volumes de données représentatifs et la concurrence.
  • Analyse SQL généré pour un imbrication inutile, un traitement ligne par rang et un réglage physique spécifique à la source.
  • Conservez ensemble le SQL source, le SQL traduit, les décisions des évaluateurs et les preuves de test.