在使用Windows Server Backup或者其他基于VSS(卷影复制服务)的备份软件时,细心的管理员会在事件查看器里发现一条ID为1101的事件:“备份操作已完成,但有警告”。这条消息乍看让人心里一紧,备份到底成功还是失败了?跳过的那些文件会不会影响将来的恢复?实际上,这条警告的含义是备份任务整体执行完毕,但备份过程中有一部分文件或组件没有被正确处理。本文将从日志解读、原因分析、排查步骤和解决方案几个方面,完整讲清楚如何应对这个问题。

事件ID 1101到底在告诉你什么
事件ID 1101的来源通常是Windows Server Backup(事件源显示为Backup),日志位置在事件查看器的“应用程序和服务日志”->“Microsoft”->“Windows”->“Backup”->“Operational”中。它的完整描述一般是“备份操作已完成,但有警告”,紧跟着会列出被跳过的文件或未成功备份的组件路径。
需要特别区分的是另外两个相关事件:ID 4165或70表示备份成功无警告,ID 5或4164代表备份失败。1101处于两者之间——备份镜像本身是可用的,恢复操作可以执行,但被警告列出的文件不在备份集中。也就是说,如果这些文件恰好是关键业务数据,一旦需要恢复就会出问题,所以不能简单忽略。
事件详情中最重要的信息是文件路径列表。建议点开事件的“详细信息”选项卡,查看XML视图中的<EventData>节点,里面逐条列出了无法读取的文件完整路径,这是后续排查的直接线索。
引发备份警告的常见原因分析
第一类原因是文件被独占锁定。最典型的就是数据库文件、虚拟机磁盘文件、正在写入的日志文件。VSS在创建快照时会请求写入者(Writer)配合冻结写入,如果某个应用程序没有注册对应的VSS写入器,或者写入器超时,VSS就会回退到简单的文件级复制,此时被锁定的文件就会读取失败。
第二类原因是权限问题。备份账户如果没有某些目录的读取权限,或者文件被EFS加密而备份进程没有对应的解密密钥,都会导致文件被跳过。此外,路径过长超过260字符限制、文件名包含特殊字符,也可能触发同样的警告。
第三类原因是卷影副本存储区域不足。VSS快照默认使用系统卷上的一块保留空间(一般占卷容量的10%),如果备份期间数据变更量很大,快照空间被耗尽,VSS会删除部分快照导致部分文件读取失败。可以在管理员命令行执行下面这条命令查看当前配置:
vssadmin list shadowstorage vssadmin list writers
如果发现某个写入器处于失败状态(如“状态: 5 超时”或“不稳定”),那么警告基本可以确定与该写入器对应的应用有关。
排查步骤:从事件日志定位到具体文件
排查的第一步是收集信息。打开事件查看器,按上面提到的路径筛选事件ID 1101,双击打开查看“常规”和“详细信息”两个选项卡,把被跳过的文件路径全部复制出来。如果路径较多,可以用PowerShell批量导出:
Get-WinEvent -LogName "Microsoft-Windows-Backup/Operational" |
Where-Object {$_.Id -eq 1101} |
Select-Object TimeCreated, Message |
Format-List | Out-File C:\backup_warning.txt第二步是分析文件路径的规律。如果跳过的全部是同一个应用的数据目录,比如SQL Server的数据文件或Hyper-V的虚拟磁盘,说明问题出在该应用的VSS写入器;如果是零散的用户文件,多半是文件被占用或权限问题;如果是pagefile.sys、hiberfil.sys这类系统文件,则属于正常现象,可以忽略。
第三步验证写入器健康状态。在备份前手动执行vssadmin list writers,确认所有写入器状态都是“稳定”。如果发现某个写入器报错,重启对应的Windows服务(例如SQL Server VSS Writer服务)通常可以恢复。也可以重启服务器解决大部分写入器卡死的问题,但要安排在维护窗口进行。
针对性解决方案与预防措施
针对数据库类应用,正确做法是不要直接备份原始数据文件,而是确保对应的应用感知备份已经启用。例如备份SQL Server应确认SQL Server VSS Writer服务正在运行;备份Hyper-V虚拟机应使用“虚拟机备份”模式而不是直接复制VHDX文件。使用Windows Server Backup时,可以执行下面命令确认备份配置:
wbadmin get versions wbadmin start backup -backupTarget:E: -include:C: -allCritical -quiet
其中-allCritical参数会自动包含所有关键卷和系统状态,配合应用写入器可以最大限度减少警告。
针对卷影存储空间不足的情况,可以手动扩大阴影存储区上限。假设系统盘为C盘,将其阴影存储空间调整为无限制的命令如下(执行前请评估磁盘空间):
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=UNBOUNDED
针对权限和锁定问题,一方面检查备份账户对目标目录的NTFS权限,确保至少有读取权限;另一方面对确实无法备份的临时文件、缓存目录,可以在备份计划中直接排除,避免每次都产生警告干扰判断。对于路径过长的问题,可以在注册表中启用长路径支持,将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem下的LongPathsEnabled设置为1,或者干脆调整目录结构缩短路径。
最后建议建立一个定期检查机制:每周查看一次备份操作日志,重点关注1101、4164(失败)等事件,同时定期做一次恢复演练,验证备份集的可用性。备份的意义在于能恢复,只有把每一条警告都追查清楚,才能在真正需要恢复数据的时候心里有底。