แปล Teradata SQL for Fabric คลังข้อมูล

นําไปใช้กับ: < / c0 >< c1 / >คลังสินค้าใน Microsoft Fabric

Migration Assistant แปลงเมตาดาต้า Teradata ที่รองรับเป็น T-SQL ที่รองรับ Fabric ใช้การอ้างอิงนี้เพื่อตรวจสอบการปรับอัตโนมัติและแก้ไขวัตถุที่ต้องให้ความสนใจ เนื่องจาก Teradata และ Fabric คลังข้อมูล แตกต่างกันในประเภทข้อมูล วัตถุฐานข้อมูล คําสั่งกระบวนการ การออกแบบทางกายภาพ และยูทิลิตี้ปฏิบัติการ

สําหรับวงจรชีวิตแบบครบวงจร ดูที่ วางแผนย้ายข้อมูลจาก Teradata สําหรับตัวเลือกการย้ายเครื่องมือและข้อมูล ดูที่ วิธีการย้ายข้อมูลสําหรับ Teradata

Important

ผลลัพธ์การแปลต้องการการตรวจสอบทางเทคนิคและการทํางาน ยืนยันชนิดข้อมูล Fabric คลังข้อมูล ปัจจุบัน พื้นที่ผิว T-SQL และข้อจํากัดก่อนติดตั้ง

ใช้ข้อมูลอ้างอิงนี้กับ Migration Assistant

  1. อัปโหลด Teradata DDL และ dependencies ทั้งหมดเป็นไฟล์ zip ของ .sql ไฟล์และ/หรือ .bteq ไฟล์
  2. เรียกใช้การย้ายข้อมูลเมตาและตรวจสอบ แสดงวัตถุที่ย้าย เพื่อปรับอัตโนมัติ
  3. เปิด วัตถุเพื่อแก้ไข สคริปต์ที่ไม่สามารถแปลหรือปรับใช้ได้
  4. ใช้การแมปในบทความนี้เพื่อแก้ไขโครงสร้างที่ไม่รองรับหรือมีความคลุมเครือ
  5. รันสคริปต์ที่แก้ไขแล้วจาก Migration Assistant เพื่อสร้างวัตถุ
  6. เปรียบเทียบผลลัพธ์กับพฤติกรรมของ Teradata และปรับแต่งการแปลตามตัวอักษรสําหรับ Fabric

การแมปวัตถุ

