แชร์ผ่าน


แก้ไขปัญหาฐานข้อมูลที่มิเรอร์ Fabric จากฐานข้อมูล Azure SQL

บทความนี้ครอบคลุมขั้นตอนการแก้ไขปัญหาการแก้ไขปัญหาสําหรับการสะท้อนฐานข้อมูล Azure SQL

สําหรับการแก้ไขปัญหาการมิเรอร์ที่กําหนดค่าโดยอัตโนมัติสําหรับฐานข้อมูล Fabric SQL โปรดดู แก้ไขปัญหาการมิเรอร์จากฐานข้อมูล Fabric SQL

การเปลี่ยนแปลงความจุ Fabric หรือพื้นที่ทํางาน

การเปลี่ยนแปลงความจุของ Fabric หรือพื้นที่ทํางานอาจส่งผลต่อการสะท้อนภาพ สําหรับข้อมูลเพิ่มเติม ให้ตรวจสอบผลกระทบต่อการสะท้อนจากการเปลี่ยนแปลงความจุของแฟบริค

การแก้ไขปัญหาฐานข้อมูล Azure SQL

สาเหตุ ผลลัพธ์ ความละเอียดที่แนะนํา
พื้นที่ทํางานถูกลบ การมิเรอร์จะหยุดโดยอัตโนมัติและปิดใช้งานฟีดการเปลี่ยนแปลงใน Azure SQL Database ในกรณีที่การมิเรอร์ยังคงทํางานอยู่บนฐานข้อมูล Azure SQL ให้ดําเนินการตามกระบวนงานที่เก็บไว้ต่อไปนี้บนฐานข้อมูล Azure SQL ของคุณ: exec sp_change_feed_disable_db;
ข้อผิดพลาดต่อเนื่อง การมิเรอร์ถูกปิดใช้งานสําหรับฐานข้อมูลที่ได้รับผลกระทบ เพื่อให้แน่ใจว่าทรัพยากรการประมวลผลของคุณจะไม่ได้รับผลกระทบ และเพื่อปกป้องฐานข้อมูล Azure SQL ต้นทางของคุณ การมิเรอร์จะถูกปิดใช้งานเมื่อมีข้อผิดพลาดถาวร ตรวจทาน sys.dm_change_feed_errors และแก้ไขข้อผิดพลาดพื้นฐานก่อนที่จะเปิดใช้งานฐานข้อมูลสําหรับการมิเรอร์อีกครั้ง
การตั้งค่า "ผู้ใช้สามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน OneLake ด้วยแอปภายนอกไปยัง Fabric" ถูกปิดใช้งาน "Replicator - ตารางไม่สามารถเข้าถึงสถานะการจําลองแบบได้" เปิดใช้งานการตั้งค่าผู้เช่า ผู้ใช้สามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน OneLake ด้วยแอปภายนอกไปยัง Fabric

สําหรับสถานการณ์การแก้ไขปัญหาเพิ่มเติม โปรดดู แก้ไขปัญหาฐานข้อมูลมิเรอร์ Fabric - Microsoft Fabric

แบบสอบถาม T-SQL สําหรับการแก้ไขปัญหา

