Hệ thống giám sát trên một trong các máy chủ chạy Windows Server 2016 của tôi bắt đầu gửi nhiều thông báo lỗi Dịch vụ Sao chép Bổ sung (Volume Shadow Copy Service) với Event ID 8193 và VSS là nguồn. Mô tả lỗi đầy đủ trong Event Viewer (nhật ký Application) trông như sau:
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}

Cùng lúc đó, máy chủ hoạt động bình thường, không có vấn đề rõ ràng với dịch vụ hoặc ứng dụng. Không có lỗi trong danh sách các mô-đun VSS cho Instance ID của VSS Writer.
vss list writers

VSS EventID 8193 là một lỗi đã biết thường liên quan đến việc cài đặt vai trò DHCP trên máy chủ chạy Windows Server 2008 (hoặc mới hơn) dẫn đến tài khoản Network Service mất quyền trên khóa đăng ký HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS\Diag.
Vấn đề liên quan đến việc cài đặt mô-đun VSS – DHCP Jet Writer, chịu trách nhiệm tạo bản sao chép bóng (shadow copy) chính xác cho dịch vụ DHCP. Mô-đun VSS này thay đổi quyền trên khóa đăng ký được chỉ định trong quá trình cài đặt.
Để khắc phục lỗi này, bạn phải cấp thủ công quyền Full Control cho Network Service trên khóa được chỉ định.
- Chạy Trình chỉnh sửa đăng ký (
regedit.exe); - Đi đến khóa đăng ký HKLM\SYSTEM\CurrentControlSet\services\VSS\Diag và mở quyền của nó (tùy chọn Permissions trong menu ngữ cảnh);
- Tìm Network Service trong danh sách và gán quyền Full Control.

Thay vì chỉnh sửa đăng ký thủ công, sẽ chính xác hơn nếu khôi phục quyền mặc định trên khóa đăng ký bằng công cụ CLI đặc biệt – SubInACL. Tải xuống và cài đặt nó (nếu bạn chưa làm) và chạy các lệnh sau:
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
Trên Windows Server 2008 R2, lệnh sẽ trông như sau (theo 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-210131473-390205191)
Sau đó thay thế quyền trên các đối tượng con (lồng nhau) trong Trình chỉnh sửa đăng ký. Để làm điều đó, mở thuộc tính khóa Diag reg và nhấp “Permissions” → “Advanced” → “Replace all child object permissions”.

Sau đó chỉ cần khởi động lại Windows.
PS. Khi viết bài này, tôi phát hiện ra một lỗi VSS khác với cùng EventID 8193 và mô tả sau:
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}.
Để bài viết toàn diện, tôi sẽ mô tả giải pháp cho vấn đề này cũng.
Lỗi này không cho phép bạn tạo bản sao lưu trạng thái hệ thống hoặc sao lưu VM Hyper-V (thông qua Windows Server Backup), dẫn đến lỗi: “0x80042308: The specified object was not found”.
Vấn đề này được giải quyết khác biệt và liên quan đến mục nhập không chính xác trong khóa đăng ký hồ sơ HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Vấn đề xảy ra do dịch vụ VSS (thành phần Shadow Copy Optimization Writer) không tìm thấy hồ sơ người dùng với SID kết thúc bằng .bak và trả về lỗi. Bạn cần xóa khóa đăng ký được hiển thị trong mô tả sự kiện ConvertStringSidToSid (S-1-5-21-2470146651-3958396388-212345117-21232.bak).
- Mở
regedit.exe; - Đi đến HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList;
- Tìm và xóa khóa đăng ký có hậu tố .bak;

- Khởi động lại máy tính và thử chạy tác vụ sao lưu lại.