Translate Teradata SQL for Fabric Data Warehouse

Dotyczy:✅ Magazyn w systemie Microsoft Fabric

Asystent migracji tłumaczy obsługiwane metadane Teradata na kompatybilne z Fabric-SQL. Użyj tego źródła, aby przeglądać automatyczne korekty i naprawiać obiekty wymagające uwagi, ponieważ Teradata i Fabric Data Warehouse różnią się typami danych, obiektami bazy danych, poleceniami proceduralnymi, projektowaniem fizycznym i narzędziami operacyjnymi.

Aby uzyskać cykl życia od początku do końca, zobacz Plan a migration from Teradata. Aby poznać opcje przenoszenia narzędzi i danych, zobacz Metody migracji dla Teradata.

Important

Wyniki tłumaczeniowe wymagają technicznej i funkcjonalnej weryfikacji. Przed wdrożeniem potwierdzić aktualne typy Fabric Data Warehouse danych, powierzchnię T-SQL oraz ograniczenia.

Użyj tego źródła z Asystent migracji

  1. Przesyłaj kompletne pliki DDL Teradata i zależności jako archiwum .sql zip i/lub .bteq plików.
  2. Uruchom migrację metadanych i przegląd Pokaż przeniesione obiekty do automatycznych korekt.
  3. Otwórz obiekty, aby naprawić skrypty, których nie dało się przetłumaczyć ani wdrożyć.
  4. Wykorzystaj mapowania opisane w tym artykule, aby poprawić niepoparte lub niejednoznaczne konstrukcje.
  5. Uruchom poprawiony skrypt z Asystent migracji, aby utworzyć obiekt.
  6. Porównaj wyniki z zachowaniem Teradata i zoptymalizuj literalne tłumaczenia dla Fabric.

Odwzorowania obiektowe

