แชร์ผ่าน


การประมวลผลแบบอะซิงโครนัสของธุรกรรมแบบต่อเรียง

ธุรกรรมบางอย่างสามารถกำหนดค่าให้เรียงซ้อนในเรกคอร์ดที่เกี่ยวข้องทั้งหมด ซึ่งหมายความว่าการเปลี่ยนแปลงในเรกคอร์ดหลักจะถูกทำธุรกรรมเมื่อ (เรียงซ้อนลง) เรกคอร์ดรองทั้งหมด ความสัมพันธ์ที่เกี่ยวข้องได้รับการกำหนดค่าที่ระดับตาราง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความสัมพันธ์ การเรียงซ้อน โปรดดู กำหนดค่าพฤติกรรมการเรียงซ้อนความสัมพันธ์ของตาราง

โหมดซิงโครนัสเทียบกับโหมดอะซิงโครนัส

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

ธุรกรรมแบบซิงโครนัสที่มีเรกคอร์ดจำนวนมากสามารถทำให้เกิดปัญหาประสิทธิภาพการทำงานสำหรับสภาพแวดล้อมเมื่อธุรกรรมที่ดำเนินการเป็นเวลานานล้มเหลวเนื่องจากเซิร์ฟเวอร์หมดเวลา เรกคอร์ดถูกล็อกเพื่อป้องกันงานอื่นและธุรกรรมผู้ใช้ที่ทำงานบนเรกคอร์ดเดียวกันจากการดำเนินการ นอกจากนี้ ธุรกรรมที่ใช้เวลานานอาจส่งผลให้เกิดการค้างของธุรกรรมที่รอดำเนินการและการร้องขอที่ลดประสิทธิภาพของระบบและอาจทำให้เกิดการหยุดทำงาน

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

โหมดซิงโครนัส โหมดอะซิงโครนัส
ไม่มีงานอื่นใดที่สามารถดำเนินการกับเรกคอร์ดที่เลือกทั้งหมด (โดยตรงหรือแบบเรียงซ้อน) จนกว่าการดำเนินการเรียงซ้อนจะเสร็จสมบูรณ์ สำหรับการกำหนด ลบ และผสาน การเปลี่ยนแปลงที่เกี่ยวข้องจะถูกแบ่งเป็นชุด โดยล็อกเฉพาะเรกคอร์ดที่ประมวลผลภายในชุดงาน สิ่งนี้อนุญาตให้งานอื่นดำเนินการระหว่างการดำเนินการเปลี่ยนแปลงเต็มแบบเรียงซ้อน
เมื่องานเสร็จสมบูร ณ์ข้อมูลทั้งหมดจะแสดงค่าที่ต้องการใหม่ เมื่อเรียกใช้งาน แต่ละชุดงานที่เสร็จแล้วแสดงค่าที่ต้องการ ซึ่งหมายความว่าจะมีเวลาเมื่อข้อมูลบางอย่างแสดงค่าที่ต้องการและบางส่วนแสดงค่าดั้งเดิมจนกว่าการดำเนินการเต็มรูปแบบจะเสร็จสมบูรณ์ สิ่งนี้จะเรียกว่า “ความถูกต้องตรงกันในที่สุด“
หากเรกคอร์ดเดียวล้มเหลว ข้อมูลทั้งหมดจะถูกย้อนกลับไปเป็นค่าดั้งเดิม การย้อนกลับต้องการการแก้ไขเรกคอร์ดที่เสร็จสมบูรณ์ใหม่ทั้งหมด ซึ่งจะใช้เวลาเพิ่มเติม หากงานเดียวล้มเหลว มันจะลองใหม่หลายครั้งเพื่อให้งานสำเร็จ หากงานไม่สำเร็จความล้มเหลวจะถูกบันทึกในพื้นที่ งานในระบบ ขอให้สังเกตว่าเรกคอร์ดที่เสร็จสมบูรณ์แล้วจะรักษาค่าใหม่
หากหนึ่งในเรกคอร์ดในรายการเรียงซ้อนมีค่าที่แตกต่างจากค่าที่คาดไว้ งานจะล้มเหลวและย้อนกลับ ตัวอย่างเช่น สมมติว่าเรกคอร์ดเริ่มต้นเป็นของ เจ้าของ 1 และการดำเนินการเรียงซ้อนต้องการเปลี่ยนเป็น เจ้าของ 2 หากหนึ่งในเรกคอร์ดที่เกี่ยวข้องดาวน์สตรีมได้เปลี่ยนเป็น เจ้าของ 3 หรือถูกลบก่อนการล็อคเกิดขึ้น งานทั้งหมดจะย้อนกลับ สำหรับการกำหนด การดำเนินการจะทำงานในโหมดเขียนทับการเปลี่ยนค่าปัจจุบันไปเป็นค่าใหม่โดยยึดตามความสัมพันธ์แบบหลัก-รอง ไม่มีงานที่ล้มเหลวเนื่องจากค่าเดิมไม่ตรงกัน สำหรับการลบ หากเรกคอร์ดที่คาดว่าเป็นส่วนหนึ่งของชุดหายไป เรกคอร์ดทั้งหมดจนถึงจุดล้มเหลวจะถือว่าเสร็จสมบูรณ์ ผู้ใช้หรือผู้ดูแลระบบสามารถเรียกใช้งานที่ล้มเหลวได้อีกครั้ง ซึ่งคำนวณงานใหม่เพื่อดำเนินการต่อโดยไม่มีเรกคอร์ดหายไป สำหรับการผสาน หากมีปัญหาเกี่ยวกับเรกคอร์ดที่ขาดหายไป งานจะถูกลองใหม่และดำเนินการโดยไม่มีเรกคอร์ดที่ขาดหายไป

