Terjemahkan Teradata SQL untuk Fabric Data Warehouse

Diterapkan pada:✅ Gudang di Microsoft Fabric

Migration Assistant menerjemahkan metadata Teradata yang didukung ke T-SQL yang kompatibel dengan Fabric. Gunakan referensi ini untuk meninjau penyesuaian otomatis dan memperbaiki objek yang memerlukan perhatian karena Teradata dan Fabric Data Warehouse berbeda dalam tipe data, objek basis data, perintah prosedural, desain fisik, dan utilitas operasional.

Untuk siklus hidup end-to-end, lihat Rencanakan migrasi dari Teradata. Untuk opsi alat dan pemindahan data, lihat Metode Migrasi untuk Teradata.

Important

Hasil terjemahan memerlukan validasi teknis dan fungsional. Konfirmasi tipe data Fabric Data Warehouse saat ini, luas permukaan T-SQL, dan keterbatasan sebelum penerapan.

Gunakan referensi ini dengan Migration Assistant

  1. Unggah DDL Teradata lengkap dan dependensi sebagai arsip zip dari .sql dan/atau .bteq file.
  2. Jalankan migrasi dan tinjauan metadata Tampilkan objek yang dimigrasi untuk penyesuaian otomatis.
  3. Buka Objek untuk memperbaiki skrip yang tidak dapat diterjemahkan atau diterapkan.
  4. Gunakan pemetaan dalam artikel ini untuk mengoreksi konstruksi yang tidak didukung atau ambigu.
  5. Jalankan skrip yang telah dikoreksi dari Migration Assistant untuk membuat objek.
  6. Bandingkan hasil dengan perilaku Teradata dan optimalkan terjemahan literal untuk Fabric.

Pemetaan objek

