ระบบตรวจสอบบนเซิร์ฟเวอร์หนึ่งที่รัน Windows Server 2016 เริ่มส่งข้อความผิดพลาดของ Volume Shadow Copy Service พร้อม Event ID 8193 และแหล่งที่มาเป็น VSS หลายข้อความ คำอธิบายข้อผิดพลาดเต็มรูปแบบใน Event Viewer (Application log) มีลักษณะดังนี้:
Volume Shadow Copy Service error: Unexpected error calling routine RegOpenKeyExW (-2147483646, SYSTEM\CurrentControlSet\Services\VSS\Diag,...). hr = 0x80070005, Access is denied. Operation: Initializing Writer Context: %MINIFYHTMLb5bdc426b817a5035bf92ebd42cdf8ae5%Writer Class Id: {e8132975-6f93-4464-a53e-1050253ae220} Writer Name: System Writer Writer Instance ID: {4f096fb4-2e00-4864-aa8f-885aa9186850}

ในเวลาเดียวกัน เซิร์ฟเวอร์ทำงานปกติ ไม่มีปัญหาที่มองเห็นได้กับบริการหรือแอปพลิเคชัน ไม่มีข้อผิดพลาดในรายการโมดูล VSS สำหรับ Instance ID ของ VSS Writer
vss list writers

VSS EventID 8193 เป็นข้อผิดพลาดที่รู้จักกันดี ซึ่งโดยทั่วไปเกี่ยวข้องกับการติดตั้งบทบาท DHCP บนเซิร์ฟเวอร์ที่รัน Windows Server 2008 (หรือใหม่กว่า) ทำให้บัญชี Network Service สูญเสียสิทธิ์บนคีย์รีจิสทรี HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Diag
ปัญหานี้เกี่ยวข้องกับการติดตั้งโมดูล VSS – DHCP Jet Writer ซึ่งรับผิดชอบการสร้าง Shadow Copy ของบริการ DHCP อย่างถูกต้อง โมดูล VSS นี้เปลี่ยนสิทธิ์บนคีย์รีจิสทรีที่ระบุระหว่างการติดตั้ง
เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องให้สิทธิ์ Full Control แบบมืออาชีพสำหรับ Network Service บนคีย์ที่ระบุ
- เปิด Registry Editor (
regedit.exe); - ไปที่คีย์รีจิสทรี HKLM\SYSTEM\CurrentControlSet\services\VSS\Diag และเปิดสิทธิ์ของมัน (ตัวเลือก Permissions ในเมนูบริบท);
- ค้นหา Network Service ในรายการและกำหนดสิทธิ์ Full Control

แทนที่จะแก้ไขรีจิสทรีด้วยตนเอง จะถูกต้องกว่าที่จะกู้คืนสิทธิ์เริ่มต้นบนคีย์รีจิสทรีโดยใช้เครื่องมือ CLI מיוחד – SubInACL ดาวน์โหลดและติดตั้ง (หากยังไม่ได้ทำ) และรันคำสั่งต่อไปนี้:
cd “C:\Program Files (x86)\Windows Resource Kits\Tools”
subinacl.exe /Subkeyreg System\CurrentControlSet\Services\VSS\Diag /sddl=D:PAI(A;;KA;;;BA)(A;;KA;;;SY)(A;;CCDCLCSWRPSDRC;;;BO)(A;;CCDCLCSWRPSDRC;;;LS)(A;;CCDCLCSWRPSDRC;;;NS)(A;CIIO;RC;;;OW)(A;;KR;;;BU)(A;CIIO;GR;;;BU)(A;CIIO;GA;;;BA)(A;CIIO;GA;;;BO)(A;CIIO;GA;;;LS)(A;CIIO;GA;;;NS)(A;CIIO;GA;;;SY)(A;CI;CCDCLCSW;;;S-1-5-80-3273805168-4048181553-3172130058-210131473-390205191)(A;ID;KR;;;AC)(A;CIIOID;GR;;;AC)S:ARAI
ใน Windows Server 2008 R2 คำสั่งจะมีลักษณะดังนี้ (ตาม Microsoft KB):
subinacl.exe /Subkeyreg System\CurrentControlSet\Services\VSS\Diag /sddl=O:SYG:SYD:PAI(A;;KA;;;BA)(A;;KA;;;SY)(A;;SDGRGW;;;BO)(A;;SDGRGW;;;LS)(A;;SDGRGW;;;NS)(A;CIIO;RC;;;S-1-3-4)(A;;KR;;;BU)(A;CIIO;GR;;;BU)(A;CIIO;GA;;;BA)(A;CIIO;GA;;;BO)(A;CIIO;GA;;;LS)(A;CIIO;GA;;;NS)(A;CIIO;GA;;;SY)(A;CI;CCDCLCSW;;;S-1-5-80-3273805168-4048181553-3172130058-210131473-390205191)
จากนั้นแทนที่สิทธิ์บนออบเจ็กต์ลูก (nested objects) ใน Registry Editor เพื่อทำเช่นนี้ ให้เปิดคุณสมบัติคีย์รีจิสทรี Diag และคลิก "Permissions" → "Advanced" → "Replace all child object permissions" 
จากนั้นแค่รีสตาร์ท Windows ของคุณ
PS. ขณะเขียนบทความนี้ ผมพบว่ามีข้อผิดพลาด VSS อีกอย่างหนึ่งที่มี EventID 8193 เหมือนกัน (!!!) และคำอธิบายดังนี้:
Volume Shadow Copy Service error: Unexpected error calling routine ConvertStringSidToSid(S-1-5-21-2470146651-3958396388-212345117-21232.bak). hr = 0x80070539,The security ID structure is invalid. Operation: OnIdentify event Gathering Writer Data Context: Execution Context: Shadow Copy Optimization Writer Writer Class Id: {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f} Writer Name: Shadow Copy Optimization Writer Writer Instance ID: {5e5d68e6-9c97-4af6-a09f-bb2db4c65058}.
เพื่อให้บทความครบถ้วน ผมจะอธิบายวิธีแก้ไขปัญหานี้ด้วย
ข้อผิดพลาดนี้ไม่อนุญาตให้คุณสร้าง system state backup หรือสำรองข้อมูล Hyper-V VMs (ผ่าน Windows Server Backup) ซึ่งนำไปสู่ข้อผิดพลาด: "0x80042308: The specified object was not found"
ปัญหานี้แก้ไขได้แตกต่างกันและเกี่ยวข้องกับรายการที่ไม่ถูกต้องในคีย์รีจิสทรีของโปรไฟล์ HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList ปัญหาเกิดขึ้นเนื่องจากบริการ VSS (Shadow Copy Optimization Writer component) ไม่พบโปรไฟล์ผู้ใช้ที่มี SID ลงท้ายด้วย .bak และส่งคืนข้อผิดพลาด คุณต้องลบคีย์รีจิสทรีที่แสดงในคำอธิบายของเหตุการณ์ ConvertStringSidToSid (S-1-5-21-2470146651-3958396388-212345117-21232.bak)
- เปิด
regedit.exe; - ไปที่ HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList;
- ค้นหาและลบคีย์รีจิสทรีที่มีลำดับ .bak;

- รีสตาร์ทคอมพิวเตอร์ของคุณและลองรันงานสำรองข้อมูลอีกครั้ง