TFS数据库备份失败:XML文档中存在错误 - 但是哪个文档?

问题描述 投票:3回答:3

我们的夜间TFS 2012备份刚刚开始失败。直接通过TFS Express管理控制台运行时也会失败。

哪个文件实际指的是以下错误?如果我能找到它然后我应该能够修复“Root元素丢失”错误:)

[13/08/2014 23:00:00] [Info] Full database backup job
[13/08/2014 23:00:00] [Info] Getting backup lock
[13/08/2014 23:00:05] [Error] 
Exception Message: There is an error in XML document (0, 0). (type   InvalidOperationException)
Exception Stack Trace:    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at Microsoft.TeamFoundation.Admin.BackupSets.Load(String folder)
   at Microsoft.TeamFoundation.Admin.Jobs.FullDatabaseBackupJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime jobQueueTime, String& resultMessage)

Inner Exception Details:

Exception Message: Root element is missing. (type XmlException)
Exception Stack Trace:    at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlReader.MoveToContent()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderBackupSets.Read7_BackupSets()

[13/08/2014 23:00:05] [Info] Full Backups Failed

谢谢。

tfs backup tfs2012
3个回答
3
投票

查看配置备份的文件夹。那里会有一个XML文件,不记得名字,但也许像BackupSets.xml


6
投票

Dylan回答了我原来的问题,在哪里找到错误的未指定的xml文件,但万一它可以帮助其他人......

Backupsets.xml文件为空。为什么这是我不知道...尝试通过TFS Express管理控制台配置备份也失败了同样的错误,所以我

  1. 完全删除了Backupsets.xml文件
  2. 使用向导重新配置备份 - 现在它根本找不到xml文件,它创建了一个新文件。
  3. 完全备份 - 这是成功的。希望预定的备份现在也可以使用。

NB新创建的Backupsets.xml文件(在第一次完全备份之前):

<?xml version="1.0"?>
<BackupSets xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>1</Version>
  <BackupSets />
</BackupSets>

0
投票

FIX(用户解决方法):

  1. 重命名备份目标文件夹中的BackupSets.xml文件
  2. 重新运行完全备份* 在TFS管理员控制台中,选择“预设备份”,然后单击“立即执行完全备份”。或根据需要使用命令行,PowerShell脚本,API调用。

原因:备份目标中的backupsets.xml不包含有效的XML。

  • 为什么这会导致失败?备份向导打开backupsettings.xml,然后调用XML反序列化函数System.Xml.Serialization.XmlSerializer.Deserialize准备添加新条目。无效的XML内容(包括空/零字节或纯文本内容)将导致反序列化异常。

影响的产品:Repro在TFS2010和2017-11-25确认我使用TFS2015 SP3进行了复制:-O

修复是相当简单的......一旦你了解了正在发生的事情。 -Zephan


MICROSOFT CODE BUGFIX /功能改进要求:

backupsets.xml的BACKUP向导异常处理反序列化或解析异常。

  • 如果XML反序列化错误然后关闭backupsets.xml,请将其重命名为backupsets -YYMMDD -hhmm-corrupt-backup.xml,然后跳转到找不到backupsets.xml文件的功能。

严重性:高(数据丢失)

  • 这是一个长期存在的问题,可能导致重大数据丢失。我个人看到超过1个月的数据丢失是由于这个问题无声地阻止备份并使所有早期的恢复集都无法使用(因为解析BackupSets.xml非常挑剔我甚至不能破解恢复上次成功的备份。)
© www.soinside.com 2019 - 2024. All rights reserved.