แชร์ผ่าน


แก้ไขปัญหาฐานข้อมูลมิเรอร์ Fabric จากเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL

บทความนี้ครอบคลุมขั้นตอนการแก้ไขปัญหาสําหรับการสะท้อนเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL

แก้ไขปัญหาข้อความแสดงข้อผิดพลาด / คําเตือนระหว่างการเลือกตารางสําหรับการมิเรอร์

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

รหัสสถานะ ประเภทสถานะ ข้อความ คำอธิบาย
SCHEMA_DOES_NOT_EXIST ความผิดพลาด ไม่มีสคีมา{} ไม่มีสคีมาที่กําหนด มันอาจถูกลบออกในขณะที่ Fabric กําลังดึงข้อมูลตารางที่เกี่ยวข้อง ลอง
TABLE_DOES_NOT_EXIST ความผิดพลาด ใน schema {}ตาราง {} ไม่มีอยู่ ตารางที่กําหนดไม่มีอยู่จริง มันอาจถูกลบออกในขณะที่ Fabric กําลังดึงข้อมูลตารางที่เกี่ยวข้อง ลอง
FORBIDDEN_CHARS_IN_COLUMN_NAME ความผิดพลาด ตาราง {}มี{} อักขระต้องห้ามในชื่อคอลัมน์ {} คอลัมน์ที่กําหนดมีอักขระที่ไม่รองรับในชื่อ 1
UNSUPPORTED_DATA_TYPE ความผิดพลาด ตาราง {}มี{} ชนิดข้อมูลที่ไม่รองรับในคอลัมน์ {} คอลัมน์ของตารางหนึ่งคอลัมน์ (หรือมากกว่า) มีชนิดข้อมูลที่ไม่รองรับในปัจจุบัน 3
FORBIDDEN_CHARS_IN_TABLE_NAME ความผิดพลาด ตาราง {}มี{} อักขระต้องห้ามในชื่อ ชื่อตารางมีอักขระที่ไม่รองรับ 1
NOT_REGULAR_TABLE ความผิดพลาด ตาราง {}.{} ไม่ใช่ตารางปกติ ชนิดตารางไม่ได้รับการสนับสนุนสําหรับการมิเรอร์ 2
HAS_PRIMARY_KEY ตกลง, ได้ ตาราง {}มี{} คีย์หลัก ตารางเป็นตารางปกติและมีคีย์หลักที่ถูกต้องที่ใช้สําหรับการมิเรอร์
HAS_UNIQUE_INDEX ตกลง, ได้ ตาราง {}มี{} ดัชนีเฉพาะที่เหมาะสม ตารางไม่มีคีย์หลัก แต่มีดัชนีที่ไม่ซ้ํากันซึ่งจะใช้สําหรับการมิเรอร์
NO_INDEX_FULL_IDENTITY คำเตือน ตาราง {}. ไม่มี{} ดัชนีเฉพาะที่เหมาะสม การใช้ข้อมูลประจําตัวแบบเต็ม ตารางไม่มีคีย์หลักหรือดัชนีที่ไม่ซ้ํากัน ดังนั้นจึง REPLICA IDENTITY FULL จําเป็นต้องสนับสนุนการมิเรอร์ ซึ่งอาจทําให้เกิดปัญหาด้านประสิทธิภาพการทํางาน

1 ตัวระบุวัตถุที่มีอักขระเว้นวรรค (' ') ไม่ได้รับการสนับสนุน

2 ชนิดตารางนี้ไม่ได้รับการสนับสนุนสําหรับการสะท้อน ปัจจุบัน มุมมอง มุมมองที่เป็นรูปธรรม ตารางต่างประเทศ และตารางแบบแบ่งพาร์ติชันไม่ได้รับการสนับสนุน

3 สําหรับรายการชนิดข้อมูลที่ไม่รองรับ โปรดดูข้อจํากัด รองรับเฉพาะคอลัมน์ที่มีชนิดต่อไปนี้เท่านั้น:

  • bigint
  • bigserial
  • boolean
  • bytea
  • character
  • character varying
  • date
  • double precision
  • integer
  • numeric
  • real
  • serial
  • oid
  • money
  • smallint
  • smallserial
  • text
  • time without time zone
  • time with time zone (* ไม่ใช่คีย์หลัก)
  • timestamp without time zone
  • timestamp with time zone
  • uuid

ใน Postgres ค่า 'เวลาที่มีเขตเวลา' สองค่าที่สอดคล้องกับช่วงเวลาเดียวกันทุกประการ แต่อยู่ในเขตเวลาที่ต่างกันจะถือว่าแตกต่างกัน ตัวอย่างเช่น: 06:24:00.59+05 และ 05:24:00.59+04 สอดคล้องกับเวลายุคเดียวกัน แต่ Postgres ปฏิบัติต่อพวกเขาแตกต่างกัน

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

