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

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณมีอินสแตนซ์ของ SQL Server 2022 ที่มีการปรับใช้กลุ่มความพร้อมใช้งานที่มีอยู่
  • คุณสร้างวัตถุระดับเซิร์ฟเวอร์ (การเข้าสู่ระบบและงาน) ในบริบทของกลุ่มให้บริการที่มีอยู่

ในสถานการณ์นี้ หนึ่งในข้อผิดพลาดต่อไปนี้จะเกิดขึ้นหลังจากที่คุณติดตั้งการอัปเดตแบบสะสมบนอินสแตนซ์นี้ของ SQL Server

ข้อผิดพลาด 1

งานเอเจนต์ SQL Server ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้:

ไม่สามารถเริ่มการดําเนินการขั้นตอนที่ 2 ได้ (เหตุผล: JobOwner <JobOwner> ไม่มีสิทธิ์ในการใช้พร็อกซี <#> สําหรับ SSIS ระบบย่อย)  ขั้นตอนล้มเหลว

คุณเห็นบันทึกข้อผิดพลาดของเอเจนต์ SQL Server จะบันทึกข้อความแสดงข้อผิดพลาดที่คล้ายกับข้อความต่อไปนี้:

<ประทับเวลา> - ! [298] ข้อผิดพลาด SQLServer: 208 ชื่อวัตถุ 'syssubsystems' ไม่ถูกต้อง [SQLSTATE 42S02]
<ประทับเวลา> - ! [517] ข้อผิดพลาดของ SQL หมายเลข 208 ความรุนแรง 16

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

ข้อผิดพลาด 2

หลังจากที่คุณสร้างกลุ่มการติดต่อที่มีอยู่ คุณจะเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ทุกๆ ห้าวินาที:

proc '[dbo] ที่เปิดใช้งาน [sp_syspolicy_events_reader]' กําลังเรียกใช้ในคิว '<AGName>_AG_SYNC_CONTAINED_msdb.dbo.syspolicy_event_queue' แสดงผลดังต่อไปนี้: 'ไม่สามารถดําเนินการเป็นหลักฐานข้อมูลได้เนื่องจากไม่มีรายการหลัก "##MS_PolicyEventProcessingLogin##" ไม่มีอยู่ ไม่สามารถเลียนแบบชนิดของบัญชีผู้ใช้หลัก หรือคุณไม่มีสิทธิ์"

ข้อผิดพลาด 3

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

กรรม '[dbo] [sp_syspolicy_events_reader]' ไม่มีอยู่ในฐานข้อมูล 'master' หรือไม่ถูกต้องสําหรับการดําเนินการนี้

ข้อผิดพลาด 4

หลังจากที่คุณสร้างกลุ่มการติดต่อที่มีอยู่ ถ้าคุณเชื่อมต่อกับตัวรอรับการติดต่อที่มี และสร้างบัญชีหลักการเข้าสู่ระบบ SQL Server คุณจะได้รับข้อผิดพลาดต่อไปนี้ใน SQL Server Management Studio (SSMS) เมื่อคุณเชื่อมต่อโดยใช้บัญชีหลักของการเข้าสู่ระบบ:

ข้อผิดพลาดในการเชื่อมต่อกับ <ผู้ฟัง>
ไม่สามารถเรียกใช้ข้อมูลสําหรับคําขอนี้ (Microsoft.SqlServer.Management.Sdk.Sfc)
เกิดข้อยกเว้นในระหว่างการดําเนินการคําสั่งหรือชุด Transact-SQL (Microsoft.SqlServer.ConnectionInfo)
สิทธิ์ EXECUTE ถูกปฏิเสธบนวัตถุ 'xp_msver', ฐานข้อมูล 'mssqlsystemresource', Schema 'sys' (Microsoft SQL Server ข้อผิดพลาด: 229)

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจาก public บทบาทไม่ได้รับสิทธิ์ EXECUTE ในกระ xp_msver บวนงานที่จัดเก็บไว้เพิ่มเติมบนต้นแบบกลุ่มให้บริการ (AG) ที่มีอยู่

การแก้ปัญหา

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

การอัปเดตสะสม 4 สําหรับ SQL Server 2022

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server

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

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2022

สถานะ

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

  • เขียนสคริปต์วัตถุระดับเซิร์ฟเวอร์และวัตถุเอเจนต์ SQL Server
  • ละทิ้งกลุ่มการติดต่อที่มีอยู่
  • ใช้การอัปเดตแบบสะสม
  • สร้างกลุ่มการติดต่อที่มีอยู่

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

การอ้างอิง

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