恢复TFS数据库时出错
我已使用Team Foundation Server管理控制台安排了团队基础服务器的备份。它需要每晚完整备份,看起来确实如此。
现在发生了灾难,我们的tfs崩溃了,我正在用tfs 2012建立一个新的Windows服务器.Luckely我有备份......但是......
恢复备份似乎并不那么容易。 当我恢复时,我收到以下错误消息:
TF401001:数据库的还原操作...失败。有关更多信息,请参阅日志
我为每个数据库(ReportServer,ReportServerTempDB,Tfs_warehouse,tfs_defaultcollection,TFS_configuration)都得到了这个。
查看日志文件:
[Info @09:07:33.420] RESTORE DATABASE [Tfs_Configuration] FROM DISK = N'\\172.16.46.234\Backup_TeamFS.crashed\Tfs_Configuration_9858508765097608601L.trn' WITH RECOVERY, NOUNLOAD, STATS = 10, STOPATMARK = N'TfsMarkTfpt' [Error @09:07:33.514] TF401001: The restore operation for database Tfs_Configuration failed. Please refer to the logs for more information [Error @09:07:33.514] Exception Message: The database "Tfs_Configuration" does not exist. RESTORE can only create a database when restoring either a full backup or a file backup of the primary file. RESTORE DATABASE is terminating abnormally. (type SqlException) SQL Exception Class: 16 SQL Exception Number: 3118 SQL Exception Procedure: SQL Exception Line Number: 1 SQL Exception Server: TEAMFS SQL Exception State: 1 SQL Error(s): SQL Error[1]: System.Data.SqlClient.SqlError: RESTORE DATABASE is terminating abnormally. Class: 16 Number: 3013 Server: TEAMFS Source: .Net SqlClient Data Provider State: 1 Procedure: Line Number: 1 Exception Data Dictionary: HelpLink.ProdName = Microsoft SQL Server HelpLink.EvtSrc = MSSQLServer HelpLink.EvtID = 3118 HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink HelpLink.LinkId = 20476 Exception Stack Trace: at Microsoft.TeamFoundation.Admin.SqlDatabaseBackupRestoreComponent.Execute(String sqlStatement) at Microsoft.TeamFoundation.Admin.SqlDatabaseRestore.Restore(String connectionString) at Microsoft.TeamFoundation.Admin.RestoreFactory.RestoreLogs(ActivityContext context, String serverName, String databaseName, String path, List`1 backupChain, Boolean useMarkAtEnd, Int32 minPercent) at Microsoft.TeamFoundation.Admin.RestoreDatabases.Run(ActivityContext context)
但是,我完全确定我有完整的备份。查看备份中的日志文件:
[9/1/2013 10:24:44 PM] [Info] starting full backups [9/1/2013 10:24:44 PM] [Info] Taking Full Backup server:TEAMFS database:Tfs_Configuration filename:\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak [9/1/2013 10:24:44 PM] [Info] BACKUP DATABASE [Tfs_Configuration] TO DISK = N'\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10 [9/1/2013 10:32:17 PM] [Info] Backup Complete for database Tfs_Configuration [9/1/2013 10:32:17 PM] [Info] Finished Full Backup server:TEAMFS database:Tfs_Configuration filename:\\172.16.46.234\Backup_TeamFS\Tfs_Configuration_9858508747697505276F.bak
更新 我只安排了备份来进行完整备份,而不是增量备份。也许与此有关?
答案 0 :(得分:2)
我们设法做到这一点,所以我将分享我的经验..
所以你有备份..
此外,您还有一个全新的操作系统和TFS安装文件(在我们的案例中为TFS 2013)
双击安装文件。
安装完成后,理想情况下,MSDN会告诉您关闭窗口,然后在TFS CONSOLSE中,您必须转到计划备份以恢复哪个FAILS以下方法将帮助您解决问题:
< / LI> 醇>一个。通过SQL管理控制台
恢复配置和团队集合数据库湾打开TFS管理控制台
℃。单击“应用程序层”并配置此功能
d。以管理员身份运行CMD并运行以下命令: TFSConfig Accounts / add / AccountType:ApplicationTier / Account:“NT Authority \ Network Service”SQLInstance:ServerName / DatabaseName:TFS_Configuration
即然后,只需按照步骤c中工具中的下一个按钮。
干杯
答案 1 :(得分:1)
以下是我如何解决这个问题。使用SQL管理工具还原备份文件。它们就像常规的数据库备份文件一样,所以你只需要像对待它们一样。
完成后,您可以在TFS控制台中查看您的馆藏。
您可能会在此过程中遇到一些错误。
我得到的是缺少一个集合。您需要在转到TFS控制台之前恢复所有内容。
顺便说一下,完成后,重新启动TFS服务或整个服务器,否则可能会遇到另一个错误,例如无法找到对象引用。查看此blog以寻求帮助。
顺便说一下,我假设您这样做的原因是因为您尝试将TFS还原到其他服务器。
您只需要从TFS安装重新安装应用程序层。我花了很长时间才弄明白。