报表服务器无法连接到其数据库

时间:2018-03-16 14:27:02

标签: sql-server reporting-services

我尝试配置SSRS实例,但收效甚微。

我已在服务器DWHFRONT上安装了SSRS。它在网络服务凭据下运行。在Reporting Services配置管理器的“数据库”选项卡上,我已将其设置为在DWHBACK上使用数据库,该数据库已成功创建。该连接使用域帐户DOM \ SA_DWH。我已经为DOM \ SA_DWH添加了登录服务器DWHBACK,我可以看到Reporting Services Manager将授权添加到SSRS数据库。 Configuration Manager接受这些连接参数。

但是(在设置URL,虚拟目录等之后)如果我访问DWHFRONT / Reports /的URL,我会收到一条错误消息:

  

该服务无法使用。

     

未正确配置报表服务器。请与您的系统管理员联系以解决此问题。系统管理员:报表服务器无法连接到其数据库,因为它没有权限这样做。使用Reporting Services配置管理器更新报表服务器数据库凭据。

起初我认为这可能是一个问题,因为还没有部署到SSRS实例。当我尝试部署某些东西时,我在BIDS中遇到了这个错误:

  

报表服务器无法打开与报表服务器数据库的连接。所有请求和处理都需要与数据库的连接。 ---> Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException:报表服务器无法打开与报表服务器数据库的连接。所有请求和处理都需要与数据库的连接。 (Microsoft.ReportingServices.Designer)

4 个答案:

答案 0 :(得分:4)

  1. 检查SQL日志是否有任何错误
  2. 在SQL Server上运行SQL配置文件以捕获任何连接/权限错误
  3. 尝试重新输入域帐户的权限
  4. 检查域帐户未被禁用/已锁定/密码已过期
  5. 尝试在连接Report Server DB的同一AD帐户下运行SSRS服务。
  6. 尝试在两台服务器(协议和客户端协议)上同时启用命名管道
  7. 尝试删除加密密钥并重新创建。
  8. 尝试其他域用户并检查所有数据库中的授予权限(ReportServer,ReportServer Temp,msdb),检查每个数据库中的数据库用户是否映射到有效的SID)
  9. 尝试为该AD帐户授予SQL server sysadmin权限(临时)。
  10. 检查SSRS日志是否有任何错误(如果您附加错误,则会很好)。
  11. 检查事件查看器 - >安全 - > SQL Server上的审核失败

答案 1 :(得分:0)

您是否可以执行以下测试以检查它是否可以解决您的问题?:

  1. 添加具有临时高权限的帐户[DOM \ DWHFRONT $],例如 SYSADMIN到SQL实例DWHBACK(SA是一个时间测量,在测试后要删除)
  2. 将SSRS服务帐户更改为:"本地系统"
  3. 重新创建ReportServer数据库并选择凭据:" Service Credentials"
  4. P.S。我们遇到了在网络服务凭证下运行的最新SSRS版本的问题。

答案 2 :(得分:0)

这听起来很像“双跳”问题。

这可以通过Reporting Services实例上的enabling remote errors进行确认。然后,当您连接到报告门户时,您应该看到原始错误以及“用户NTAUTHORITY \ ANONYMOUS LOGON登录失败”。如果是这样,那么很可能这是Kerberos委派问题。

当您在不同服务器上托管SSRS服务和目标数据库时,您几乎总会遇到“双跃点”问题,这将需要配置Kerberos委派以使SSRS能够重用用户凭据来访问数据库跨服务器。

Pinal Dave在SQL Server的上下文中写了一篇很好的博客。

要启用委派,首先需要确保正确配置了SPN。 Here是一个很好的实用程序来帮助解决这个问题。我会在您的SSRS服务器和数据库服务器上运行此命令,以确保两台服务器都正确配置其SPN。

配置完SPN后,您需要在Active Directory中enable delegation。这需要为您的DOM \ SA_DWH帐户完成。

答案 3 :(得分:0)

感谢所有的建议,它让我走上正轨!

域帐户SA_DWH被禁止进行交互式登录。 SSRS显然确实需要这个。交互式登录限制已解除,现在可以正常工作。