【问题标题】:Team Foundation Server 2017 - Database Restore failingTeam Foundation Server 2017 - 数据库还原失败
【发布时间】:2018-08-16 04:52:47
【问题描述】:

我正在运行 TFS 2017/18 的灾难恢复过程,并尝试将数据库恢复到与 TFS 管理工具位于同一台计算机上的 SQL Server 2016 实例。

我正在使用 TFS 管理工具进行完整备份并恢复它们。

问题是在 ReportServer 和 ReportServerTmp DB 恢复后,TFS_Warehouse 和其他 TFS_ 数据库在执行恢复时挂起。

日志文件显示错误消息:用户 'domain\machinename$' 登录失败 原因:无法打开明确指定的数据库 'ReportServer'。 [客户:]

SQL Server 具有 NT 授权/网络服务帐户,我也尝试将其指定为“域\机器名 $”。

我已经将它与另一个标准安装了 SQL Server 和 TFS Server 的虚拟机进行了比较,我看不出有任何明显的区别。

有没有人知道这个问题的解决方案? 问候

【问题讨论】:

  • 更新:如果我使用 SSMS 并手动恢复它工作的每个数据库。但是,我了解推荐的过程是使用 TFS 管理工具进行恢复。

标签: tfs


【解决方案1】:

基于错误消息“Login Failed for user 'domain\machinename$' Reason: Failed to open the explicitly specified database 'ReportServer'. [CLIENT: ]”。

似乎相关数据库已被删除(数据库丢失)或有任何服务试图访问不存在的数据库。 这意味着您没有正确恢复数据库,或者您没有真正正确地完整备份数据库。而当你使用SSMS手动恢复每个数据库时,相关的数据库又重新上线了,这样就可以了。

是的,我们建议使用计划备份功能向导来备份或恢复数据库。但是您需要注意以下事项:

您可以使用对原始部署所做的备份来恢复 从该部署到新服务器的数据。 恢复时 数据,请务必将所有数据库和 SharePoint 场还原到 同一时间点。如果您遵循 Create a backup schedule and plan 中的指导,您可以使用计划备份功能来 创建您的备份。您将使用这些备份来恢复您的数据。

如果您手动配置备份,则无法使用还原 计划备份中的向导来还原这些数据库。你必须 使用您用来备份它们的软件手动恢复它们。

来源:Restore the databases

一般情况下,我们可以使用 SQL Server Profiler 来跟踪错误,然后进行相应的调试。在 SQL Server Management Studio 中,选择工具菜单,然后选择带有审计登录/注销的 SQL 事件探查器,选择用户错误消息事件并检查登录失败的相关条目。有关详细信息,请参阅以下主题:


更新:

账号问题请参考本文所需权限部分:Restore the databases。只需将 TFS service account 添加为 sysadmin 角色,然后再试一次。

所需权限

要执行这些程序,您必须是以下成员 组或具有以下权限:

  • 服务器上 Administrators 安全组的成员。
  • SQL Server 系统管理员 安全组的成员,或者您的 SQL Server 执行备份和创建维护
    计划
    权限必须设置为允许
  • Team Foundation 数据库的 sysadmin 安全组成员。
  • 农场管理员组的成员。

【讨论】:

  • 您好,谢谢,没有丢失的数据库,备份是在 TFS 管理工具中完成的。由于帐户不正确,它不会恢复这些备份。我正在尝试确定帐户应该是什么:)
  • @AndyW 是的,这是我提到“That means you did not restore the databases correctly or you did not really full back up the databases correctly”的可能性之一。通常您需要分析日志然后进行相应的调试。有关帐户问题,请参阅更新的答案。顺便说一句,如果回复对您有帮助,您可以投票并Accept it as an Answer,这可能对阅读此主题的其他社区成员有益。
  • 嗨 - 如果我使用 SQL restore 恢复数据库,它们都可以正确恢复,只有当我使用 tfs 工具恢复时,它们才不会恢复。该工具正在使用不存在的帐户连接到 SQL Server。它与备份的质量无关。 SQL 日志显示未找到帐户 - 不是无效备份 :)
  • @AndyW 是的,这是帐户问题,您需要将您的服务帐户添加到更新答案中提到的相应组中。
  • 问题未解决。但是,为了测试我手动恢复每个数据库,我意识到这可能会导致跨多个数据库的事务出现问题。我的服务帐户设置正确。但是,值得注意的是,在恢复数据库时,此阶段不存在应用程序层。 TFS 备份/恢复过程与此分开 - 我不知道它使用什么帐户(本地帐户除外)。我相信这可能是一个已知的 TFS 错误
猜你喜欢
  • 2020-01-18
  • 2013-09-09
  • 2018-12-14
  • 2013-09-30
  • 2023-04-11
  • 2012-05-29
  • 2018-06-24
  • 1970-01-01
  • 2016-10-04
相关资源
最近更新 更多