Objek / konstruksi Teradata Fabric DW setara Notes
Database Schema Namespace database Teradata dipetakan ke skema Fabric DW; opsi ukuran dan induk dihapus.
Fungsi eksternal Tidak didukung Rutinitas bahasa eksternal memerlukan penulisan ulang secara manual.
Tabel asing Pintasan OneLake atau COPY INTO Tabel asing tidak didukung secara langsung.
Fungsi Fungsi Fungsi skalar SQL dan bernilai tabel dipetakan ke fungsi Fabric DW; atribut rutin yang tidak didukung dihapus.
Tabel sementara global Tabel sementara lokal (#name) Persistensi definisi global tidak dipertahankan.
Kolom identitas BIGINT IDENTITY NOT NULL Opsi seed, increment, bounds, dan cycle tidak dipertahankan.
Index Tidak ada yang setara langsung Indeks primer, sekunder, unik, dan hash tidak dikeluarkan; Fabric mengelola distribusi dan klasterasi.
Kendala integritas - Periksa Tidak ada yang setara langsung CHECK Batasan harus ditegakkan di hulu atau dalam proses pemuatan.
Batasan integritas - Kunci asing FOREIGN KEY ... NOT ENFORCED Tindakan referensial dihapus, dan batasan tidak ditegakkan.
Batasan integritas - Kunci utama / Unik NONCLUSTERED ... NOT ENFORCED Batasan ini dipertahankan sebagai metadata, dan kolom kunci dipaksa NOT NULL.
Indeks gabung Tampilan materialisasi atau tabel pra-agregasi Indeks join memerlukan desain ulang sebagai struktur yang didukung dan tertahan.
Makro Prosedur yang Disimpan dalam Database Makro teradata bermigrasi sebagai prosedur tersimpan.
Tabel multiset Tabel Perilaku baris duplikat sudah sejajar dengan perilaku tabel Fabric DW default.
Prosedur Prosedur yang Disimpan dalam Database Prosedur teradata dipetakan ke prosedur tersimpan Fabric DW; atribut prosedural yang tidak didukung memerlukan tinjauan.
Tampilan rekursif Tidak didukung Ekspresi tabel umum rekursif tidak didukung di Fabric DW.
Role Role Keanggotaan peran dipetakan ke ALTER ROLE ADD MEMBER atau DROP MEMBER; ADMIN OPTION tidak dipertahankan.
Atur meja Tabel SET penegakan baris duplikat tidak dipertahankan; tambahkan metadata atau penegakan hulu jika diperlukan.
Statistics CREATE STATISTICS / UPDATE STATISTICS Koleksi multikolom dibagi menjadi statistik satu kolom; target yang tidak didukung memerlukan tinjauan.
Skema penyimpanan Tidak didukung Skema penyimpanan teradata tidak dipetakan ke objek namespace Fabric DW.
Tabel Tabel Tabel Teradata permanen dipetakan ke tabel Fabric DW; opsi penyimpanan fisik yang tidak didukung dihapus.
Trigger Tidak didukung Pindahkan logika trigger ke dalam prosedur tersimpan atau pipeline pemuatan.
Tampilkan Tampilkan Tampilan standar memetakan langsung; operasi penggantian menjadi CREATE OR ALTER.
Tabel volatil Tabel sementara lokal (#name) Tabel volatile dengan lingkup sesi dipetakan ke tabel sementara lokal; kualifikasi skema dihapus.

Pemetaan jenis data

Keluarga tipe data Teradata Fabric DW setara Notes
Perkiraan numerik FLOAT FLOAT, REAL, dan DOUBLE PRECISION konsolidasikan ke FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE dan VARBYTE keluarga dipetakan ke tipe biner panjang variabel; ukuran di atas 8000 menggunakan MAX.
Boolean Tidak didukung Teradata BOOLEAN tidak memiliki padanan Fabric DW yang didukung.
BYTEINT SMALLINT Teradata BYTEINT melebar menjadi SMALLINT.
Karakter CHAR(n) / VARCHAR(n) / VARCHAR(MAX) Unicode menggunakan kolasi UTF-8 di gudang; Panjang Unicode VARCHAR diperluas dan dibatasi pada MAX.
Koleksi / Array Tipe data dasar yang dipetakan atau array JSON ARRAY VARRAY dan pembungkus dihapus; konstruktor array diserialisasi jika diperlukan.
Tanggal dan waktu DATE / TIME(6) / DATETIME2(6) Presisi fraksional dibatasi pada 6, dan offset zona waktu tidak dipertahankan.
Numerik yang tepat DECIMAL(p,s) / NUMERIC DECIMAL dan NUMERIC presisi serta skala dipertahankan di tempat yang disediakan; skala yang dihilangkan default ke 0.
Integer SMALLINT / INT / BIGINT Keluarga bilangan bulat selain memetakan BYTEINT langsung.
Objek besar VARCHAR(MAX) / VARBINARY(MAX) CLOB memetakan ke VARCHAR(MAX), dan BLOB memetakan ke VARBINARY(MAX).
MAP Tidak didukung Teradata MAP tidak memiliki padanan Fabric DW yang didukung.
MULTISET Tabel Teradata MULTISET dikonversi menjadi tabel.
JSON dan XML VARCHAR(MAX) Dokumen JSON dan XML disimpan sebagai teks; JSON dapat dikueri dengan JSON_VALUE dan OPENJSON.
Interval temporal VARCHAR(50)logika plus DATEADD Fabric DW tidak memiliki tipe interval skalar; penyimpanan dan aritmatika memerlukan desain ulang.
Periode waktu VARCHAR(100) atau kolom mulai/akhir yang eksplisit Nilai atau batas periode harus dimodelkan secara eksplisit; metadata hubungan periode dihapus.
Spasial Tidak didukung Simpan teks atau biner yang sudah dikenal, atau proses data spasial di luar Fabric DW.
SET Tabel Teradata SET dikonversi menjadi tabel.
Jenis yang ditentukan pengguna Tipe dasar dasar Fabric DW tidak memiliki objek tipe yang ditentukan pengguna; substitusi dan validasi tipe dasar secara manual.

Pemetaan perintah BTEQ

BTEQ menggabungkan SQL, kontrol aliran, manajemen sesi, perilaku impor, dan ekspor. Tergantung pada perintah, terjemahkan ke prosedur tersimpan, pipeline, operasi beban, atau hasil eksplisit yang tidak didukung.

Migration Assistant menerjemahkan skrip BTEQ ke dalam prosedur tersimpan dan mempertahankan elemen skrip yang didukung. Tinjau prosedur tersimpan yang dihasilkan dan integrasikan ke dalam alur kerja yang sesuai.

Keluarga konstruksi BTEQ Fabric setara Notes
Kontrol aliran dan percabangan Kondisi prosedur IF / / GOTOWHILE tersimpan atau pipeline Pindahkan label, kondisi, dan arahan pengulangan ke dalam alur kontrol T-SQL atau orkestrasi pipeline.
Pengambilan dan ekspor data COPY INTOdan aktivitas salinan pipeline Fabric Impor dapat menjadi COPY INTO; memindahkan ekspor dan penanganan file eksternal ke pipeline atau CETAS.
Penanganan dan penghentian kesalahan Kode pengembalian prosedur dan jalur kegagalan pipa Tangkap ERRORCODE dan ACTIVITYCOUNT; tambahkan logika orchestrator untuk ERRORLEVEL dan kebijakan kesalahan maksimum.
Metadata dan variabel runtime Parameter prosedur / @@ERROR / @@ROWCOUNT / variabel pipeline Petakan variabel lingkungan dan nilai status BTEQ ke parameter, variabel, dan status eksekusi yang ditangkap.
Pembungkus skrip dan eksekusi SQL Pembungkus prosedur tersimpan dengan T-SQL yang diterjemahkan Skrip BTEQ dapat menjadi prosedur; mengekstrak objek tingkat skema, dan menyimpan pernyataan yang gagal untuk ditinjau.
Waktu dan eksekusi proses WAITFOR, jadwal, aktivitas tunggu, notebook, atau aktivitas pipeline Peta HANG ke WAITFOR; pindahkan perintah sistem operasi ke luar gudang.

Pernyataan BTEQ yang tidak didukung

Migration Assistant menghapus pernyataan BTEQ berikut dari kode terjemahan:

Pernyataan BTEQ Hasil terjemahan
.DEFAULTS Dihapus dari kode
.ERROROUT, .ERRORLEVEL, dan mandiri .MAXERROR Dihapus dari kode
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIF, dan .EXPORT INDICDATA FILE = path Dihapus dari kode
.EXPORT RESET Dihapus dari kode
.FORMAT, , .WIDTH.FOLDLINE, .TITLEDASHES, dan.SIDETITLES Dihapus dari kode
.LOGOFF Dihapus dari kode
.LOGON tdpid/user,pwd Dihapus dari kode
.OS command, .TSO command, dan .CMS command Dihapus dari kode
.PAGELENGTH, .PAGEBREAK, .HEADING, dan .FOOTING Dihapus dari kode
.ECHOREQ Dihapus dari kode
.RECORDMODE, .INDICDATA, dan .LARGEDATAMODE Dihapus dari kode
.RETLIMIT n,m dan mandiri .RETCANCEL Dihapus dari kode
.RUN FILE = script.bteq Dihapus dari kode
.SEPARATOR dan mandiri .NULL AS Dihapus dari kode
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTION, dan .SESSION DATEFORM Dihapus dari kode
.SHOW CONTROLS dan .SHOW VERSIONS Dihapus dari kode

Validasi kode terjemahan

Gunakan tes otomatis jika memungkinkan, lalu lakukan tinjauan fungsional dengan pemilik beban kerja.

  • Bandingkan jumlah objek dan ketergantungan yang belum terselesaikan.
  • Bandingkan hasil tingkat baris untuk input representatif dan boundary.
  • Validasi presisi desimal, timestamp, semantik null, string padding (string padding ), kolasi, dan teks non-ASCII.
  • Jalur kesalahan uji, perilaku transaksi, pengulangan, dan kegagalan parsial.
  • Jalankan laporan hilir dan model semantik terhadap target.
  • Uji volume data representatif dan konkurensi.
  • Tinjau SQL yang dihasilkan untuk nesting yang tidak perlu, pemrosesan baris demi baris, dan penyetelan fisik spesifik sumber.
  • Simpan SQL sumber, SQL terjemahan, keputusan reviewer, dan uji bukti bersama-sama.