2010-12-21 128 views
2

全部 -SSRS 2008 R2订阅不发送

我最近将生产环境从Sql Server Reporting Services 2005升级到了2008 R2。随着升级,我已配置SSRS 基于表单的身份验证并已成功设置了Reporting Services的所有部分,除了一件事,订阅失败。

重要的事情要记住:

  1. 我已经从旧环境拉到报表服务器数据库,并恢复了关键,所以我知道的信息可以被读取。
  2. 如果订阅设置为只发送链接到报告,电子邮件将发送。 (所以这使我相信SMTP配置是正确的)。
  3. 所有报告在与Reporting Services绑定的应用程序中访问时都有效。
  4. 我们已经尝试更新无人参与执行帐户,但没有做任何更改。
  5. 我已经验证SQL Browser服务正在运行,并且防火墙具有SQL Browswer异常及端口1434

任何意见或帮助在这个问题上,将不胜感激。我们几天前一直在研究这个问题,我们希望尽快完成这个问题。

是在错误日志中产生的错误是:

错误:错误发送电子邮件。 Microsoft.ReportingServices.Diagnostics.Utilities.RSException:调用授权扩展时发生错误。 ---> Microsoft.ReportingServices.Diagnostics.Utilities.AuthorizationExtensionException:调用授权扩展时发生错误。 ---> System.Web.HttpException:无法连接到SQL Server数据库。 ---> System.Data.SqlClient.SqlException:建立到SQL Server的连接时发生网络相关或实例特定的错误。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供商:SQL网络接口,错误:26 - 错误定位服务器/实例指定)

回答

0

好吧,大家玩耍,我能够想出一个解决办法。当然,这不是整体解决方案,但它解决了我们的问题。

在深入了解自定义安全DLL后,我发现在Authorization类的Report Operations的CheckAccess()方法中生成了一个异常。我决定把它变成“真实”,以通过它,看看它会把我带到哪里。成功!当然,这个修复包含一些安全风险,但是我们当前的环境隐藏了防火墙后面的报告服务器,并且每个登录的员工都有权查看报告。

这里有几个CheckAccess()方法来限制对Reporting Services某些方面的访问,而我只需要打开Report Operations。