Obiekt / konstrukcja Teradata Odpowiednik Fabric DW Notes
Baza danych Schema Przestrzenie nazw bazy danych Teradata mapują się na schematy Fabric DW; usuwano rozmiary i opcje nadrzędne.
Funkcja zewnętrzna Niewspierane Procedury języka zewnętrznego wymagają ręcznego przepisania.
Tabela zagraniczna Skrót OneLake lub COPY INTO Tabele zagraniczne nie są obsługiwane bezpośrednio.
Function Function Funkcje skalarne SQL i tabelowe mapują się na funkcje Fabric DW; nieobsługiwane atrybuty rutynowych są usuwane.
Globalna tabela tymczasowa Lokalna tabela tymczasowa (#name) Globalna trwałość definicji nie jest zachowana.
Kolumna tożsamości BIGINT IDENTITY NOT NULL Opcje nasion, przyrostu, granic i cyklu nie są zachowane.
Index Brak bezpośredniego odpowiednika Indeksy główne, wtórne, unikalne i hash nie są emitowane; Fabric zarządza dystrybucją i klastrowaniem.
Ograniczenie integralności – Sprawdzone Brak bezpośredniego odpowiednika CHECK ograniczenia muszą być egzekwowane przed procesem obciążenia lub w procesie obciążenia.
Ograniczenie integralności - klucz obcy FOREIGN KEY ... NOT ENFORCED Działania referencyjne są usuwane, a ograniczenie nie jest egzekwowane.
Ograniczenie integralności – klucz główny / unikalny NONCLUSTERED ... NOT ENFORCED Ograniczenie jest zachowywane jako metadane, a kolumny kluczy są wymuszone NOT NULL.
Join index Widok materializowany lub tabela wstępnie agregowana Indeksy łączenia wymagają przeprojektowania jako wspieranej struktury trwałej.
Makro procedura składowana Makra Teradata migrują jako procedury przechowywane.
Tabela wielozbiorowa tabela Zachowanie wiersza duplikatów już odpowiada domyślnemu zachowaniu tabeli Fabric DW.
Procedura procedura składowana Procedury Teradata mapują się na procedury przechowywane w Fabric DW; nieobsługiwane atrybuty proceduralne wymagają przeglądu.
Widok rekurencyjny Niewspierane Rekurencyjne wyrażenia tablic wspólnych nie są obsługiwane w Fabric DW.
Rola Rola Przynależność do roli przypisuje się do ALTER ROLE ADD MEMBER lub DROP MEMBER; ADMIN OPTION nie jest zachowywana.
Stacz do stołu tabela SET egzekwowanie duplikatów wiersza nie jest zachowywane; dodaj metadane lub egzekwowanie w górę instancji, jeśli jest to konieczne.
Statystyka CREATE STATISTICS / UPDATE STATISTICS Kolekcje wielokolumnowe dzielą się na statystyki jednokolumnowe; nieobsługiwane cele wymagają przeglądu.
Schemat pamięci Niewspierane Schematy przechowywania Teradata nie mapują się na obiekt przestrzeni nazw Fabric DW.
tabela tabela Stałe tabele Teradata mapują się na tabele Fabric DW; nieobsługiwane opcje fizycznego przechowywania są usuwane.
Trigger Niewspierane Przenieś logikę wyzwalającą do procedury przechowywanej lub potoku ładowania.
View View Standardowe widoki bezpośrednio odwzorowują; operacje zastępowania stają się .CREATE OR ALTER
Tabela ulotna Lokalna tabela tymczasowa (#name) Tabele ulotne w skali sesji mapują się na lokalne tabele tymczasowe; kwalifikator schematu jest usuwany.

Mapowanie typu danych

Rodzina typów danych Teradata Odpowiednik Fabric DW Notes
Przybliżona numeryka FLOAT FLOAT, REAL, i DOUBLE PRECISION skonsolidować do FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE a VARBYTE rodziny odwzorowują się na typy binarne o zmiennej długości; rozmiary powyżej 8000 używają MAX.
logiczny Niewspierane Teradata BOOLEAN nie ma wspieranego odpowiednika Fabric DW.
BYTEINT SMALLINT Teradata BYTEINT rozszerza się do SMALLINT.
Character CHAR(n) / VARCHAR(n) / VARCHAR(MAX) Unicode wykorzystuje zbiorczość UTF-8 w magazynie; Długości Unicode VARCHAR są rozszerzane i ograniczane do .MAX
Kolekcja / Tablica Mapowany typ danych bazowych lub tablica JSON ARRAY a VARRAY owijacze są usuwane; konstruktory tablic są serializowane tam, gdzie jest to wymagane.
Data i godzina DATE / TIME(6) / DATETIME2(6) Precyzja ułamkowa jest ograniczona do 6, a przesunięcia stref czasowych nie są zachowywane.
Dokładna liczba DECIMAL(p,s) / NUMERIC DECIMAL a NUMERIC precyzja i skala są zachowywane tam, gdzie są dostarczone; pominięta skala domyślnie wynosi 0.
Integer SMALLINT / INT / BIGINT Rodziny całkowitoliczbowe inne niż BYTEINT bezpośrednio odwzorowujące.
Duże obiekty VARCHAR(MAX) / VARBINARY(MAX) CLOB odwzorowuje się na VARCHAR(MAX), a BLOB odwzorowuje się na VARBINARY(MAX).
MAP Niewspierane Teradata MAP nie ma wspieranego odpowiednika Fabric DW.
MULTISET tabela Teradata MULTISET konwertuje do tabeli.
JSON i XML VARCHAR(MAX) Dokumenty JSON i XML są przechowywane jako tekst; JSON można zapytać za pomocą JSON_VALUE i OPENJSON.
Przedział czasowy VARCHAR(50) DATEADD Plus logika Fabric DW nie ma typu skalarnego; przechowywanie i arytmetyka wymagają przeprojektowania.
Okres czasowy VARCHAR(100) lub wyraźne kolumny start/koniec Wartości okresowe lub ograniczenia muszą być modelowane wprost; metadane relacji okresowych są usuwane.
Spatial Niewspierane Przechowuj znane teksty lub binarne, albo przetwarzaj dane przestrzenne poza Fabric DW.
SET tabela Teradata SET konwertuje do tabeli.
Typ zdefiniowany przez użytkownika Typ bazy podstawowej Fabric DW nie posiada obiektu typu zdefiniowanego przez użytkownika; podstawowy typ można zastąpić i zweryfikować ręcznie.

Mapowania poleceń BTEQ

BTEQ łączy SQL, kontrolę przepływu, zarządzanie sesją, import i eksport. W zależności od polecenia, można je przetłumaczyć na procedurę przechowywaną, potok, operację ładowania lub jawny, niewspierany wynik.

Asystent migracji tłumaczy skrypty BTEQ na procedury przechowywane i zachowuje wspierane elementy skryptu. Przejrzyj wygenerowane procedury przechowywane i integruj je z odpowiednimi przepływami pracy.

Rodzina konstruktów BTEQ Fabric odpowiednik Notes
Przepływ sterowania i rozgałęzienia Procedury IF / / GOTOWHILE przechowywane lub warunki potoku Przenieś etykiety, warunki i dyrektywy powtarzające do przepływu sterowania T-SQL lub orkiestracji potoku.
Pobieranie i eksport danych COPY INTOoraz działania kopiowania pipeline Fabric Importy mogą stać się : COPY INTOprzenieś eksporty i zewnętrzną obsługę plików do potoków lub CETAS.
Obsługa błędów i zakończenie Kody zwrotne procedur i ścieżki awarii potoku Przechwycaj ERRORCODE i ACTIVITYCOUNT; dodaj logikę orkiestratora dla ERRORLEVEL oraz polityki maksymalnego błędu.
Metadane i zmienne w czasie działania Parametry procedury / @@ERROR / @@ROWCOUNT / zmienne potoku Mapowanie zmiennych środowiskowych i statusów BTEQ na parametry, zmienne oraz zarejestrowany status wykonywania.
Wrapper skryptu i wykonanie SQL Opakowanie procedur przechowywanych z przetłumaczonym T-SQL Skrypt BTEQ może stać się procedurą; wyodrębniać obiekty na poziomie schematu i przechowywać nieudane instrukcje do przeglądu.
Czas i realizacja procesu WAITFOR, harmonogramy, aktywności oczekiwania, zeszyty lub działania pipeline Przenieś HANGWAITFORpolecenia systemu operacyjnego na ; poza magazyn.

Niepoparte stwierdzenia BTEQ

Asystent migracji usuwa następujące instrukcje BTEQ z przetłumaczonego kodu:

Stwierdzenie BTEQ Wynik tłumaczenia
.DEFAULTS Usunięte z kodu
.ERROROUT, .ERRORLEVEL, i samodzielny .MAXERROR Usunięte z kodu
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIFi .EXPORT INDICDATA FILE = path Usunięte z kodu
.EXPORT RESET Usunięte z kodu
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES i .SIDETITLES Usunięte z kodu
.LOGOFF Usunięte z kodu
.LOGON tdpid/user,pwd Usunięte z kodu
.OS command, .TSO commandi .CMS command Usunięte z kodu
.PAGELENGTH, .PAGEBREAK, .HEADINGi .FOOTING Usunięte z kodu
.ECHOREQ Usunięte z kodu
.RECORDMODE, .INDICDATAi .LARGEDATAMODE Usunięte z kodu
.RETLIMIT n,m i samodzielnie .RETCANCEL Usunięte z kodu
.RUN FILE = script.bteq Usunięte z kodu
.SEPARATOR i samodzielnie .NULL AS Usunięte z kodu
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTIONi .SESSION DATEFORM Usunięte z kodu
.SHOW CONTROLS i .SHOW VERSIONS Usunięte z kodu

Walidacja przetłumaczonego kodu

Używaj testów automatycznych, gdzie to możliwe, a następnie przekonuj przegląd funkcjonalny z właścicielami obciążeń.

  • Porównaj liczbę obiektów i nierozwiązane zależności.
  • Porównaj wyniki na poziomie wiersza dla reprezentatywnych i brzegowych wejść.
  • Zweryfikowaj precyzję dziesiętną, znaczniki czasu, semantykę zerową, doładowanie ciągów znaków, kolidację oraz teksty nie-ASCII.
  • Testuj ścieżki błędów, zachowanie transakcji, próby i częściowe niepowodzenia.
  • Wykonuj raporty i modele semantyczne względem celu.
  • Testuj reprezentatywne wolumeny danych i współbieżność.
  • Review generowany SQL do niepotrzebnego zagnieżdżania, przetwarzania wiersz po wierszu oraz fizycznego dostrojenia specyficznego dla źródła.
  • Zachowuj źródłowe SQL, tłumaczenie SQL, decyzje recenzentów i dowody testowe razem.