恢复数据库后SSRS共享数据源测试连接失败求助
遇到过类似的棘手情况,给你几个实际有效的排查方向:
重新同步共享数据源的凭据
恢复数据库备份后,报表服务器存储的凭据可能和新环境的关联关系失效了。建议重新编辑这个共享数据源,哪怕是同一个账户,也重新输入一遍凭据并保存,之后再测试连接。有时候SSRS会缓存旧的凭据加密关联信息,重新输入能强制刷新这个关联。检查报表服务器服务账户的权限
虽然用户本身有connect和select权限,但SSRS服务运行的账户(也就是Reporting Services服务的登录账户)也需要对恢复后的数据库有基础访问权限。确认这个服务账户是否能访问目标数据库服务器,以及是否拥有恢复后数据库的读取权限。修复数据库用户与服务器登录的映射关系
恢复备份后很容易出现“孤立用户”——数据库里的用户和服务器层面的登录账户失去了映射。你可以在SSMS里执行以下命令检查:USE [你的恢复数据库名]; EXEC sp_change_users_login 'Report';如果查到孤立用户,用这条命令修复映射:
USE [你的恢复数据库名]; EXEC sp_change_users_login 'Auto_Fix', '你的用户名';验证SSRS加密密钥状态
SSRS靠加密密钥存储数据源凭据这类敏感信息。恢复数据库备份后,如果加密密钥没有同步恢复,或者和当前报表服务器的密钥不匹配,就会导致无法解密存储的凭据。你可以打开报表服务器配置管理器,尝试还原之前备份的加密密钥;如果密钥丢失,只能重新生成密钥(注意:重新生成会清空所有加密的敏感信息,需要重新配置所有带凭据的数据源)。查看SSRS详细错误日志
界面上的通用错误提示没什么用,去SSRS安装目录下的LogFiles文件夹找最近的日志文件,搜索测试连接失败的时间点,里面会有具体的错误原因——是权限不足、凭据解密失败还是数据库连接字符串的问题,一目了然。
内容的提问来源于stack exchange,提问作者ZyxwvuTJ

