หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูล Azure SQL Database Change Data Capture (CDC) ไปยังเหตุการณ์
ตัวเชื่อมต่อแหล่ง CDC Azure SQL Database สําหรับสตรีมเหตุการณ์ Microsoft Fabric ช่วยให้คุณสามารถจับภาพสแนปช็อตของข้อมูลปัจจุบันในฐานข้อมูล Azure SQL ได้ ตัวเชื่อมต่อจะตรวจสอบและบันทึกการเปลี่ยนแปลงระดับแถวในอนาคตใดก็ตามในข้อมูลนี้ เมื่อการเปลี่ยนแปลงถูกบันทึกไว้ในเหตุการณ์เหตุการณ์ คุณสามารถประมวลผลข้อมูล CDC นี้ในแบบเรียลไทม์ และส่งไปยังปลายทางอื่นภายใน Fabric เพื่อประมวลผลหรือวิเคราะห์เพิ่มเติม
ข้อกำหนดเบื้องต้น
- เข้าถึงพื้นที่ทํางานในโหมดสิทธิ์การใช้งาน Fabric capacity (หรือ) โหมดสิทธิ์การใช้งานรุ่นทดลองใช้ที่มีสิทธิ์ผู้สนับสนุนหรือสูงกว่า
- เซิร์ฟเวอร์ Azure SQL ที่กําลังทํางานพร้อมฐานข้อมูล Azure SQL
- ฐานข้อมูล Azure SQL ของคุณต้องสามารถเข้าถึงได้โดยสาธารณะและต้องไม่ได้อยู่หลังไฟร์วอลล์หรือมีความปลอดภัยในเครือข่ายเสมือน
- เปิดใช้งาน CDC ในฐานข้อมูล Azure SQL ของคุณโดยการเรียกใช้ กระบวนงาน
sys.sp_cdc_enable_dbที่เก็บไว้ สําหรับรายละเอียด ดู เปิดใช้งานและปิดใช้งานการรวบรวมข้อมูลการเปลี่ยนแปลง - ถ้าคุณไม่มีเหตุการณ์สตรีม ให้สร้างเหตุการณ์สตรีม
โปรดทราบว่าคุณต้องไม่เปิดใช้งานการมิเรอร์ในฐานข้อมูล Azure SQL ของคุณ
เปิดใช้งาน CDC ในฐานข้อมูล Azure SQL ของคุณ
ไปที่ พอร์ทัล Azure เปิดฐานข้อมูล Azure SQL ของคุณ และเลือก ตัวแก้ไขคิวรี เลือกวิธีการรับรองความถูกต้องเพื่อเข้าสู่ระบบ
เรียกใช้คําสั่ง SQL ต่อไปนี้เพื่อเปิดใช้งาน CDC ในฐานข้อมูลของคุณ:
-- Enable Database for CDC EXEC sys.sp_cdc_enable_db; -- Enable CDC for a table using a gating role option EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = NULL GO
เปิดใช้ตัวช่วยสร้างการเลือกแหล่งข้อมูล
หากคุณยังไม่ได้เพิ่มแหล่งข้อมูลใดๆ ลงในสตรีมเหตุการณ์ของคุณ ให้เลือกไทล์ ใช้แหล่งข้อมูลภายนอก
หากคุณกําลังเพิ่มแหล่งที่มาไปยังสตรีมเหตุการณ์ที่เผยแพร่แล้ว ให้เปลี่ยนเป็นโหมดแก้ไข บน Ribbon ให้เลือก เพิ่มแหล่งข้อมูล>ภายนอก
บนหน้าเลือกแหล่งข้อมูล ค้นหาและเลือกเชื่อมต่อบนไทล์ Azure SQL DB (CDC)
กําหนดค่าและเชื่อมต่อกับ Azure SQL Database CDC
บนหน้า เชื่อมต่อ เลือก การเชื่อมต่อใหม่
ในส่วน การตั้งค่าการเชื่อมต่อ ให้ป้อนค่าต่อไปนี้สําหรับฐานข้อมูล Azure SQL ของคุณ:
เซิร์ฟเวอร์: ป้อนชื่อเซิร์ฟเวอร์ Azure SQL จากพอร์ทัล Azure ซึ่งอยู่ในฟอร์มนี้:
mysqlservername.database.windows.netฐานข้อมูล: ป้อนชื่อฐานข้อมูล Azure SQL จากพอร์ทัล Azure
เลื่อนลง และ ในส่วน ข้อมูลประจําตัว การเชื่อมต่อ ให้ทําตามขั้นตอนเหล่านี้
สําหรับ ชื่อการเชื่อมต่อ ให้ใส่ชื่อสําหรับการเชื่อมต่อ
สําหรับชนิดการรับรองความถูกต้อง เลือกพื้นฐาน
หมายเหตุ
ปัจจุบัน Fabric Eventstream รองรับการรับรองความถูกต้อง พื้นฐาน เท่านั้น
ใส่ ชื่อผู้ใช้ และ รหัสผ่าน สําหรับฐานข้อมูล
เลือก เชื่อมต่อ
ตอนนี้ บนหน้า เชื่อมต่อ ให้เลือก ตารางทั้งหมด หรือ ป้อนชื่อตาราง หากคุณเลือกรายการหลัง ให้ระบุตารางโดยใช้รายการตัวระบุตารางที่คั่นด้วยเครื่องหมายจุลภาค (
schemaName.tableName) หรือนิพจน์ปกติที่ถูกต้อง เช่น:- ใช้
dbo.test.*เพื่อเลือกตารางทั้งหมดที่มีชื่อเริ่มต้นด้วยdbo.test - ใช้
dbo\.(test1|test2)เพื่อเลือกdbo.test1และdbo.test2
คุณสามารถผสมรูปแบบทั้งสองได้โดยใช้เครื่องหมายจุลภาค ขีดจํากัดอักขระทั้งหมดสําหรับรายการทั้งหมดคือ 102,400 อักขระ
- ใช้
คุณสามารถขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่งข้อมูล CDC ฐานข้อมูล Azure SQL:
-
โหมดการจัดการทศนิยม: กําหนดวิธีจัดการ
DECIMALตัวเชื่อมต่อและNUMERICค่าคอลัมน์:-
Precise: แสดงค่าโดยใช้ชนิดทศนิยมที่แน่นอน (ตัวอย่างเช่น JavaBigDecimal) เพื่อให้แน่ใจว่ามีความแม่นยําและความแม่นยําเต็มในการแสดงข้อมูล -
Double: แปลงค่าเป็นจํานวนจุดทศนิยมลอยตัวที่มีความแม่นยําสองเท่า การตั้งค่านี้ช่วยปรับปรุงการใช้งานและประสิทธิภาพการทํางาน แต่อาจส่งผลให้สูญเสียความแม่นยํา -
String: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ การตั้งค่านี้ทําให้ง่ายต่อการใช้ในระบบดาวน์สตรีม แต่สูญเสียข้อมูลความหมายเกี่ยวกับประเภทตัวเลขดั้งเดิม
-
-
โหมดสแนปช็อต: ระบุเกณฑ์สําหรับการดําเนินการสแนปช็อตเมื่อตัวเชื่อมต่อเริ่มทํางาน:
-
Initial: ตัวเชื่อมต่อจะเรียกใช้สแนปช็อตเฉพาะเมื่อไม่มีการบันทึกออฟเซ็ตสําหรับชื่อเซิร์ฟเวอร์เชิงตรรกะ หรือหากตรวจพบว่าสแนปช็อตก่อนหน้านี้ล้มเหลวในการทําให้เสร็จสมบูรณ์ หลังจากสแนปช็อตเสร็จสมบูรณ์ ตัวเชื่อมต่อจะเริ่มสตรีมเรกคอร์ดเหตุการณ์สําหรับการเปลี่ยนแปลงฐานข้อมูลในภายหลัง -
InitialOnly: ตัวเชื่อมต่อจะเรียกใช้สแนปช็อตเฉพาะเมื่อไม่มีการบันทึกออฟเซ็ตสําหรับชื่อเซิร์ฟเวอร์เชิงตรรกะ หลังจากสแนปช็อตเสร็จสิ้น ขั้วต่อจะหยุดทํางาน ไม่เปลี่ยนเป็นการสตรีมเพื่ออ่านเหตุการณ์การเปลี่ยนแปลงจากบบินล็อก -
NoData: ตัวเชื่อมต่อเรียกใช้สแนปช็อตที่บันทึกเฉพาะ Schema แต่ไม่ใช่ข้อมูลตารางใดๆ ตั้งค่าตัวเลือกนี้ถ้าคุณไม่ต้องการสแนปช็อตข้อมูลที่สอดคล้องกัน แต่คุณต้องการเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นตั้งแต่ตัวเชื่อมต่อเริ่มทํางาน
-
- รายการยกเว้นคอลัมน์: ระบุคอลัมน์ที่จะแยกออกจากการเปลี่ยนแปลงค่าเหตุการณ์โดยใช้ชื่อที่มีคุณสมบัติครบถ้วน (schemaName.tableName.columnName)
- ฐานข้อมูล applicationIntent: กําหนดลักษณะการกําหนดเส้นทางในกลุ่มความพร้อมใช้งาน SQL Server Always On:
-
ReadWrite: เชื่อมต่อกับแบบจําลองหลัก ใช้สิ่งนี้หากการเชื่อมต่อจําเป็นต้องดําเนินการทั้งการอ่านและเขียน -
ReadOnly: อนุญาตให้กําหนดเส้นทางไปยังแบบจําลองรองที่อ่านได้สําหรับการดําเนินการแบบอ่านอย่างเดียว ใช้เพื่อเปิดใช้งาน CDC โดยตรงบนแบบจําลอง จําเป็นต้องตั้งค่า snapshot.isolation.mode เป็นสแนปช็อต ซึ่งเป็นโหมดการแยกธุรกรรมเดียวที่รองรับสําหรับแบบจําลองแบบอ่านอย่างเดียว
-
- การแทนที่คําสั่งเลือกสแนปช็อต: ใช้คุณสมบัติถ้าคุณต้องการให้สแนปช็อตรวมเฉพาะชุดย่อยของแถวในตาราง คุณสมบัตินี้มีผลกับสแนปช็อตเท่านั้น ใช้ไม่ได้กับเหตุการณ์ที่ตัวเชื่อมต่ออ่านจากบันทึก
-
โหมดการจัดการทศนิยม: กําหนดวิธีจัดการ
เลือก ถัดไป
บนหน้าจอ ตรวจสอบและสร้าง ให้ตรวจสอบสรุป จากนั้นเลือก เพิ่ม
นําเข้าข้อมูลการเปลี่ยนแปลงจากฐานข้อมูล Azure SQL ด้วยการลงทะเบียนสคีมาตารางอัตโนมัติผ่าน CDC ไปยัง Eventstream
บนหน้า เชื่อมต่อ เลือก การเชื่อมต่อใหม่
ในส่วน การตั้งค่าการเชื่อมต่อ ให้ป้อนค่าต่อไปนี้สําหรับฐานข้อมูล Azure SQL ของคุณ:
เซิร์ฟเวอร์: ป้อนชื่อเซิร์ฟเวอร์ Azure SQL จากพอร์ทัล Azure ซึ่งอยู่ในฟอร์มนี้:
mysqlservername.database.windows.netฐานข้อมูล: ป้อนชื่อฐานข้อมูล Azure SQL จากพอร์ทัล Azure
เลื่อนลง และ ในส่วน ข้อมูลประจําตัว การเชื่อมต่อ ให้ทําตามขั้นตอนเหล่านี้
สําหรับ ชื่อการเชื่อมต่อ ให้ใส่ชื่อสําหรับการเชื่อมต่อ
สําหรับชนิดการรับรองความถูกต้อง เลือกพื้นฐาน
หมายเหตุ
ปัจจุบัน Fabric Eventstream รองรับการรับรองความถูกต้อง พื้นฐาน เท่านั้น
ใส่ ชื่อผู้ใช้ และ รหัสผ่าน สําหรับฐานข้อมูล
เลือก เชื่อมต่อ
ตอนนี้ บนหน้า เชื่อมต่อ ให้เลือก ตารางทั้งหมด หรือ ป้อนชื่อตาราง หากคุณเลือกรายการหลัง ให้ระบุตารางโดยใช้รายการตัวระบุตารางที่คั่นด้วยเครื่องหมายจุลภาค (
schemaName.tableName) หรือนิพจน์ปกติที่ถูกต้อง เช่น:- ใช้
dbo.test.*เพื่อเลือกตารางทั้งหมดที่มีชื่อเริ่มต้นด้วยdbo.test - ใช้
dbo\.(test1|test2)เพื่อเลือกdbo.test1และdbo.test2
คุณสามารถผสมรูปแบบทั้งสองได้โดยใช้เครื่องหมายจุลภาค ขีดจํากัดอักขระทั้งหมดสําหรับรายการทั้งหมดคือ 102,400 อักขระ
- ใช้
คุณสามารถขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่งข้อมูล CDC ฐานข้อมูล Azure SQL:
-
โหมดการจัดการทศนิยม: กําหนดวิธีจัดการ
DECIMALตัวเชื่อมต่อและNUMERICค่าคอลัมน์:-
Precise: แสดงค่าโดยใช้ชนิดทศนิยมที่แน่นอน (ตัวอย่างเช่น JavaBigDecimal) เพื่อให้แน่ใจว่ามีความแม่นยําและความแม่นยําเต็มในการแสดงข้อมูล -
Double: แปลงค่าเป็นจํานวนจุดทศนิยมลอยตัวที่มีความแม่นยําสองเท่า การตั้งค่านี้ช่วยปรับปรุงการใช้งานและประสิทธิภาพการทํางาน แต่อาจส่งผลให้สูญเสียความแม่นยํา -
String: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ การตั้งค่านี้ทําให้ง่ายต่อการใช้ในระบบดาวน์สตรีม แต่สูญเสียข้อมูลความหมายเกี่ยวกับประเภทตัวเลขดั้งเดิม
-
-
โหมดสแนปช็อต: ระบุเกณฑ์สําหรับการดําเนินการสแนปช็อตเมื่อตัวเชื่อมต่อเริ่มทํางาน:
-
Initial: ตัวเชื่อมต่อจะเรียกใช้สแนปช็อตเฉพาะเมื่อไม่มีการบันทึกออฟเซ็ตสําหรับชื่อเซิร์ฟเวอร์เชิงตรรกะ หรือหากตรวจพบว่าสแนปช็อตก่อนหน้านี้ล้มเหลวในการทําให้เสร็จสมบูรณ์ หลังจากสแนปช็อตเสร็จสมบูรณ์ ตัวเชื่อมต่อจะเริ่มสตรีมเรกคอร์ดเหตุการณ์สําหรับการเปลี่ยนแปลงฐานข้อมูลในภายหลัง -
InitialOnly: ตัวเชื่อมต่อจะเรียกใช้สแนปช็อตเฉพาะเมื่อไม่มีการบันทึกออฟเซ็ตสําหรับชื่อเซิร์ฟเวอร์เชิงตรรกะ หลังจากสแนปช็อตเสร็จสิ้น ขั้วต่อจะหยุดทํางาน ไม่เปลี่ยนเป็นการสตรีมเพื่ออ่านเหตุการณ์การเปลี่ยนแปลงจากบบินล็อก -
NoData: ตัวเชื่อมต่อเรียกใช้สแนปช็อตที่บันทึกเฉพาะ Schema แต่ไม่ใช่ข้อมูลตารางใดๆ ตั้งค่าตัวเลือกนี้ถ้าคุณไม่ต้องการสแนปช็อตข้อมูลที่สอดคล้องกัน แต่คุณต้องการเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นตั้งแต่ตัวเชื่อมต่อเริ่มทํางาน
-
- รายการยกเว้นคอลัมน์: ระบุคอลัมน์ที่จะแยกออกจากการเปลี่ยนแปลงค่าเหตุการณ์โดยใช้ชื่อที่มีคุณสมบัติครบถ้วน (schemaName.tableName.columnName)
- ฐานข้อมูล applicationIntent: กําหนดลักษณะการกําหนดเส้นทางในกลุ่มความพร้อมใช้งาน SQL Server Always On:
-
ReadWrite: เชื่อมต่อกับแบบจําลองหลัก ใช้สิ่งนี้หากการเชื่อมต่อจําเป็นต้องดําเนินการทั้งการอ่านและเขียน -
ReadOnly: อนุญาตให้กําหนดเส้นทางไปยังแบบจําลองรองที่อ่านได้สําหรับการดําเนินการแบบอ่านอย่างเดียว ใช้เพื่อเปิดใช้งาน CDC โดยตรงบนแบบจําลอง จําเป็นต้องตั้งค่า snapshot.isolation.mode เป็นสแนปช็อต ซึ่งเป็นโหมดการแยกธุรกรรมเดียวที่รองรับสําหรับแบบจําลองแบบอ่านอย่างเดียว
-
- การแทนที่คําสั่งเลือกสแนปช็อต: ใช้คุณสมบัติถ้าคุณต้องการให้สแนปช็อตรวมเฉพาะชุดย่อยของแถวในตาราง คุณสมบัตินี้มีผลกับสแนปช็อตเท่านั้น ใช้ไม่ได้กับเหตุการณ์ที่ตัวเชื่อมต่ออ่านจากบันทึก
-
โหมดการจัดการทศนิยม: กําหนดวิธีจัดการ
เปิดใช้งานการเชื่อมโยงสคีมาเหตุการณ์
สําหรับ พื้นที่ทํางาน ให้เลือกพื้นที่ทํางาน Fabric สําหรับชุดสคีมา
สําหรับ ชุดสคีมา + สร้าง จะถูกเลือกตามค่าเริ่มต้น ซึ่งจะสร้างชุดสคีมาใหม่ คุณสามารถเปลี่ยนเพื่อเลือกชุดสคีมาเหตุการณ์ที่มีอยู่ได้
หากคุณเลือกตัวเลือก + สร้าง ในขั้นตอนก่อนหน้า ให้ป้อนชื่อสําหรับชุดสคีมา
บนหน้า การตรวจสอบ + เชื่อมต่อ ให้เลือก เพิ่ม
สําหรับตารางทั้งหมดหรือตารางที่เลือกในฐานข้อมูล Azure SQL ตัวเชื่อมต่อจะค้นหาและสร้าง Schema โดยอัตโนมัติ และลงทะเบียนกับรีจิสทรี Schema
เลือกโหนด eventstream ตรงกลาง และสลับไปที่แท็บ Schema ที่เกี่ยวข้อง ในบานหน้าต่างด้านล่าง
ชุดสคีมา
นําทางไปยังพื้นที่ทํางานที่คุณเลือกในขั้นตอนก่อนหน้า ในตัวอย่างต่อไปนี้ เป็น พื้นที่ทํางานของฉัน
เลือกชุดสคีมาที่ตัวเชื่อมต่อฐานข้อมูล Azure SQL (CDC) สร้างขึ้น
คุณเห็น Schema ในชุด Schema ดังที่แสดงในรูปต่อไปนี้
หากต้องการดูเวอร์ชัน JSON ของสคีมา ให้สลับไปยังมุมมองสคีมา JSON
อย่าเปลี่ยน Schema ที่ค้นพบเหล่านี้โดยใช้ตัวแก้ไขนี้ เนื่องจากจะไม่ยืนยันกับ Schema ของตารางในแหล่งข้อมูลฐานข้อมูล Azure SQL
ดูเหตุการณ์ที่อัปเดตแล้ว
คุณสามารถดูแหล่งฐานข้อมูล SQL Azure (CDC) ที่เพิ่มไปยังเหตุการณ์ของคุณในโหมดแก้ไข
หากต้องการใช้แหล่งข้อมูล CDC ของ Azure SQL Database ที่เพิ่งเพิ่มเข้าไปใหม่ ให้เลือก เผยแพร่ หลังจากที่คุณทําตามขั้นตอนเหล่านี้แหล่งข้อมูล CDC Azure SQL Database ของคุณจะพร้อมใช้งานสําหรับการแสดงภาพในมุมมอง Live
กําหนดค่าปลายทางของสตรีมเหตุการณ์เพื่อใช้สคีมา
ปัจจุบัน เฉพาะ eventhouse, ปลายทางที่กําหนดเอง และปลายทางสตรีมที่ได้รับเท่านั้นที่รองรับสตรีมเหตุการณ์ที่เปิดใช้งานคุณสมบัติเพิ่มเติม ส่วนนี้แสดงวิธีเพิ่มและกําหนดค่าปลายทางของบ้านเหตุการณ์เมื่อมีการเปิดใช้งานคุณลักษณะเพิ่มเติม (เช่น การสนับสนุน Schema) สําหรับสตรีมเหตุการณ์
กําหนดค่า Schema สําหรับปลายทางปลายทางแบบกําหนดเอง
เลือก แปลงเหตุการณ์ หรือ เพิ่มปลายทาง แล้วเลือก CustomEndpoint
บนบานหน้าต่าง ปลายทางแบบกําหนดเอง ให้ระบุชื่อสําหรับปลายทาง
สําหรับ Schema อินพุต ให้เลือก Schema สําหรับเหตุการณ์ คุณทําการเลือกในกล่องนี้เมื่อคุณเปิดใช้งานการสนับสนุน Schema สําหรับสตรีมเหตุการณ์
สําหรับขั้นตอนโดยละเอียดเกี่ยวกับการกําหนดค่าปลายทางปลายทางแบบกําหนดเอง โปรดดู เพิ่มปลายทางที่กําหนดเองหรือปลายทางแอปแบบกําหนดเองไปยังสตรีมเหตุการณ์
กําหนดค่า Schema สําหรับปลายทางของบ้านเหตุการณ์
เลือก แปลงเหตุการณ์ หรือ เพิ่มปลายทาง แล้วเลือก Eventhouse
บนบานหน้าต่าง Eventhouse ให้กําหนดค่าการตั้งค่าที่เกี่ยวข้องกับ Schema ต่อไปนี้:
สําหรับ Schema อินพุต ให้เลือก Schema อย่างน้อยหนึ่งรายการจากรายการดรอปดาวน์
หมายเหตุ
ถ้าคุณเลือกตัวเลือก สคีมาแบบไดนามิกผ่านส่วนหัว เมื่อกําหนดค่าแหล่งข้อมูลฮับเหตุการณ์ คุณอาจได้กําหนดค่า Schema หลายรายการสําหรับแหล่งข้อมูล และแม็ปกับคุณสมบัติต่างๆ และค่าของต้นทาง
สําหรับ วิธีการสร้างตาราง ให้เลือกตาราง เดียวที่มีสคีมาทั้งหมดรวม กัน หรือ แยกตารางสําหรับแต่ละสคีมา ขึ้นอยู่กับความต้องการของคุณ
สําหรับ เขียนข้อมูลด้วย ให้เลือกหนึ่งในตัวเลือกต่อไปนี้:
- เพย์โหลดเท่านั้น: เขียนข้อมูลเพย์โหลดที่แยกออกมาไปยังตาราง หากมีสคีมาอินพุตหลายรายการ ข้อมูลจะถูกส่งไปยังหลายตาราง
-
ข้อมูลเมตาและเพย์โหลด: เขียนข้อมูลเมตาและข้อมูลเพย์โหลดลงในตารางเดียว คอลัมน์ตัวอย่าง ได้แก่
source,subject, ,typeและdata
สําหรับขั้นตอนโดยละเอียดเกี่ยวกับการกําหนดค่าปลายทางของบ้านเหตุการณ์ โปรดดู เพิ่มปลายทางของบ้านเหตุการณ์ไปยังสตรีมเหตุการณ์
เนื้อหาที่เกี่ยวข้อง
ตัวเชื่อมต่ออื่นๆ: