หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้ครอบคลุมขั้นตอนการแก้ไขปัญหาสําหรับการสะท้อนเซิร์ฟเวอร์แบบยืดหยุ่นของ 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 สําหรับรายการชนิดข้อมูลที่ไม่รองรับ โปรดดูข้อจํากัด รองรับเฉพาะคอลัมน์ที่มีชนิดต่อไปนี้เท่านั้น:
bigintbigserialbooleanbyteacharactercharacter varyingdatedouble precisionintegernumericrealserialoidmoneysmallintsmallserialtexttime without time zone-
time with time zone(* ไม่ใช่คีย์หลัก) timestamp without time zonetimestamp with time zoneuuid
ใน 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 สําหรับการแก้ไขปัญหา
หากคุณประสบปัญหาการสะท้อน ให้ทําการตรวจสอบระดับเซิร์ฟเวอร์ต่อไปนี้โดยใช้มุมมองและฟังก์ชันของระบบเพื่อตรวจสอบการกําหนดค่า
ดําเนินการคิวรีต่อไปนี้เพื่อตรวจสอบว่าการเปลี่ยนแปลงนั้นโฟลว์อย่างถูกต้องหรือไม่:
select * from azure_cdc.tracked_publications;ตรวจสอบว่าสิ่งพิมพ์ทํางานอยู่และสร้างสแนปช็อตหรือไม่ คุณยังสามารถตรวจสอบว่ามีการสร้างชุดการเปลี่ยนแปลงที่ตามมาโดยการสืบค้น:
select * from azure_cdc.tracked_batches;ถ้ามุมมอง
azure_cdc.tracked_publicationsไม่แสดงความคืบหน้าในการประมวลผลการเปลี่ยนแปลงที่เพิ่มขึ้น ให้ดําเนินการแบบสอบถาม SQL ต่อไปนี้เพื่อตรวจสอบว่ามีปัญหาที่รายงานหรือไม่:SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';หากไม่มีรายงานปัญหาใดๆ ให้ดําเนินการคําสั่งต่อไปนี้เพื่อตรวจสอบการกําหนดค่าปัจจุบันของฐานข้อมูล PostgreSQL ที่มิเรอร์ ยืนยันว่าเปิดใช้งานอย่างถูกต้อง
SELECT * FROM pg_replication_slots;คอลัมน์หลักที่จะค้นหาที่นี่คือ
slot_nameและactiveค่าใดๆ นอกเหนือจากt(true) บ่งชี้ถึงปัญหาที่อาจเกิดขึ้นติดต่อฝ่ายสนับสนุน หากจําเป็นต้องแก้ไขปัญหา
ข้อมูลประจําตัวที่มีการจัดการ
ต้องเปิดใช้งานข้อมูลประจําตัวที่มีการจัดการที่กําหนดโดยระบบ (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 หรือสิทธิ์ไม่ได้ตั้งค่าอย่างถูกต้อง ให้ใช้ขั้นตอนต่อไปนี้
- เพิ่ม SAMI เซิร์ฟเวอร์แบบยืดหยุ่นเป็นผู้ใช้ โดยเลือกตัวเลือกจุด
...ไข่ปลาบนรายการฐานข้อมูลที่มิเรอร์ - เลือกตัวเลือก จัดการสิทธิ์
- ป้อนชื่อของเซิร์ฟเวอร์แบบยืดหยุ่นของ Azure Database for PostgreSQL ให้สิทธิ์การอ่านและเขียน