วัตถุ/โครงสร้าง Teradata Fabric DW เทียบเท่า หมายเหตุ
ฐานข้อมูล Schema เนมสเปซฐานข้อมูล Teradata จะแมปกับสคีมาของ Fabric DW; ตัวเลือกขนาดและตัวเลือกแม่จะถูกลบออก
ฟังก์ชันภายนอก ไม่ได้รับการสนับสนุน รูทีนภาษาภายนอกต้องเขียนใหม่ด้วยมือ
ตารางต่างประเทศ ทางลัด OneLake หรือ COPY INTO ตารางต่างประเทศไม่รองรับโดยตรง
Function Function ฟังก์ชันสเกลาร์และตารางของ SQL จะถูกแมปกับฟังก์ชัน Fabric DW; แอตทริบิวต์รูทีนที่ไม่รองรับจะถูกลบออก
ตารางชั่วคราวทั่วโลก ตารางชั่วคราวในเครื่อง (#name) ความคงอยู่ของคํานิยามทั่วโลกจะไม่ถูกเก็บไว้
คอลัมน์อัตลักษณ์ BIGINT IDENTITY NOT NULL ตัวเลือก seed, increment, bounds และ cycle จะไม่ถูกเก็บรักษาไว้
Index ไม่มีสิ่งที่เทียบเท่าโดยตรง ดัชนีหลัก รอง ดัชนีเฉพาะ และแฮชจะไม่ถูกปล่อยออกมา;Fabric จัดการการแจกจ่ายและการจัดกลุ่ม
ข้อจํากัดด้านความสมบูรณ์ - ตรวจสอบ ไม่มีสิ่งที่เทียบเท่าโดยตรง CHECK ข้อจํากัดต้องถูกบังคับใช้ตั้งแต่ต้นน้ําหรือในกระบวนการโหลด
ข้อจํากัดความสมบูรณ์ - คีย์ต่างประเทศ FOREIGN KEY ... NOT ENFORCED การกระทําอ้างอิงถูกลบออก และข้อจํากัดนี้จะไม่ถูกบังคับใช้
ข้อจํากัดความสมบูรณ์ - คีย์หลัก / ไม่ซ้ํากัน NONCLUSTERED ... NOT ENFORCED ข้อจํากัดจะถูกเก็บไว้เป็นเมตาดาต้า และคอลัมน์คีย์จะถูกบังคับ NOT NULLให้เป็น .
ดัชนีเข้าร่วม มุมมองแบบวัสดุหรือตารางที่รวมข้อมูลล่วงหน้า ดัชนี Join ต้องออกแบบใหม่เป็นโครงสร้างที่รองรับแบบคงทน
Macro กระบวนงานที่เก็บไว้ มาโคร Teradata จะย้ายเป็น stored procedure
ตารางหลายชุด ตาราง พฤติกรรมแถวซ้ําสอดคล้องกับพฤติกรรมเริ่มต้นของตาราง Fabric DW แล้ว
กระบวนงาน กระบวนงานที่เก็บไว้ Teradata procedure ถูกแมปกับ stored procedure ของ Fabric DW; คุณสมบัติ procedural ที่ไม่รองรับต้องตรวจสอบ
มุมมองแบบวนซ้ํา ไม่ได้รับการสนับสนุน นิพจน์ตารางทั่วไปแบบเรียกซ้ําไม่รองรับใน Fabric DW
บทบาท บทบาท การเป็นสมาชิกบทบาทจะแมปไปยัง ALTER ROLE ADD MEMBER หรือ DROP MEMBER; ADMIN OPTION จะไม่ถูกเก็บไว้
ตั้งโต๊ะ ตาราง SET การบังคับใช้แถวซ้ําจะไม่ถูกเก็บรักษาไว้;เพิ่มเมตาดาต้าหรือการบังคับใช้แบบอัพสตรีมหากจําเป็น
สถิติ CREATE STATISTICS / UPDATE STATISTICS คอลเลกชันหลายคอลัมน์จะถูกแบ่งออกเป็นสถิติแบบคอลัมน์เดียว;เป้าหมายที่ไม่รองรับต้องได้รับการตรวจสอบ
สคีมาการจัดเก็บข้อมูล ไม่ได้รับการสนับสนุน สคีมาจัดเก็บข้อมูลของ Teradata ไม่สามารถแมปไปยังอ็อบเจ็กต์ Fabric DW namespace ได้
ตาราง ตาราง ตาราง Teradata ถาวรจะแมปไปยังตาราง Fabric DW; ตัวเลือกการจัดเก็บทางกายภาพที่ไม่รองรับจะถูกลบออก
ทริกเกอร์ ไม่ได้รับการสนับสนุน ย้ายตรรกะทริกเกอร์ไปยัง stored procedure หรือในท่อโหลด
มุมมอง มุมมอง มุมมองมาตรฐานแมปโดยตรง;แทนที่การดําเนินการให้กลายเป็น CREATE OR ALTER.
โต๊ะผันผวน ตารางชั่วคราวในเครื่อง (#name) ตาราง volatile ที่มีขอบเขตเซสชันจะแมปไปยังตารางชั่วคราวในเครื่อง;ตัวระบุสคีมาจะถูกลบออก

การแมปชนิดข้อมูล

ตระกูลชนิดข้อมูล Teradata Fabric DW เทียบเท่า หมายเหตุ
ตัวเลขโดยประมาณ FLOAT FLOAT, REAL, และ DOUBLE PRECISION รวมเป็น FLOAT.
Binary VARBINARY(n) / VARBINARY(MAX) BYTE และ VARBYTE ครอบครัวถูกแมปไปยังประเภทไบนารีที่มีความยาวแปรผัน; ขนาดที่เกิน 8000 ใช้ MAX.
แบบบูลีน ไม่ได้รับการสนับสนุน Teradata BOOLEAN ไม่มีโปรแกรมเทียบเท่า Fabric DW ที่รองรับ
BYTEINT SMALLINT Teradata BYTEINT ขยายเป็น SMALLINT.
อักขระ CHAR(n) / VARCHAR(n) / VARCHAR(MAX) Unicode ใช้การจัดเรียง UTF-8 ในคลังสินค้า;ความยาวของ Unicode VARCHAR ถูกขยายและจํากัดที่ MAX.
คอลเลกชัน / อาร์เรย์ แมป base data type หรือ JSON array ARRAY และ VARRAY wrapper จะถูกลบออก; array constructor จะถูก serialize เมื่อจําเป็น
วันที่และเวลา DATE / TIME(6) / DATETIME2(6) ความแม่นยําแบบเศษส่วนถูกจํากัดที่ 6 และจะไม่เก็บค่าความคลาดเคลื่อนตามเขตเวลา
ตัวเลขที่แม่นยํา DECIMAL(p,s) / NUMERIC DECIMAL และ NUMERIC ยังคงรักษาความแม่นยําและสเกลไว้เมื่อมีการจัดให้; สเกลที่ถูกละเว้นจะเริ่มต้นเป็น 0
เลขจำนวนเต็ม SMALLINT / INT / BIGINT ครอบครัวจํานวนเต็มที่ไม่ใช่ BYTEINT แมปโดยตรง
วัตถุขนาดใหญ่ VARCHAR(MAX) / VARBINARY(MAX) CLOB แมปไปยัง VARCHAR(MAX), และ BLOB แมปไปยัง VARBINARY(MAX).
MAP ไม่ได้รับการสนับสนุน Teradata MAP ไม่มีโปรแกรมเทียบเท่า Fabric DW ที่รองรับ
MULTISET ตาราง Teradata MULTISET แปลงเป็นตาราง
JSON และ XML VARCHAR(MAX) เอกสาร JSON และ XML จะถูกเก็บเป็นข้อความ;JSON สามารถสอบถามได้ด้วยJSON_VALUEและOPENJSON
ช่วงเวลาตามเวลา VARCHAR(50)ตรรกะบวกDATEADD Fabric DW ไม่มีประเภทช่วงสเกลาร์; การจัดเก็บและคํานวณต้องออกแบบใหม่
ช่วงเวลาทางเวลา VARCHAR(100) หรือคอลัมน์เริ่มต้น/สิ้นสุดแบบชัดเจน ค่าหรือขอบเขตของช่วงเวลาต้องถูกจําลองอย่างชัดเจน;เมตาดาต้าความสัมพันธ์ของช่วงเวลาจะถูกตัดออก
เชิงพื้นที่ ไม่ได้รับการสนับสนุน จัดเก็บข้อความหรือไบนารีที่รู้จักกันดี หรือประมวลผลข้อมูลเชิงพื้นที่ภายนอก Fabric DW
SET ตาราง Teradata SET แปลงเป็นตาราง
ประเภทข้อมูลที่ผู้ใช้กําหนดเอง ประเภทฐานพื้นฐาน Fabric DW ไม่มีวัตถุประเภทที่ผู้ใช้กําหนดเอง; สามารถแทนที่และตรวจสอบประเภทฐานด้วยตนเองได้

การแมปคําสั่ง BTEQ

BTEQ ผสานพฤติกรรม SQL, การควบคุมโฟลว์, การจัดการเซสชัน, การนําเข้า และการส่งออก ขึ้นอยู่กับคําสั่ง ให้แปลงเป็นโปรซีเยอร์ที่เก็บไว้ pipeline การโหลด หรือผลลัพธ์ที่ไม่รองรับอย่างชัดเจน

Migration Assistant แปลงสคริปต์ BTEQ เป็นโปรซีเยอร์ที่จัดเก็บและรักษาองค์ประกอบสคริปต์ที่รองรับไว้ ตรวจสอบ stored procedure ที่สร้างขึ้นและผสานรวมเข้ากับเวิร์กโฟลว์ที่เหมาะสม

ตระกูลโครงสร้าง BTEQ เทียบเท่า Fabric หมายเหตุ
ควบคุมการไหลและการแตกแขนง เงื่อนไขโปรซีเยอร์IF / / GOTOWHILEหรือท่อส่งข้อมูล ย้ายป้ายกํากับ เงื่อนไข และคําสั่งซ้ําไปยังการควบคุมโฟลว์หรือการจัดการท่อของ T-SQL
การรับและส่งออกข้อมูล COPY INTOและกิจกรรมคัดลอก Fabric pipeline การนําเข้าสามารถกลายเป็น COPY INTO; ย้ายการส่งออกและการจัดการไฟล์ภายนอกไปยังท่อส่งหรือ CETAS
การจัดการข้อผิดพลาดและการสิ้นสุด รหัสการคืนค่าของขั้นตอนและเส้นทางความล้มเหลวของท่อส่ง จับภาพ ERRORCODE และ ACTIVITYCOUNT; เพิ่มตรรกะของ orchestrator สําหรับ ERRORLEVEL นโยบายข้อผิดพลาดสูงสุด
เมตาดาต้าและตัวแปรขณะรันไทม์ พารามิเตอร์ของกระบวนการ / @@ERROR / @@ROWCOUNT / ตัวแปรในท่อส่ง แมปตัวแปรสภาพแวดล้อมและค่าสถานะ BTEQ กับพารามิเตอร์ ตัวแปร และสถานะการทํางานที่จับได้
ตัวห่อสคริปต์และการทํางานของ SQL Stored procedure wrapper ที่แปล T-SQL สคริปต์ BTEQ สามารถกลายเป็นโปรซีเดอร์ได้;ดึงวัตถุระดับสคีมา และเก็บคําสั่งที่ล้มเหลวไว้สําหรับการตรวจสอบ
การจับเวลาและการดําเนินการกระบวนการ WAITFOR, ตารางเวลา, กิจกรรมรอ, สมุดบันทึก หรือกิจกรรมท่อส่ง แมป HANG ไปยัง WAITFOR; ย้ายคําสั่งระบบปฏิบัติการออกนอกคลังสินค้า

คําสั่ง BTEQ ที่ไม่รองรับ

Migration Assistant จะลบคําสั่ง BTEQ ต่อไปนี้ออกจากรหัสที่แปลแล้ว:

คําสั่ง BTEQ ผลการแปล
.DEFAULTS ลบออกจากโค้ด
.ERROROUT, .ERRORLEVEL, และแบบสแตนด์อโลน .MAXERROR ลบออกจากโค้ด
.EXPORT DATA, .EXPORT REPORT, .EXPORT DIFและ .EXPORT INDICDATA FILE = path ลบออกจากโค้ด
.EXPORT RESET ลบออกจากโค้ด
.FORMAT, .WIDTH, .FOLDLINE, .TITLEDASHES, และ .SIDETITLES ลบออกจากโค้ด
.LOGOFF ลบออกจากโค้ด
.LOGON tdpid/user,pwd ลบออกจากโค้ด
.OS command, .TSO command, และ .CMS command ลบออกจากโค้ด
.PAGELENGTH, .PAGEBREAK, .HEADINGและ .FOOTING ลบออกจากโค้ด
.ECHOREQ ลบออกจากโค้ด
.RECORDMODE, .INDICDATA, และ .LARGEDATAMODE ลบออกจากโค้ด
.RETLIMIT n,m และแยกเดี่ยว .RETCANCEL ลบออกจากโค้ด
.RUN FILE = script.bteq ลบออกจากโค้ด
.SEPARATOR และแยกเดี่ยว .NULL AS ลบออกจากโค้ด
.SESSION CHARSET, .SESSION SQLFLAG, .SESSION TRANSACTIONและ .SESSION DATEFORM ลบออกจากโค้ด
.SHOW CONTROLS และ .SHOW VERSIONS ลบออกจากโค้ด

ตรวจสอบความถูกต้องของโค้ดที่แปลแล้ว

ใช้การทดสอบอัตโนมัติเมื่อเป็นไปได้ จากนั้นทําการตรวจสอบฟังก์ชันร่วมกับเจ้าของงาน

  • เปรียบเทียบจํานวนวัตถุและความสัมพันธ์ที่ยังไม่ได้แก้ไข
  • เปรียบเทียบผลลัพธ์ระดับแถวสําหรับอินพุตตัวแทนและขอบเขต
  • ตรวจสอบความแม่นยําของทศนิยม, timestamps, ความหมายที่เป็นศูนย์, การเติมสตริง, การจัดเรียงข้อความ และข้อความที่ไม่ใช่ ASCII
  • ทดสอบเส้นทางข้อผิดพลาด พฤติกรรมธุรกรรม การลองใหม่ และความล้มเหลวบางส่วน
  • รันรายงานและโมเดลเชิงความหมายต่อเป้าหมาย
  • ทดสอบปริมาณข้อมูลตัวแทนและความขนาน
  • ตรวจสอบ SQL ที่สร้างขึ้นเพื่อการซ้อนข้อมูลที่ไม่จําเป็น การประมวลผลแบบแถวต่อแถว และการปรับแต่งทางกายภาพเฉพาะซอร์ส
  • รักษา SQL ต้นทาง, SQL แปล, การตัดสินใจของผู้ตรวจสอบ และหลักฐานการทดสอบไว้ด้วยกัน