สาเหตุ ผลลัพธ์ ความละเอียดที่แนะนํา
ความจุแฟบริคหยุดชั่วคราว/ลบ การหยุดการสะท้อน 1. ดําเนินการต่อหรือกําหนดความจุจากพอร์ทัล Azure
2. ไปที่รายการฐานข้อมูลมิเรอร์ผ้า จากแถบเครื่องมือ ให้เลือก หยุดการจําลองแบบ
3. เริ่มการจําลองแบบโดยเลือก ฐานข้อมูลมิเรอร์ สําหรับรายการที่มิเรอร์ในพอร์ทัล Fabric
ความจุของผ้ากลับมาทํางานอีกครั้ง การสะท้อนจะไม่กลับมาทํางานต่อ 1. ไปที่รายการฐานข้อมูลมิเรอร์ผ้า จากแถบเครื่องมือ ให้เลือก หยุดการจําลองแบบ
2. เริ่มการจําลองแบบโดยเลือก ฐานข้อมูลมิเรอร์ สําหรับรายการที่มิเรอร์ในพอร์ทัล Fabric
พื้นที่ทํางานถูกลบ การสะท้อนจะหยุดโดยอัตโนมัติ หากการมิเรอร์ยังคงทํางานอยู่บนเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL ให้เชื่อมต่อโดยใช้ผู้ดูแลระบบเซิร์ฟเวอร์และดําเนินการคําสั่งต่อไปนี้บนเซิร์ฟเวอร์ PostgreSQL ของคุณ: select azure_cdc.list_tracked_publications();จากนั้นใช้ชื่อสิ่งพิมพ์ที่ส่งคืนและดําเนินการ select azure_cdc.stop_publication(<publication_name>);
ความจุทดลองใช้ผ้าหมดอายุ การสะท้อนจะหยุดโดยอัตโนมัติ ดู ความจุการทดลองใช้ Fabric หมดอายุ
เกินความจุของผ้า การสะท้อนการหยุดชั่วคราว รอจนกว่าสถานะโอเวอร์โหลดจะสิ้นสุดลงหรืออัปเดตความจุของคุณ ดูข้อมูลเพิ่มเติมจากการดําเนินการที่คุณสามารถทําได้เพื่อกู้คืนจากสถานการณ์โอเวอร์โหลด การมิเรอร์จะยังคงดําเนินต่อไปเมื่อความจุได้รับการกู้คืน
ข้อผิดพลาดอื่น ๆ ของทรัพยากร การมิเรอร์ถูกปิดใช้งาน เพื่อให้แน่ใจว่าทรัพยากรการประมวลผลของคุณไม่ได้รับผลกระทบ และเพื่อลดผลกระทบต่อเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL การมิเรอร์จะปิดใช้งานข้อผิดพลาดของทรัพยากรถาวร
การตั้งค่า "ผู้ใช้สามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน OneLake ด้วยแอปภายนอกไปยัง Fabric" ถูกปิดใช้งาน "Replicator - ตารางไม่สามารถเข้าถึงสถานะการจําลองแบบได้" เปิดใช้งานการตั้งค่าผู้เช่า ผู้ใช้สามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน OneLake ด้วยแอปภายนอกไปยัง Fabric

การสืบค้น SQL สําหรับการแก้ไขปัญหา

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

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

    select * from azure_cdc.tracked_publications;
    

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

    select * from azure_cdc.tracked_batches;
    
  2. ถ้ามุมมอง azure_cdc.tracked_publications ไม่แสดงความคืบหน้าในการประมวลผลการเปลี่ยนแปลงที่เพิ่มขึ้น ให้ดําเนินการแบบสอบถาม SQL ต่อไปนี้เพื่อตรวจสอบว่ามีปัญหาที่รายงานหรือไม่:

    SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
    
  3. หากไม่มีรายงานปัญหาใดๆ ให้ดําเนินการคําสั่งต่อไปนี้เพื่อตรวจสอบการกําหนดค่าปัจจุบันของฐานข้อมูล PostgreSQL ที่มิเรอร์ ยืนยันว่าเปิดใช้งานอย่างถูกต้อง

    SELECT * FROM pg_replication_slots;
    

    คอลัมน์หลักที่จะค้นหาที่นี่คือ slot_name และactive ค่าใดๆ นอกเหนือจาก t (true) บ่งชี้ถึงปัญหาที่อาจเกิดขึ้น

  4. ติดต่อฝ่ายสนับสนุน หากจําเป็นต้องแก้ไขปัญหา

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

ต้องเปิดใช้งานข้อมูลประจําตัวที่มีการจัดการที่กําหนดโดยระบบ (SAMI) ของเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL และต้องเป็นข้อมูลประจําตัวหลัก สําหรับข้อมูลเพิ่มเติม โปรดดู ข้อมูลประจําตัวที่มีการจัดการที่กําหนดโดยระบบสําหรับเซิร์ฟเวอร์แบบยืดหยุ่นของ PostgreSQL

หลังจากเปิดใช้งาน หากสถานะการตั้งค่า SAMI ถูกปิดใช้งานในภายหลัง แล้วเปิดใช้งานอีกครั้ง การมิเรอร์เซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL ไปยัง Fabric OneLake จะล้มเหลว

ตรวจสอบว่าเปิดใช้งาน SAMI ด้วยแบบสอบถามต่อไปนี้: show azure.service_principal_id;

สิทธิ์ SAMI

อย่าลบสิทธิ์ผู้สนับสนุน System Assigned Managed Identity (SAMI) ของเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL ในรายการฐานข้อมูลที่มิเรอร์แบบ Fabric

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

หากคุณลบสิทธิ์ SAMI ของเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL หรือสิทธิ์ไม่ได้ตั้งค่าอย่างถูกต้อง ให้ใช้ขั้นตอนต่อไปนี้

  1. เพิ่ม SAMI เซิร์ฟเวอร์แบบยืดหยุ่นเป็นผู้ใช้ โดยเลือกตัวเลือกจุด ... ไข่ปลาบนรายการฐานข้อมูลที่มิเรอร์
  2. เลือกตัวเลือก จัดการสิทธิ์
  3. ป้อนชื่อของเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL ให้สิทธิ์การอ่านและเขียน