หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้อธิบายวิธีการย้ายคลังข้อมูลใน SQL Server ไปยัง Microsoft Fabric คลังข้อมูล
Tip
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับกลยุทธ์และการวางแผน ดูที่ การวางแผนการย้ายถิ่น: SQL Server ถึง Fabric คลังข้อมูล
ใช้ Fabric Migration Assistant for คลังข้อมูล เพื่อประสบการณ์การย้ายข้อมูลอัตโนมัติจาก SQL Server ส่วนที่เหลือของบทความนี้จะอธิบายขั้นตอนการย้ายข้อมูลด้วยตนเองเพิ่มเติม
ตารางต่อไปนี้สรุปวิธีการย้ายสคีมาข้อมูล (DDL), โค้ดฐานข้อมูล (DML) และข้อมูล แต่ละตัวเลือกจะอธิบายไว้ในบทความนี้ในภายหลัง
| ตัวเลือก | วิธีการ | การทำงานของมัน | ทักษะหรือความชอบ | สถานการณ์จำลอง |
|---|---|---|---|---|
| 1 | โรงงานข้อมูล | การแปลงสคีมา การแยกข้อมูล การนําเข้าข้อมูล |
สายงาน Data Factory | โครงสร้างและการย้ายข้อมูลที่ง่ายขึ้น แนะนําสําหรับ ตารางมิติ |
| 2 | Data Factory พร้อมการแบ่งพาร์ติชัน | การแปลงสคีมา การแยกข้อมูล การนําเข้าข้อมูล |
สายงาน Data Factory | การย้ายข้อมูลแบบขนานสําหรับ ตารางข้อมูลขนาดใหญ่ |
| 3 | การย้ายข้อมูลแบบ Schema-first | การแปลงสคีมา | สายงาน Data Factory | ย้ายสคีมาก่อน จากนั้นดึงและนําเข้าข้อมูลแยกกันเพื่อควบคุมปริมาณงานได้ดียิ่งขึ้น |
| 4 | สคริปต์การย้าย SQL | การแปลงสคีมา การแยกข้อมูล การประเมินโค้ด |
T-SQL | ใช้ IDE และสคริปต์สําหรับควบคุมงานย้ายข้อมูลอย่างละเอียด |
| 5 | โครงการฐานข้อมูล SQL | การแปลงสคีมา การประเมินโค้ด |
โครงการ SQL | ใช้โปรเจกต์ฐานข้อมูลสําหรับการควบคุมซอร์สโค้ด การประเมิน และการปรับใช้ |
| 6 | ดีบีที | การแปลงสคีมา การแปลงโค้ดฐานข้อมูล |
dbt | นําโปรเจกต์ฐานข้อมูลที่มีอยู่กลับมาใช้ใหม่โดยเปลี่ยนการตั้งค่าอะแดปเตอร์และเป้าหมาย |
เลือกปริมาณงานสําหรับการโยกย้ายเบื้องต้น
เมื่อคุณตัดสินใจว่าจะเริ่มโครงการย้ายข้อมูล SQL Server Fabric คลังข้อมูล ที่ไหน ให้เลือกพื้นที่งานที่คุณสามารถ:
- พิสูจน์ความเป็นไปได้ในการย้ายไปยัง Fabric คลังข้อมูล ด้วยการส่งมอบประโยชน์จากสภาพแวดล้อมใหม่อย่างรวดเร็ว เริ่มต้นจากสิ่งเล็ก ๆ เรียบง่าย และเตรียมรับมือกับการย้ายข้อมูลเล็ก ๆ หลายครั้ง
- ให้เวลาทีมเทคนิคของคุณได้สะสมประสบการณ์ที่เกี่ยวข้องกับกระบวนการและเครื่องมือที่ใช้ในการย้ายงานอื่น ๆ
- สร้างเทมเพลตสําหรับการย้ายข้อมูลเพิ่มเติมที่เฉพาะเจาะจงกับสภาพแวดล้อม SQL Server เครื่องมือ และกระบวนการของคุณ
Tip
สร้างรายการวัตถุที่ต้องย้ายข้อมูล และบันทึกกระบวนการย้ายข้อมูลตั้งแต่ต้นจนจบ เพื่อให้สามารถนําไปใช้ซ้ํากับฐานข้อมูลหรือเวิร์กโหลดอื่น ๆ ได้
ปริมาณข้อมูลในการย้ายข้อมูลครั้งแรกควรมีมากพอที่จะแสดงให้เห็นถึงความสามารถและประโยชน์ของ Fabric คลังข้อมูล แต่ก็ควรมีขนาดเล็กพอที่จะแสดงคุณค่าได้อย่างรวดเร็ว ขนาดในช่วง 1-10 เทราไบต์เป็นเรื่องปกติ
ย้ายข้อมูลด้วย Fabric Data Factory
Fabric Data Factory มีอินเทอร์เฟซแบบโค้ดต่ําที่สามารถแปลงตาราง DDL และย้ายข้อมูลจาก SQL Server ได้
โรงงานข้อมูลผ้าสามารถทํางานต่อไปนี้:
- แปลงสคีมา (DDL) เป็นไวยากรณ์ Fabric คลังข้อมูล
- สร้างอ็อบเจ็กต์สคีมาใน Fabric คลังข้อมูล
- ย้ายข้อมูลไปยัง Fabric คลังข้อมูล
ตัวเลือกที่ 1 การย้ายสคีมาและข้อมูลด้วย Copy assistant
วิธีนี้ใช้ผู้ช่วย Data Factory Copy เพื่อเชื่อมต่อกับฐานข้อมูลต้นทาง SQL Server แปลงตาราง DDL เป็นไวยากรณ์ Fabric และคัดลอกข้อมูลไปยัง Fabric คลังข้อมูล คุณสามารถเลือกตารางต้นทางหนึ่งตารางหรือมากกว่า pipeline ที่สร้างขึ้นจะใช้กิจกรรม ForEach เพื่อคัดลอกตารางที่เลือกแบบขนาน
เมื่อคุณกําหนดค่าการคัดลอก:
- ใช้ตัวเชื่อมต่อ SQL Server สําหรับการเชื่อมต่อต้นทาง
- จํากัดการคัดลอกแบบขนานให้อยู่ในระดับที่ฐานข้อมูลต้นทางและเครือข่ายสามารถรองรับได้
- ตรวจสอบ CPU ต้นทาง, I/O, การใช้บันทึกธุรกรรม และความหน่วงของงานการผลิตระหว่างการดึงข้อมูล
การใช้งานที่แนะนำ
ใช้ Copy assistant สําหรับอินเทอร์เฟซง่าย ๆ ที่แปลง DDL และนําเข้าตารางที่เลือกในครั้งเดียว วิธีนี้เหมาะกับตารางมิติและงานที่มีปริมาณงานน้อย
สําหรับตารางขนาดใหญ่ ให้ใช้การแบ่งพาร์ติชันเพื่อเพิ่มความขนานในการอ่านและเขียน
ตัวเลือกที่ 2 การย้ายข้อมูลพร้อมการแบ่งพาร์ติชัน
สําหรับตารางข้อเท็จจริงขนาดใหญ่ ให้ใช้ Copy activity สําหรับแต่ละตารางและกําหนดค่าการแบ่งพาร์ติชันต้นทาง ใช้พาร์ติชันทางกายภาพเมื่อมี หรือกําหนดค่าการแบ่งพาร์ติชันแบบไดนามิกโดยระบุคอลัมน์ตัวเลขหรือคอลัมน์วันที่ที่เหมาะสม พร้อมค่าขั้นต่ําและสูงสุด
เมื่อคุณใช้การแบ่งพาร์ติชัน:
- เลือกคอลัมน์พาร์ติชันที่กระจายแถวอย่างสม่ําเสมอ
- หลีกเลี่ยงการสร้างคําสั่งต้นทางที่เกิดขึ้นพร้อมกันมากกว่าที่ SQL Server จะประมวลผลได้โดยไม่กระทบต่อภาระงานในการผลิต
- ทดสอบช่วงพาร์ติชันและการตั้งค่าการคัดลอกแบบขนานกับงานที่เป็นตัวแทน
- เพิ่มความขนานอย่างค่อยเป็นค่อยไปในขณะที่ตรวจสอบแหล่งที่มาและปลายทาง
การใช้งานที่แนะนำ
ใช้การแบ่งพาร์ติชัน Data Factory สําหรับตารางข้อเท็จจริงขนาดใหญ่เมื่อการสกัดแบบขนานช่วยเพิ่มอัตราการส่งข้อมูล กําหนดจํานวนล็อตและช่วงพาร์ติชันตามทรัพยากรฐานข้อมูลต้นทางและความจุเครือข่ายของคุณ
ตัวเลือกที่ 3 การย้ายข้อมูลแบบ Schema-first
สําหรับฐานข้อมูลขนาดใหญ่ ให้แยกการย้ายสคีมาออกจากการย้ายข้อมูล:
- แปลงและสร้างสคีมาตารางใน Fabric คลังข้อมูล
- ดึงข้อมูลต้นทางเข้าสู่ Azure Data Lake Storage (ADLS) Gen2.
- ใช้ Data Factory หรือคําสั่ง COPY INTO เพื่อนําเข้าข้อมูลที่จัดทําเป็นขั้นตอนเข้าสู่ Fabric คลังข้อมูล
การแยกขั้นตอนเหล่านี้ช่วยให้คุณปรับแต่งการสกัดและการดูดได้อย่างอิสระ
การย้ายสคีมาด้วย Data Factory
คุณสามารถใช้ pipeline Fabric เพื่อย้ายสคีมาของตารางจาก SQL Server ไปยัง Fabric คลังข้อมูล โดยไม่ต้องคัดลอกแถว
กําหนดค่าพารามิเตอร์ของท่อส่ง
สร้าง SchemaName พารามิเตอร์ที่ระบุว่าสคีมาใดจะย้าย ใช้ dbo เป็นค่าเริ่มต้น หรือกรอกรายการที่คั่นด้วยเครื่องหมายจุลภาค เช่น 'dbo','sales'.
กําหนดค่ากิจกรรมการค้นหา
สร้างกิจกรรม Lookup และตั้งค่าการเชื่อมต่อกับฐานข้อมูล SQL Server ต้นทาง ในแท็บ การตั้งค่า :
- ตั้งค่าชนิดที่เก็บข้อมูลเป็นภายนอก
- เลือกการเชื่อมต่อ SQL Server ต้นทาง
- ตั้งค่า Use query เป็น Query
- เพิ่มคําสั่งค้นหาแบบไดนามิกที่คืนค่าสคีมาต้นทางและชื่อตาราง
ใช้นิพจน์ต่อไปนี้เพื่อสร้างคําสั่งค้นหา:
@concat('
SELECT s.name AS SchemaName,
t.name AS TableName
FROM sys.tables AS t
INNER JOIN sys.schemas AS s
ON t.type = ''U''
AND s.schema_id = t.schema_id
AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
')
กําหนดค่ากิจกรรม ForEach
ในแท็บ การตั้งค่า สําหรับกิจกรรม ForEach:
- ปิดใช้งาน Sequential เพื่อให้สามารถทํางานรอบต่าง ๆ พร้อมกันได้
- ตั้งค่า จํานวนชุดเป็น ค่าที่ฐานข้อมูลต้นทางสามารถรองรับได้ เริ่มจากค่านิยมที่อนุรักษ์นิยมและทดสอบมัน
- ตั้งค่า รายการ เป็น
@activity('Get List of Source Objects').output.value.
กําหนดค่ากิจกรรม Copy activity
ภายในกิจกรรม ForEach ให้เพิ่ม Copy activity ในแท็บ แหล่งข้อมูล :
- ตั้งค่าชนิดที่เก็บข้อมูลเป็นภายนอก
- เลือกการเชื่อมต่อ SQL Server ต้นทาง
- ตั้งค่า Use query เป็น Query
- ตั้งค่า Query เป็น
@concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName)เพื่อให้ย้ายเฉพาะเมตาดาต้าของตารางเท่านั้น
ใน แท็บปลายทาง :
- ตั้งค่าประเภทที่เก็บข้อมูลเป็นพื้นที่ทํางาน
- ตั้งค่าประเภทที่เก็บข้อมูล Workspace เป็น คลังข้อมูล และเลือกคลังข้อมูลปลายทาง
- ตั้งค่าสคีมาปลายทางเป็น
@item().SchemaName. - ตั้งค่าตารางปลายทางเป็น
@item().TableName.
หลังจากที่คุณรันท่อส่งแล้ว ให้ตรวจสอบว่า Fabric คลังข้อมูล มีตารางที่เลือกแต่ละตารางที่มีสคีมาที่คาดหวัง
ย้ายข้อมูลโดยใช้สคริปต์ SQL
ใช้สคริปต์ย้าย T-SQL และ PowerShell เมื่อคุณต้องการควบคุมการแปลงสคีมา การดึงข้อมูล และการประเมินโค้ดอย่างละเอียด
สคริปต์การย้ายข้อมูลสามารถ:
- แปลงสคีมา (DDL) เป็นไวยากรณ์ Fabric คลังข้อมูล
- สร้างอ็อบเจ็กต์สคีมาใน Fabric คลังข้อมูล
- ดึงข้อมูลจาก SQL Server ไปยัง ADLS Gen2
- ทําเครื่องหมายไวยากรณ์ T-SQL ที่ไม่รองรับใน stored procedure, function และ view
ทีม Microsoft Fabric CAT ให้ตัวอย่างโค้ดการย้ายข้อมูลในที่เก็บข้อมูลการย้ายแบบ fabric-migration
การใช้งานที่แนะนำ
ใช้สคริปต์เมื่อคุณคุ้นเคยกับ T-SQL ชอบสภาพแวดล้อมการพัฒนาแบบบูรณาการ และต้องการควบคุมงานย้ายข้อมูลแต่ละงาน ใช้ COPY INTO หรือ Data Factory เพื่อนําเข้าข้อมูลที่ดึงออกมาเข้าสู่ Fabric คลังข้อมูล
โยกย้ายโดยใช้โครงการฐานข้อมูล SQL
Fabric คลังข้อมูล รองรับในส่วนขยาย SQL Database Projects สําหรับ Visual Studio Code
โปรเจกต์ฐานข้อมูล SQL ให้การควบคุมซอร์สโค้ด การทดสอบฐานข้อมูล การตรวจสอบสคีมา และความสามารถในการปรับใช้ ซึ่งสามารถ:
- แปลงสคีมา (DDL) เป็นไวยากรณ์ Fabric คลังข้อมูล
- สร้างอ็อบเจ็กต์สคีมาใน Fabric คลังข้อมูล
- ประเมินไวยากรณ์ T-SQL ที่ไม่รองรับในโปรซีเยอร์ที่จัดเก็บ ฟังก์ชัน และมุมมอง
สําหรับการย้ายข้อมูล ใช้ Data Factory เพื่อคัดลอกโดยตรงจาก SQL Server หรือดึงข้อมูลไปยัง ADLS Gen2 แล้วนําเข้ากับ COPY INTO Data Factory
สําหรับวิธีการใช้งานโปรเจกต์ฐานข้อมูล SQL กับสคริปต์การย้ายข้อมูล ดูที่ที่เก็บการย้ายแบบ fabric-migration
สําหรับข้อมูลเพิ่มเติม ดูที่ เริ่มต้นใช้งานส่วนขยายโครงการฐานข้อมูล SQL และสร้างโครงการฐานข้อมูลจากบรรทัดคําสั่ง
การย้ายข้อมูลด้วย dbt
หาก SQL Server data warehouse ของคุณใช้ dbt คุณสามารถใช้ตัวแปลง dbt สําหรับ Fabric คลังข้อมูล เพื่อแปลงสคีมาและโค้ดฐานข้อมูลโดยการเปลี่ยนโปรไฟล์เป้าหมายและตัวแปลง
เฟรมเวิร์ก dbt สร้างสคริปต์ DDL และ DML จากไฟล์โมเดล คุณต้องย้ายข้อมูลแยกกันโดยใช้ Data Factory หรือตัวเลือกการย้ายข้อมูลอื่นในบทความนี้
เริ่มต้นใช้งาน ดูที่ Tutorial: ตั้งค่า dbt สําหรับ Fabric คลังข้อมูล
การนําเข้าข้อมูลเข้าสู่ Fabric คลังข้อมูล
สําหรับข้อมูลแบบสเตจด์ ให้ใช้COPY INTOหรือ Fabric Data Factory เพื่อนําเข้าไฟล์จาก ADLS Gen2 เข้าสู่ Fabric คลังข้อมูล โปรดพิจารณาคําแนะนําต่อไปนี้:
- ดึงตารางขนาดใหญ่แบบขนานเมื่อฐานข้อมูลต้นทางและเครือข่ายมีความจุเพียงพอ
- เลือกใช้ไฟล์ Parquet เพื่อลดการใช้พื้นที่จัดเก็บและเครือข่าย รวมถึงเพิ่มประสิทธิภาพการนําเข้าข้อมูล
- โหลดตารางปลายทางหลายตารางพร้อมกันเมื่อความจุ Fabric ของคุณสามารถรองรับภาระงานได้
- ตรวจสอบทั้งการสกัดแหล่งที่มาและความจุของ Fabric เพื่อค้นหาระดับการทํางานแบบขนานที่เหมาะสมที่สุด
เนื้อหาที่เกี่ยวข้อง
- ผู้ช่วยการย้ายผ้า สําหรับคลังข้อมูล
- สร้าง Warehouse ใน Microsoft Fabric
- แนวทางประสิทธิภาพของผ้า คลังข้อมูล
- ความปลอดภัยสําหรับคลังข้อมูลใน Microsoft Fabric
- Microsoft Fabric ภาพรวมการย้ายข้อมูล