โหมดอะซิงโครนัส

เมื่อธุรกรรมแบบเรียงซ้อนตรงตามเกณฑ์สำหรับระเบียนที่รวมอยู่ ระเบียนจะได้รับการประมวลผลแบบอะซิงโครนัส

Operation Threshold
กำหนด 1,000 เรกคอร์ด.
Delete 5,000 เรกคอร์ด.
การรวมเข้าด้วยกัน 1,000 เรกคอร์ด.

การติดตามกระบวนการการดำเนินการแบบอะซิงโครนัส

ผู้ดูแลระบบสามารถตรวจสอบการประมวลผลของการดำเนินการแบบอะซิงโครนัสในพื้นที่ การตั้งค่า

  1. ลงชื่อเข้าใช้ใน ศูนย์จัดการ Power Platform

  2. เลือก สภาพแวดล้อม ในพื้นที่นำทาง จากนั้นเลือกสภาพแวดล้อมที่คุณต้องการ

  3. เลือก การตั้งค่า ขยาย การตรวจสอบและบันทึก แล้วเลือก งานระบบ

  4. การดำเนินการแบบเรียงซ้อนจะปรากฏขึ้นในมุมมอง System Job

    มุมมองการดำเนินงานแบบเรียงซ้อน

    ในการดูการดำเนินการเฉพาะแบบเรียงซ้อน ในตัวเลือก มุมมอง เลือก การดำเนินการแบบเรียงซ้อน

    ตัวเลือกมุมมองการดำเนินงานแบบเรียงซ้อน

การดำเนินการแบบเรียงซ้อนมีสถานะใดสถานะหนึ่งต่อไปนี้:

  • เสร็จสมบูรณ์: แบตช์ทั้งหมดของธุรกรรมแบบเรียงซ้อนได้รับการเสร็จสมบูรณ์แล้ว
  • กำลังดำเนินการ: การเปลี่ยนแปลงแบบเรียงซ้อนกำลังดำเนินการอยู่
  • ล้มเหลว: หลังจากลองใหม่หลายครั้ง การเปลี่ยนแปลงแบบเรียงซ้อนบางส่วนก็ล้มเหลว

หมายเหตุ

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

การเปิดการดำเนินการเรียงซ้อนแสดง:

  • มีการลองใหม่เกิดขึ้นกี่ครั้งสำหรับธุรกรรมนั้นๆ

  • วันที่และเวลาที่สร้างและเสร็จสิ้น

  • ใครเป็นคนสร้างงาน

  • ข้อความใดๆ ที่เกี่ยวข้องกับงาน เช่นเหตุผลความล้มเหลว หรือข้อยกเว้น

    เรกคอร์ดการดำเนินงานแบบเรียงซ้อน

ธุรกรรมแบบเรียงซ้อนใดที่สามารถประมวลผลแบบอะซิงโครนัสได้

ธุรกรรมแบบเรียงซ้อนของกำหนด ลบ และผสานสามารถประมวลผลแบบอะซิงโครนัสได้

หมายเหตุ

ธุรกรรมอื่นๆ เช่น ใช้ร่วมกัน/ยกเลิกการใช้งานร่วมกัน มุมมองค่าสะสม และทดแทนอยู่ระหว่างการตรวจสอบสำหรับการประมวลผลแบบอะซิงโครนัส

การแก้ไขปัญหาเกี่ยวกับการดำเนินการเรียงซ้อนแบบอะซิงโครนัส

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

