อาการ
สมมติว่า คุณมีฐานข้อมูลที่มีการเรียงแบบตรงตามตัวพิมพ์ใหญ่-เล็กใน Microsoft SQL Server 2012 Service Pack 2 (SP2) เมื่อคุณพยายามสํารองฐานข้อมูลรอง AlwaysOn โดยใช้ Volume Shadow Copy Service (VSS) คุณอาจได้รับข้อความต่อไปนี้ในบันทึกของแอปพลิเคชัน Windows:(VSS Source)
แหล่งที่มา: VSSEventID: 8229EventType: 2DateTime: 9-7-2014 14:22:46.000Timestamp: 0x01cf9b707d6d6f00Description: A VSS writer has rejected an event with error 0x800423f4, the writer experienced a non-transient error. หากลองกระบวนการสํารองข้อมูลใหม่ข้อผิดพลาดมีแนวโน้มที่จะเกิดขึ้นใหม่. การเปลี่ยนแปลงที่ผู้เขียนทํากับคอมโพเนนต์ของผู้เขียนขณะจัดการเหตุการณ์จะไม่พร้อมใช้งานสําหรับผู้ขอตรวจสอบบันทึกเหตุการณ์สําหรับเหตุการณ์ที่เกี่ยวข้องจากแอปพลิเคชันที่โฮสต์ตัวเขียน VSS
(จาก SQLVDI)
SQLVDI: Loc=SignalAbort. Desc=Client เริ่มต้นยกเลิก ErrorCode=(0) Process=1584. Thread=7244 ไคล เอ็นต์ Instance= VD=Global\{6483442C-256E-4F85-85C4-E5A611ED9A88}1_SQLVDIMemoryName_0...SQLVDI: Loc=TriggerAbort. Desc=invoked ErrorCode=(0) Process=1940. Thread=1824. เซิร์ฟเวอร์ อินสแตนซ์=MSSQLSERVER VD=Global\{6483442C-256E-4F85-85C4-E5A611ED9A88}1_SQLVDIMemoryName_0
คุณยังได้รับข้อความต่อไปนี้ใน SQL Server ERRORLOG:
>เวลา> <วันที่< ข้อผิดพลาดการสํารองข้อมูล: 3041 ความรุนแรง: 16 สถานะ: 1 >เวลา> <วันที่< การสํารองข้อมูลไม่สามารถดําเนินการรูปแบบฐานข้อมูลการสํารองคําสั่งให้เสร็จสมบูรณ์ได้ ตรวจสอบบันทึกแอปพลิเคชันการสํารองข้อมูลสําหรับข้อความโดยละเอียด <วันที่> <เวลา> spid <ID> ข้อผิดพลาด: 18210 ความรุนแรง: 16 รัฐ: 1 <Date> <Time> spid<ID> BackupVirtualDeviceFile::P repareToFreeze: ความล้มเหลวบนอุปกรณ์สํารองข้อมูล '{4E35DA4A-BAF7-4EC2-8421-EA7A3C0B7B31}1' ข้อผิดพลาดของระบบปฏิบัติการ 995(การดําเนินการ I/O ถูกยกเลิกเนื่องจากเธรดจบการทํางานหรือการร้องขอแอปพลิเคชัน)
นอกจากนี้ ถ้าคุณใช้การติดตามตัวสร้างโพรไฟล์ในระหว่างการเรียกใช้การสํารองข้อมูล VSS เมื่อคุณเรียกใช้แบบสอบถามต่อไปนี้:
SELECT 1 FROM SYS.AVAILABILITY_REPLICAS AS AR INNER JOIN SYS.DATABASES AS D ON DB_ID(N'TargetDatabase') = D.DATABASE_ID AND AR.REPLICA_ID = D.REPLICA_ID INNER JOIN SYS.DM_HADR_AVAILABILITY_REPLICA_STATES ST ON AR.REPLICA_ID = ST.REPLICA_ID AND ST.ROLE = 2
ซึ่งล้มเหลว และคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาด:208 ความรุนแรง:16, State:1ชื่อวัตถุที่ไม่ถูกต้อง 'SYS AVAILABILITY_REPLICAS'
การแก้ไข
ปัญหานี้ได้รับการแก้ไขเป็นครั้งแรกในการอัปเดตแบบสะสมของ SQL Server ต่อไปนี้
การอัปเดตสะสม 2 สําหรับ SQL Server 2012 SP2 /en-us/help/2983175
แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
บันทึกย่อสําหรับการอัปเดตนี้ถ้าคุณนําการอัปเดตนี้ไปใช้กับหนึ่งในเวอร์ชันที่แปลเป็นภาษาท้องถิ่นของ SQL Server เช่น SQL Server เวอร์ชันภาษาญี่ปุ่น คุณต้องทําตามขั้นตอนเพิ่มเติมเหล่านี้เพื่อติดตั้ง SQL Server การอัปเดต VSS Writer:
-
เรียกใช้ SQLServer2012-KB2983175-x64.exe เพื่อติดตั้งการอัปเดตแบบสะสม 2 สําหรับ SQL Server 2012 SP2
-
แยกแพคเกจโดยใช้บรรทัดคําสั่งต่อไปนี้:SQLServer2012-KB2983175-x64.exe /X:<>โฟลเดอร์เป้าหมาย
-
เตรียมสื่อการติดตั้งเดิม
-
ดําเนินการคําสั่งต่อไปนี้เพื่อนํา SQL Server VSS Writer ที่เกี่ยวข้องกับการอัปเดต:msiexec /i <เส้นทางไปยังไฟล์ sqlwriter.msi ในสื่อการติดตั้งดั้งเดิม> /l*v<ชื่อไฟล์บันทึกการตั้งค่า> PATCH=<ไฟล์ sqlwriter.msp ใน โฟลเดอร์ที่สร้างในขั้นตอนที่ 1>ตัวอย่างเช่น: msiexec /i "D:\1041_JPN_LP\x64\Setup\x64\SqlWriter.msi" /l*v C:\Temp\sqlwriter.log PATCH="C:\SQL2012SP2CU2\1033_enu_lp\x64\setup\x64\sqlwriter.msp"
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"