นำไปใช้กับ
SQL Server 2019 on Windows SQL Server 2022 on Linux (all editions) SQL Server 2022 on Windows (all editions)

อาการ

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

หมาย เหตุ แท็บ  "คําสั่งที่ไม่ได้กระจาย" ของการตรวจสอบการจําลองแบบจะเรียกใช้ sp_replmonitorsubscriptionpendingcmds เบื้องหลัง

การแก้ไข

ข้อมูลโปรแกรมอัปเดตสะสม

ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:

หมาย เหตุหลังจากที่คุณใช้การอัปเดตแบบสะสมนี้ sp_replmonitorsubscriptionpendingcmds อาจยังคงรายงานจํานวนคําสั่งที่ค้างอยู่ที่ไม่ถูกต้องสําหรับการจําลองแบบ P2P ถ้าตาราง MSrepl_originators มีรายการเก่า

ถ้าตาราง MSrepl_originators มีรายการค้างอยู่ การรัน sp_replmonitorsubscriptionpendingcmds จะสร้างข้อความเตือนต่อไปนี้ในล็อกข้อผิดพลาด SQL Server:

คําเตือน: ไม่สามารถรับรุ่นของฐานข้อมูลสําหรับฐานข้อมูลการสมัครใช้งาน '<database_name>' sp_replmonitorsubscriptionpendingcmdsอาจรายงานจํานวนคําสั่งที่รอดําเนินการไม่ถูกต้องสําหรับการจําลองแบบ P2P

เมื่อต้องการแก้ไขปัญหานี้ ให้ลบรายการค้างออกจาก MSrepl_originators หรือส่งผ่าน "dbversion" ที่ถูกต้องของฐานข้อมูลการสมัครใช้งานเป็นอาร์กิวเมนต์ subdb_version เมื่อคุณเรียกใช้ sp_replmonitorsubscriptionpendingcmds

เคล็ดลับ: คุณสามารถเลือกวิธีใดวิธีหนึ่งต่อไปนี้เพื่อค้นหา "dbversion" ของฐานข้อมูลการสมัครใช้งาน:

  • เรียกใช้คิวรีต่อไปนี้บนฐานข้อมูลการแจกจ่าย: select dbversion from MSrepl_originatorswhere publisher_database_id = <Publisher_Database_ID>and srvname = <Subscriber_Server>and dbname = <Subscriber_Database>หมายเหตุ คุณจําเป็นต้องแทนค่าที่เหมาะสมสําหรับ <Publisher_Database_ID> <Subscriber_Server> และ <Subscriber_Database>

  • เรียกใช้คิวรีต่อไปนี้บนฐานข้อมูลการสมัครใช้งาน: declare @current_version int , @currentGuid uniqueidentifierselect @currentGuid = recovery_fork_guidfrom sys.database_recovery_status#x3 select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)print @current_version

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

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

อ้างอิง

เรียนรู้เกี่ยวกับ คําศัพท์ ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