การดำเนินการแบบอะซิงโครนัสจะลองใหม่หลายครั้งหากเกิดความล้มเหลว ในกรณีส่วนใหญ่ การลองงานซ้ำจะทำให้เกิดความสำเร็จและงานสามารถดำเนินต่อไปจนเสร็จได้ ในบางกรณีที่เกิดขึ้นไม่บ่อย การลองซ้ำจะไม่สามารถแก้ปัญหาได้ ในกรณีนี้งานอะซิงโครนัสจะหยุดชั่วคราว และผู้ดูแลระบบและผู้ใช้สามารถแก้ไขปัญหาและเริ่มงานต่อจากจุดที่หยุดชั่วคราวได้

สาเหตุทั่วไปของความล้มเหลวในการดำเนินการเรียงซ้อน

สาเหตุทั่วไปของความล้มเหลวในการประมวลผลการดำเนินการเรียงซ้อน ได้แก่:

  • ข้อยกเว้นของปลั๊กอิน
  • ข้อยกเว้นด้านความปลอดภัย

ข้อยกเว้นของปลั๊กอิน

ปลั๊กอินจะถูกเพิ่มเข้าไปในการประมวลผลการดำเนินการแบบเรียงซ้อนเพื่อดำเนินการเฉพาะเมื่อมีการเปลี่ยนแปลงในเรกคอร์ด เช่น การส่งอีเมลหรือทริกเกอร์การอัปเดตอื่นในเรกคอร์ดอื่น สิ่งเหล่านี้อาจจัดเตรียมโดยบุคคลที่สามหรือพัฒนาขึ้นเอง หากปลั๊กอินสร้างข้อยกเว้น การดำเนินการเรียงซ้อนจะล้มเหลว ขึ้นอยู่กับเหตุผลของข้อยกเว้น การลองใหม่อาจช่วยแก้ปัญหาได้ หากงานเรียงซ้อนแบบอะซิงโครนัสหยุดชั่วคราวเนื่องจากความล้มเหลว ให้ตรวจสอบความถูกต้องของปลั๊กอินทั้งหมดที่เกี่ยวข้องกับการดำเนินการเพื่อให้แน่ใจว่าไม่มีการสร้างข้อยกเว้น เมื่อแก้ไขแล้วสามารถกลับมาทำงานต่อได้

ข้อยกเว้นด้านความปลอดภัย

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

หากผู้ใช้ยังคงอยู่ในระบบ ให้ตรวจสอบว่าพวกเขามีสิทธิ์ที่จำเป็นในการแก้ไขเรกคอร์ด และพวกเขามีสิทธิ์ในการดำเนินการตามที่ระบุ หลังจากแก้ไขได้แล้ว ให้กลับมาทำงานต่อ

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

สำหรับปัญหาอื่นๆ เกี่ยวกับงานที่ล้มเหลว โปรดติดต่อฝ่ายสนับสนุนของ Microsoft ข้อมูลเพิ่มเติม: ภาพรวมของการสนับสนุน

การแก้ไขปัญหาการลบไฟล์ระหว่างการผสานแบบเรียงซ้อน

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

ผสานกล่องโต้ตอบเรกคอร์ด

ผสานตัวอย่างเรกคอร์ด

ลองนึกภาพว่าคุณมีบัญชีที่มีความสัมพันธ์ในการติดต่อ ซึ่งมีความสัมพันธ์กับคำสั่งซื้อ คุณต้องการรวมเรกคอร์ดบัญชีสองรายการ

หากงานทำงานสำเร็จ การผสานจะกำหนดผู้ติดต่อที่เกี่ยวข้องและคำสั่งซื้อทั้งหมดไปยังบัญชีเป้าหมาย

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

ผสานทำให้เกิดการล็อกที่ป้องกันการเปลี่ยนแปลงการเข้าถึงอื่นๆ

การดำเนินการรวมที่เกี่ยวข้องให้สิทธิ์การเข้าถึงตารางรองแก่เจ้าของใหม่ ในการทำเช่นนี้ การดำเนินการ Cascade Merge จะเข้าถึงและทำการเปลี่ยนแปลงกับ Principal Object Table ซึ่งต้องมีการล็อก ถ้าการดำเนินการผสานมีหลายเรกคอร์ด (ขึ้นอยู่กับความสัมพันธ์แบบเรียงซ้อน) การล็อกนี้อาจอยู่ในตำแหน่งที่เพิ่มขึ้นเป็นระยะเวลานาน ซึ่งอาจส่งผลให้เกิดข้อผิดพลาดหากการดำเนินการพยายามให้หรือเพิกถอน การเข้าถึงของเรกคอร์ดที่ไม่เกี่ยวข้องในขณะที่การผสานกำลังทำงาน ในกรณีนี้ ให้ลองดำเนินการผสานในช่วงนอกเวลาทำการเพื่อให้การบล็อกลดลง

ดูเพิ่มเติม

ภาพรวมตาราง ความสัมพันธ์