ถ้าคุณกําลังประสบปัญหาการสะท้อน ให้ดําเนินการตรวจสอบระดับฐานข้อมูลต่อไปนี้โดยใช้มุมมองการจัดการแบบไดนามิก (DMV) และกระบวนงานที่เก็บไว้เพื่อตรวจสอบความถูกต้องของการกําหนดค่า

  1. ดําเนินการคิวรีต่อไปนี้เพื่อตรวจสอบว่าการเปลี่ยนแปลงนั้นโฟลว์อย่างถูกต้องหรือไม่:

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessionsถ้า DMV ไม่แสดงความคืบหน้าใด ๆ ในการประมวลผลการเปลี่ยนแปลงแบบเพิ่มหน่วย ดําเนินการคิวรี T-SQL ต่อไปนี้เพื่อตรวจสอบว่ามีปัญหาใด ๆ ที่ถูกรายงานหรือไม่:

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. หากไม่มีรายงานปัญหาใดๆ ให้ดําเนินการตามกระบวนงานที่เก็บไว้ต่อไปนี้เพื่อตรวจสอบการกําหนดค่าปัจจุบันของฐานข้อมูล Azure SQL ที่มิเรอร์ ยืนยันว่าเปิดใช้งานอย่างถูกต้อง

    EXEC sp_help_change_feed;
    

    คอลัมน์หลักที่จะค้นหาที่นี่คือ table_name และstate ค่าใด ๆ ที่อยู่ข้างๆ 4 ระบุถึงปัญหาที่อาจเกิดขึ้น

  4. ถ้าการจําลองแบบยังคงไม่ทํางาน ให้ตรวจสอบว่า วัตถุ ข้อมูลประจําตัวที่มีการจัดการ ที่ถูกต้องมีสิทธิ์

    1. ในพอร์ทัล Fabric ให้เลือก "..." ตัวเลือกจุดไข่ปลาบนรายการฐานข้อมูลที่มิเรอร์
    2. เลือกตัวเลือก จัดการสิทธิ์
    3. ยืนยันว่าชื่อข้อมูลประจําตัวที่มีการจัดการแสดงด้วยสิทธิ์การอ่าน เขียน
    4. ตรวจสอบให้แน่ใจว่า AppId ที่แสดงขึ้นตรงกับรหัสของข้อมูลประจําตัวที่มีการจัดการของเซิร์ฟเวอร์เชิงตรรกะฐานข้อมูล Azure SQL ของคุณ
  5. ติดต่อฝ่ายสนับสนุน หากจําเป็นต้องแก้ไขปัญหา

ข้อมูลประจําตัวที่มีการจัดการ

ต้องเปิดใช้งาน System Assigned Managed Identity (SAMI) หรือ User Assigned Managed Identity (UAMI) ของลอจิคัลเซิร์ฟเวอร์ Azure SQL และหนึ่งในนั้นต้องเป็นข้อมูลประจําตัวหลัก

Note

การรองรับข้อมูลประจําตัวที่มีการจัดการที่ผู้ใช้กําหนด (UAMI) อยู่ในการแสดงตัวอย่าง

ตรวจสอบข้อมูลประจําตัวหลักที่ถูกต้องโดยใช้แบบสอบถาม Transact-SQL ต่อไปนี้:

SELECT * FROM sys.dm_server_managed_identities;

สําหรับข้อมูลเพิ่มเติม โปรดดู สร้างเซิร์ฟเวอร์ฐานข้อมูล Azure SQL

สิทธิ์สําหรับข้อมูลประจําตัวที่มีการจัดการ

ทั้ง System Assigned Managed Identity (SAMI) และ User Assigned Managed Identity (UAMI) สําหรับเซิร์ฟเวอร์ตรรกะ Azure SQL ต้องมีสิทธิ์ อ่าน และ เขียน ในรายการฐานข้อมูลที่มิเรอร์ใน Microsoft Fabric

เมื่อคุณสร้างฐานข้อมูลมิเรอร์จากพอร์ทัล Fabric สิทธิ์จะได้รับโดยอัตโนมัติ หากคุณพบข้อผิดพลาด Unable to grant required permission to the source server. User does not have permission to reshare ระหว่างการตั้งค่า ตรวจสอบให้แน่ใจว่าคุณมีบทบาทสมาชิกหรือผู้ดูแลระบบในพื้นที่ทํางานที่มีสิทธิ์การใช้งานเพียงพอ เมื่อคุณใช้ API หรือ CI/CD เพื่อสร้างฐานข้อมูลมิเรอร์ ตรวจสอบให้แน่ใจว่าคุณให้สิทธิ์อย่างชัดเจน

อย่าลบสิทธิ์ การอ่าน และ เขียน SAMI และ/หรือ UAMI ในรายการฐานข้อมูลที่มิเรอร์ Fabric ถ้าคุณลบสิทธิ์โดยไม่ได้ตั้งใจ การมิเรอร์ฐานข้อมูล Azure SQL จะไม่ทํางานตามที่คาดไว้ ไม่สามารถมิเรอร์ข้อมูลใหม่จากฐานข้อมูลต้นทางได้

