2

恢复 TFS 数据库时出错

我已经使用 Team Foundation Server 管理控制台安排了我们的 Team Foundation 服务器的备份。每天晚上都需要进行一次完整备份,而且看起来确实如此。

现在灾难发生了,我们的 tfs 崩溃了,我正在使用 tfs 2012 设置一个新的 Windows 服务器。幸运的是我有备份......但是......

恢复备份似乎并不容易。当我恢复时,我收到以下错误消息:

TF401001: 数据库的还原操作...失败。请参阅日志以获取更多信息

我为每个数据库(ReportServer、ReportServerTempDB、Tfs_warehouse、tfs_defaultcollection、TFS_configuration)都得到了这个。

查看日志文件:

[Info @09:07:33.420] 恢复数据库 [Tfs_Configuration] 从磁盘 = N'\\172.16.46.234\Backup_TeamFS.crashed\Tfs_Configuration_9858508765097608601L.trn' 恢复,NOUNLOAD,STATS = 10,STOPATMARK = N'TfsMarkTfpt
[错误@09:07:33.514] TF401001:数据库 Tfs_Configuration 的还原操作失败。请参阅日志以获取更多信息
[错误@09:07:33.514]
异常消息:数据库“Tfs_Configuration”不存在。RESTORE 只能在还原主文件的完整备份或文件备份时创建数据库。
RESTORE DATABASE 异常终止。(类型 SqlException)
SQL 异常类:16
SQL 异常号:3118
SQL异常过程:
SQL 异常行号:1
SQL 异常服务器:TEAMFS
SQL 异常状态:1
SQL 错误:
SQL 错误 [1]:System.Data.SqlClient.SqlError:RESTORE DATABASE 异常终止。
    班级:16
    编号:3013
    服务器:TEAMFS
    来源:.Net SqlClient 数据提供者
    状态:1
    程序:
    行号:1

异常数据字典:
HelpLink.ProdName = Microsoft SQL Server
HelpLink.EvtSrc = MSSQLServer
HelpLink.EvtID = 3118
HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink
HelpLink.LinkId = 20476


异常堆栈跟踪:在 Microsoft.TeamFoundation.Admin.SqlDatabaseBackupRestoreComponent.Execute(String sqlStatement)
   在 Microsoft.TeamFoundation.Admin.SqlDatabaseRestore.Restore(字符串连接字符串)
   在 Microsoft.TeamFoundation.Admin.RestoreFactory.RestoreLogs(ActivityContext 上下文,字符串服务器名称,字符串数据库名称,字符串路径,列表`1 备份链,布尔 useMarkAtEnd,Int32 minPercent)
   在 Microsoft.TeamFoundation.Admin.RestoreDatabases.Run(ActivityContext 上下文)

但是,我完全确定我确实有完整的备份。查看备份中的日志文件:

[9/1/2013 10:24:44 PM] [信息] 开始完整备份
[9/1/2013 10:24:44 PM] [信息] 采取完整备份服务器:TEAMFS 数据库:Tfs_Configuration 文件名:\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak
[9/1/2013 10:24:44 PM] [信息] 备份数据库 [Tfs_Configuration] 到磁盘 = N'\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak' 带有 NOFORMAT、NOINIT、NOSKIP、倒带、NOUNLOAD、STATS = 10
[9/1/2013 10:32:17 PM] [信息] 数据库 Tfs_Configuration 备份完成
[9/1/2013 10:32:17 PM] [信息] 完成完整备份服务器:TEAMFS 数据库:Tfs_Configuration 文件名:\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak

更新 我只安排备份进行完整备份,而不是增量备份。也许与此有关?

4

2 回答 2

2

我们已经做到了,所以我将分享我的经验..

所以你有备份..

此外,您还有一个全新的操作系统和 TFS 安装文件(在我们的例子中是 TFS 2013)

  1. 双击安装文件。

  2. 安装完成后,理想情况下,MSDN 会告诉您关闭窗口,然后在 TFS CONSOLSE 中,您必须转到计划备份以还原哪个 FAILS,因此以下方法将帮助您解决问题:

一个。通过 SQL 管理控制台恢复配置和团队集合数据库

湾。打开 TFS 管理控制台

C。单击应用程序层并配置此功能

d。以管理员身份运行 CMD 并运行以下命令: TFSConfig Accounts /add /AccountType:ApplicationTier /Account:"NT Authority\Network Service" SQLInstance:ServerName /DatabaseName:TFS_Configuration

e. 然后只需按照步骤 c 中工具中的下一个按钮。

干杯

于 2015-01-10T06:23:59.180 回答
1

这就是我如何解决这个问题。使用您的 SQL 管理工具来恢复备份文件。它们就像常规的数据库备份文件一样,因此您只需像对待它们一样对待它们。

完成后,您可以在 TFS 控制台中查看您的集合。

在此过程中,您可能会遇到一些错误。

我得到的一个缺少一个集合。在进入 TFS 控制台之前,您需要还原所有内容。

顺便说一句,完成后,重新启动您的 TFS 服务或整个服务器,否则您可能会遇到另一个错误,例如找不到对象引用。

查看此博客以寻求帮助。

顺便说一句,我认为你这样做的原因是因为你试图将 TFS 恢复到不同的服务器。

您只需要从 TFS 安装重新安装应用程序层。我花了很长时间才弄清楚。

于 2013-10-18T00:34:14.303 回答