หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Migration Assistant แปลงเมตาดาต้า Teradata ที่รองรับเป็น T-SQL ที่รองรับ Fabric ใช้การอ้างอิงนี้เพื่อตรวจสอบการปรับอัตโนมัติและแก้ไขวัตถุที่ต้องให้ความสนใจ เนื่องจาก Teradata และ Fabric คลังข้อมูล แตกต่างกันในประเภทข้อมูล วัตถุฐานข้อมูล คําสั่งกระบวนการ การออกแบบทางกายภาพ และยูทิลิตี้ปฏิบัติการ
สําหรับวงจรชีวิตแบบครบวงจร ดูที่ วางแผนย้ายข้อมูลจาก Teradata สําหรับตัวเลือกการย้ายเครื่องมือและข้อมูล ดูที่ วิธีการย้ายข้อมูลสําหรับ Teradata
Important
ผลลัพธ์การแปลต้องการการตรวจสอบทางเทคนิคและการทํางาน ยืนยันชนิดข้อมูล Fabric คลังข้อมูล ปัจจุบัน พื้นที่ผิว T-SQL และข้อจํากัดก่อนติดตั้ง
ใช้ข้อมูลอ้างอิงนี้กับ Migration Assistant
- อัปโหลด Teradata DDL และ dependencies ทั้งหมดเป็นไฟล์ zip ของ
.sqlไฟล์และ/หรือ.bteqไฟล์ - เรียกใช้การย้ายข้อมูลเมตาและตรวจสอบ แสดงวัตถุที่ย้าย เพื่อปรับอัตโนมัติ
- เปิด วัตถุเพื่อแก้ไข สคริปต์ที่ไม่สามารถแปลหรือปรับใช้ได้
- ใช้การแมปในบทความนี้เพื่อแก้ไขโครงสร้างที่ไม่รองรับหรือมีความคลุมเครือ
- รันสคริปต์ที่แก้ไขแล้วจาก Migration Assistant เพื่อสร้างวัตถุ
- เปรียบเทียบผลลัพธ์กับพฤติกรรมของ 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 แปล, การตัดสินใจของผู้ตรวจสอบ และหลักฐานการทดสอบไว้ด้วยกัน