ถ้าคุณลบสิทธิ์ SAMI และ/หรือ UAMI ของฐานข้อมูล Azure SQL ออก หรือสิทธิ์ไม่ได้รับการตั้งค่าอย่างถูกต้อง ให้ดูขั้นตอนที่ระบุไว้ในส่วนบทช่วยสอนเพื่อตั้งค่า

ข้อผิดพลาดจากสิทธิ์เก่าด้วยการเข้าสู่ระบบ Microsoft Entra

ก่อนที่จะใช้การรับรองความถูกต้องของ Microsoft Entra ID ให้ตรวจสอบข้อจํากัดในองค์ประกอบหลักของเซิร์ฟเวอร์ Microsoft Entra

ผู้ใช้ฐานข้อมูลที่สร้างขึ้นโดยใช้การเข้าสู่ระบบ Microsoft Entra อาจประสบกับความล่าช้าเมื่อได้รับบทบาทและสิทธิ์ ซึ่งอาจส่งผลให้เกิดข้อผิดพลาดดังต่อไปนี้ในพอร์ทัล Fabric:

"The database cannot be mirrored to Fabric due to below error: Unable to retrieve SQL Server managed identities. A database operation failed with the following error: 'VIEW SERVER SECURITY STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action.' VIEW SERVER SECURITY STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action. SqlErrorNumber=300,Class=14,State=1, Activity ID: ..."

ในระหว่างการแสดงตัวอย่างปัจจุบัน ควรใช้คําสั่งต่อไปนี้เพื่อแก้ไขปัญหาเหล่านี้

  • วางผู้ใช้ ออกจากฐานข้อมูลผู้ใช้
  • ดําเนินการ DBCC FREESYSTEMCACHE('TokenAndPermUserStore') เพื่อล้างแคชความปลอดภัยบนฐานข้อมูล
  • ดําเนินการ DBCC FLUSHAUTHCACHE เพื่อล้างแคชบริบทการรับรองความถูกต้องแบบรวมศูนย์
  • ในฐานข้อมูลผู้ใช้ ให้ สร้างผู้ใช้ใหม่ ตามการเข้าสู่ระบบ

การใช้บันทึกธุรกรรม

การใช้บันทึกธุรกรรมสําหรับฐานข้อมูลที่เปิดใช้งานสําหรับการมิเรอร์สามารถเติบโตต่อไปและระงับการตัดทอนบันทึก เมื่อขนาดบันทึกธุรกรรมถึงขีดจํากัดสูงสุดที่กําหนดไว้ การเขียนไปยังฐานข้อมูลจะล้มเหลว เพื่อป้องกันสิ่งนี้ การมิเรอร์จะทริกเกอร์การเพาะเมล็ดใหม่โดยอัตโนมัติของฐานข้อมูลทั้งหมดเมื่อพื้นที่บันทึกที่ใช้เกินเกณฑ์ของพื้นที่บันทึกที่กําหนดค่าไว้ทั้งหมด เมื่อต้องการวินิจฉัยสิ่งนี้และเรียนรู้เกี่ยวกับการเพาะเมล็ดใหม่อัตโนมัติ โปรดดู การเพาะเมล็ดใหม่อัตโนมัติสําหรับฐานข้อมูลมิเรอร์ Fabric จากฐานข้อมูล Azure SQL

การเพาะเมล็ดใหม่ได้เริ่มขึ้นโดยอัตโนมัติ

การมิเรอร์แฟบริคจากฐานข้อมูล Azure SQL สามารถ reseed โดยอัตโนมัติภายใต้เงื่อนไขบางประการ ที่ระดับตารางแต่ละรายการหรือสําหรับฐานข้อมูลทั้งหมด หากต้องการเรียนรู้เพิ่มเติม การ reseed อัตโนมัติสําหรับฐานข้อมูลที่มิเรอร์ Fabric จากฐานข้อมูล Azure SQL