这是我们的问题,当使用 SSRS Report Builder 时,我们能够成功连接到我们的数据源而没有任何错误,但是当我们尝试连接到数据集时,我们收到以下错误。一切正常,这个问题大约在两周前才开始出现。除了尝试访问报告服务器上的数据集外,一切都运行正常。我们在 Web 客户端中运行报告时没有收到任何错误。任何尝试使用 Report Builder 连接到服务器然后查看数据集的 PC 都会发生此错误。
我们对此进行了一些研究,试图解决该问题。我们已将 Report Servers Personal 证书存储下的每个证书导出到本地计算机。我们已检查以确保所有证书均未过期。我们已检查 SQL Server 配置管理器中网络协议属性中选择的证书。有两个可能的证书可供选择,我们已尝试过它们。(每次尝试后重新启动服务)。我们已检查 DNS 和 DHCP 中的所有记录以确保没有错误。我们还检查了每个证书上的 CN 和主题备用名称,以确保它们对于各自的域是正确的。
我认为问题可能是两个域的证书太多。我们使用公共域和私有域连接到服务器,因此我们拥有这两个域的证书。IIS 中实际上总共有三个证书。一个用于公共域,由 GoDaddy 颁发。一个是用于我们私有域的自签名证书,第三个是我们内部证书颁发机构为我们的私有域颁发的证书。在 SQL Server 配置管理器下只能访问这两个私有域证书,但我们通常通过公共域连接到服务器。
我们需要删除任何证书吗?我们如何让报表生成器中的数据集正确连接?可能值得注意的是,我们只有在查看报表生成器中的数据集属性时才会收到此错误。SSMS 连接没有问题,RDP 连接没有问题,我们的 Web 服务器连接没有任何问题。
各种证书的截图。黑色框表示私有域,红色框表示公共域。
答案1
对于遇到相同问题的人,以下是我们在这种情况下解决问题的方法。根本原因不是证书。它实际上是报告中使用的数据源。最初配置报告服务器时,为我们创建的数据源的连接类型为“Microsoft Azure SQL 数据库”,我们将连接类型更改为“Microsoft SQL 数据库”,因为我们不是由 Azure 托管的。这解决了错误。