对ReportServerTempDB的重新创建进行故障排除

时间:2016-11-30 23:01:10

标签: sql-server sql-server-2008 sql-server-2008-r2

决定参见编辑: 像一个总菜鸟我偶然删除了我们的ReportServerTempDB(我有一个ReportServer的备份,但没有ReportServerTemp,实时和学习)。 (使用SQL Server 2008 R2)

为了重新创建数据库,我按照几个在线指南进行了几个步骤:

  • 创建了一个名为ReportServerTempDB的新数据库,并使用与ReportServer相同的排序规则(排序规则是关键)
  • 创建了一个名为RSExecRole的新数据库角色,其用户与我的ReportServer相同(也是确保此角色对表具有正确权限的关键)
  • 运行了CatalogTempDB脚本,该脚本顺利运行(CatalogTempDB的版本不足以重新创建所有必需的对象)。
  • 使用Reporting Services配置管理器更改数据库并选择ReportServer
  • 关闭好的措施并在SQL Server Reporting Services上进行几次

但是当我尝试加载Reporting Services主页时,我仍然收到错误消息: 报表服务器数据库中发生错误。这可能是由于数据库中的连接失败,超时或磁盘状况不佳所致。 (rsReportServerDatabaseError)有关此错误的详细信息,请导航到本地服务器计算机上的报表服务器,或启用远程错误

我忘记了什么?作为替代方案,我可以简单地“创建一个新的报表服务器数据库”并导入我原始ReportServer的备份吗? TIA

编辑:我查看了RSExecRole并确保它有权编辑表并执行存储过程(在线资源没有非常清楚地说明这一点)并且在重新启动Reporting Services之后我的错误已更改为“内部发生错误”报告服务器数据库。这可能是由于... 无效的对象名称“ReportServerTempDB.dbo.TempCatalog”。由于绑定错误,无法使用视图或函数“ExtendedCatalog”。“ 进一步阅读建议将临时报表服务器的名称硬编码到ReportServer中的许多存储过程中,但我的新临时报表服务器具有相同的名称:ReportServerTempDB。断开连接在哪里?

EDIT2:所以我使用的脚本CatalogTempDB没有创建重建我的临时Report Server数据库所需的所有表。我创建了一个新的Report Server和ReportServerTempDB(更改了名称),并将使用CatalogTempDB构建的ReportServerTempDB中的对象与SQL向导创建的对象进行了比较。然后使用导入向导添加缺少的表并使用我的原始文件重新启动Report Service。瞧。

很高兴提供有关这些步骤的更多详细信息。

1 个答案:

答案 0 :(得分:0)

为了重新创建数据库,我按照几个在线指南进行了几个步骤:

  • 创建了一个名为ReportServerTempDB的新数据库,并使用与ReportServer相同的排序规则(排序规则是关键,您需要在创建数据库时分配它)
  • 创建了一个名为RSExecRole的新数据库角色,其用户与我的ReportServer相同(也是确保此角色对表和存储过程具有正确权限的关键)
  • 运行了CatalogTempDB脚本,该脚本顺利运行(CatalogTempDB的版本不足以重新创建所有必需的对象,缺少几个表)
  • 要替换丢失的表,我创建了第二个ReportServer实例(使用Reporting Services配置管理器),并将临时数据库与我重新构建的临时数据库进行了比较并填入了漏洞

故事的道德:保持对ReportServer和ReportServerTempDB的支持