อาการ
ลองทำตามสถานการณ์ต่อไปนี้:
- คุณเรียกใช้เซิร์ฟเวอร์ที่โฮสต์หลายอินสแตนซ์ที่มีเวอร์ชันหลักต่างกัน ไม่เพียงแต่ Microsoft SQL Server 2008, 2008 R2, 2012 หรือ 2014 เท่านั้น แต่ยังรวมถึง SQL Server 2016 หรือ 2017 ด้วย (ซึ่งรวมถึงอินสแตนซ์รุ่นน้ําหนักเบา เช่น SQL Express)
- คุณติดตั้งการอัปเดตสะสม 2 (CU 2) สําหรับ SQL Server 2016 SP2 และการอัปเดตสะสม 10 (CU 10) สําหรับ SQL Server 2017
- คุณใช้แอปพลิเคชัน Volume Shadow Copy Service (VSS) เพื่อสํารองฐานข้อมูลใดๆ ในอินสแตนซ์ SQL Server เวอร์ชัน 2008, 2008 R2, 2012 หรือ 2014
- หรือคุณเริ่มต้นการสํารองข้อมูลที่เปิดใช้งาน VSS ของ VM ที่ระดับโฮสต์การจําลองเสมือนเมื่อเซิร์ฟเวอร์เป็นเครื่องเสมือน
ในสถานการณ์นี้ แอปพลิเคชัน VSS อาจไม่สามารถรวบรวมฐานข้อมูล SQL Server ได้ นอกจากนี้ คุณอาจได้รับข้อความแสดงข้อผิดพลาดในบันทึกเหตุการณ์ของแอปพลิเคชัน Windows ที่คล้ายกับข้อความต่อไปนี้:
สําหรับอินสแตนซ์ SQL Server 2008 หรือ 2008 R2
หมายเหตุ
สถานะข้อผิดพลาด: 1 ความรุนแรง: 16
แหล่งที่มา: Microsoft SQL Server Native Client 11.0
ข้อความแสดงข้อผิดพลาด: ชื่อวัตถุไม่ถูกต้อง 'master.sys.availability_replicas'
หมายเหตุ: ข้อผิดพลาดจะเกิดขึ้นเมื่อคุณดําเนินการคิวรีต่อไปนี้:
declare @sql nvarchar(MAX)DECLARE @DatabaseName VARCHAR(256)set @DatabaseName =N'master'set @sql = SELECT 1 FROM master.sys.availability_replicas AS ar INNER JOIN master.sys.databases AS d ON DB_ID(''' + @DatabaseName + ''') = d.database_id AND ar.replica_id = d.replica_id INNER JOIN master.sys.dm_hadr_availability_replica_states AS ST ON ar.replica_id = st.replica_id AND st.ROLE = 2'EXEC(@sql)
สําหรับอินสแตนซ์ SQL Server 2012 หรือ SQL Server 2014 ที่โฮสต์ฐานข้อมูลรองของกลุ่มให้บริการ AlwaysOn
หมายเหตุ
สถานะข้อผิดพลาด: 1 ความรุนแรง: 16
แหล่งที่มา: Microsoft SQL Server Native Client 11.0
ข้อความแสดงข้อผิดพลาด: ชื่อคอลัมน์ 'basic_features' ไม่ถูกต้อง
และในกรณีนี้คิวรีที่พบข้อผิดพลาดจะเป็น :
หมายเหตุ
'select database_id, ar.replica_id, replica_server_name, is_primary_replica, ar.group_id, basic_features from master.sys.availability_replicas ar, master.sys.dm_hadr_database_replica_states rs, master.sys.availability_groups ag WHERE database_id = DB_ID(''' + @DatabaseName + ''' ) AND replica_server_name = ''' + @INSTANCENAME + ''' AND ar.replica_id = rs.replica_id AND ar.group_id = ag.group_id'
การแก้ปัญหา
ปัญหานี้ได้รับการแก้ไขในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:
การอัปเดตสะสม 12 สําหรับ SQL Server 2017
การอัปเดตสะสม 4 สําหรับ SQL Server 2016 SP2
เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server
การอัปเดตแบบสะสมใหม่แต่ละรายการสําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตแบบสะสมก่อนหน้า ตรวจดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2017
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016
สถานะ
Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"
การอ้างอิง
เรียนรู้เกี่ยวกับ คําศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์