如何排查 SQL Server 2005 报表服务中的 IIS 配置问题

文章翻译 文章翻译
文章编号: 958998 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

本文介绍如何解决在 Microsoft SQL Server 2005 报告服务 Internet Information Services (IIS) 配置问题。

本文主要写入帮助您诊断报告服务本机模式下的 IIS 6.0 配置问题。这篇文章通常还适用于 IIS 5.0 和 IIS 7.0。但是,某些诊断步骤可能会写入仅对 IIS 6.0 例如,若要通过使用 IIS 管理器验证 Microsoft ASP.NET 安装步骤。 本文还讨论了一些常见的配置问题与身份验证、 asp.net,和使用 Internet Explorer。

更多信息

1 的一般方法

IIS 配置问题通常显示为故障连接到或执行报表服务器或报表管理器中。若要成功诊断这些配置问题,您必须查看报表服务和报表服务与 IIS 集成方式的体系结构。这篇文章尝试识别常见的 IIS 配置问题可能导致故障报告服务。此外讨论了一些非 IIS 问题。

1.1 请求流

从用户的 HTTP 请求经过多个层。了解哪些层失败请求可以帮助您确定故障的性质。下面的关系图是流的简化请求的图:

收起这个图片展开这个图片
958998


报表服务一个虚拟目录的安装报表服务器和一个虚拟目录为报表管理器。为报表服务器默认虚拟目录名称是 reportserver。默认虚拟目录名称为报告管理器是报表。

通常,您开始诊断通过将请求发送到报表服务器根区目录在 Internet Explorer 中的报表服务问题。默认状态下,该 URL 是 http://<server> / reportserver。如果报表服务器工作正常,可以使用 Internet Explorer 将请求发送到 http://<server> / 报告。如果配置为使用安全套接字层 (SSL) 的报表服务器必须先确保已在服务器可以在非 SSL 模式下运行。如果配置向外扩展部署您必须首先确保报表服务器可以在单个节点上运行。诊断问题按此顺序可帮助您更快地隔离该问题。

1.2 常见症状

本节列出了某层中失败的请求时出现的常见症状。此部分还告诉您要查找的错误消息。
1.2.1 防火墙
如果您从远程客户端计算机访问报表服务器,验证防火墙不会阻止该请求。防火墙日志中记录被阻止的请求。

有关如何查找防火墙日志的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
929455当您在 Windows Vista 中配置的 Windows Firewall 日志文件自定义位置时,信息可能不会写入该日志文件
您还可以访问以下 Microsoft 网站:
http://technet.microsoft.com/en-us/library/cc736373.aspx
http://technet.microsoft.com/en-us/library/cc758040.aspx
1.2.2 HTTP.sys
不以 IIS 5.0 隔离模式运行的 IIS 6.0 和 IIS 7.0 使用 HTTP 内核模式驱动程序 (HTTP.sys) 执行 HTTP 网络输入/输出。自动启动 HTTP 服务。您没有执行手动配置。如果报表服务被配置为使用 SSL,则必须确保在 HTTP SSL 服务已启动。

即使不涉及 IIS,HTTP.sys 过程可以向客户端返回一个错误。当 URL 的格式错误,或 IIS Web 站点标识配置不正确时,也可以出现这种情况。HTTP.sys 错误日志中记录该错误。

HTTP.sys 错误日志文件有关的详细信息,请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/cc786081.aspx
有关 HTTP API 中记录的错误的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
820729在 HTTP API 中记录的错误
1.2.3 IIS 和应用程序池
检查 IIS 配置前,您必须确保在 IIS 管理服务和 $ 在应用程序池正在运行。此外,您必须验证网站标识正确无误。如果宿主报告服务的网站不是默认的 Web 站点,或者如果不指定所有未分配为 Web 站点的标识,您必须非常小心使用网站标识。如果在不同 Web 站点中配置报表服务器和报表管理器尝试在同一网站上配置报表服务器和报表管理器。如果其他应用程序与报告服务共享相同的 Web 站点,请尝试新的网站上配置报表服务虚拟目录。如果您有第三方 ISAPI 扩展或筛选器,请尝试删除第三方 ISAPI 扩展或筛选器。

如果多个配置问题发生与 IIS 中,您可以重新安装 IIS。执行此操作时您必须重新配置 ASP.NET 和报告服务虚拟目录。

有关 IIS 日志文件位置的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
324091如何: 查看和报告从日志文件
您还可以访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/bea506fd-38bc-4850-a4fb-e3a0379d321f.mspx?mfr=true
1.2.4 ASP.NET
在 Internet Explorer 中的一条错误消息可以指示在 ASP.NET 中出现问题。如果您以前已在计算机上卸载 IIS 或 ASP.NET,您必须验证 ASP.NET 配置设置。您可以通过重新注册在 IIS 中的 ASP.NET 使用 aspnet_regiis.exe 文件修复大多数 ASP.NET 配置问题。有关 ASP.NET 验证的详细信息,请参阅本文的第 4 节。

使用一个简单的.aspx 页,可以执行稳定检查 IIS 和 ASP.NET 配置。若要这样做,请按照下列步骤操作:
  1. 在宿主报告服务虚拟目录的 Web 站点上创建新的虚拟目录。
  2. 授予读取权限和执行虚拟目录的权限。
  3. 虚拟目录中部署一个简单的.aspx 页。
如果您不能浏览.aspx 页,在 Internet Explorer 中的,请先解决此问题。请求到达 ASP.NET 之前的问题可能在 ASP.NET 或任何图层中。
1.2.5 报表服务器虚拟目录
如果不使用报告服务 Windows 管理规范 (WMI) 提供程序或报表服务配置工具配置报表服务虚拟目录,您必须按照节 4.1 验证虚拟目录的设置。如果出现多个配置问题,您可以重新创建虚拟目录,通过使用 WMI 或通过使用报表服务配置工具。

若要解决问题,首先验证和修复报表服务器虚拟目录。然后当报表服务器是否正常工作,您可以检查并修复报表管理器虚拟目录。当报表管理器无法与报表服务器通信时, 则通常会报告服务日志文件中记录错误。

有关报告服务跟踪日志的详细信息,请访问下面的 MSDN 网站:
http://msdn.microsoft.com/en-us/library/ms156500(SQL.90).aspx
下面是这些错误的一个典型示例:
w3wp! ui! 1! 8 /5/2008年-10: 20: 56:: e 错误: HTTP 状态代码--> 500

-------详细信息--------

请求失败 < 某些错误 > System.Net.WebException:
在 Microsoft.SqlServer.ReportingServices2005.RSConnection.GetSecureMethods()
在 Microsoft.ReportingServices.UI.Global.RSWebServiceWrapper.GetSecureMethods()
如果报表服务器虚拟目录工作正常,但报表管理器虚拟目录工作不正常查看报表管理器用来与报表服务器进行通信的 URL。

更多的信息,请访问以下网站:
http://msdn.microsoft.com/en-us/library/ms159261(SQL.90).aspx
有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
922656当您尝试打开 SQL Server 2005 报表服务中的报告管理器工具时出现错误消息:"请求失败,出现 HTTP 状态 400: 坏请求"或"尝试连接到该报表服务器失败"

2 的 Web 站点配置问题

2.1 网站标识问题

如果一条错误消息表明报表服务器或报表管理器,不能到达 Internet Explorer,您必须验证报告服务的网站设置。以下是一些您可能会收到的错误消息。

在报表管理器中,您收到以下错误消息:
试图连接到该报表服务器失败。请检查连接信息和 $ 在报表服务器处于兼容版本。
在 Internet Explorer 中您会收到以下错误消息:
找不到服务器或 DNS 错误
在 Internet Explorer 中您会收到以下错误消息:
HTTP 400 错误的请求
请确保 IP 地址或 $ 在 URL 中使用的主机名解析为计算机和主机报告服务虚拟目录的网站。如果在不同 Web 站点上托管虚拟目录,则检查网站配置为报表服务器和报表管理器。

如果指定了一个 IP 地址的 URL,验证以下内容:
  • 请确保 IP 地址解析到承载报告服务虚拟目录的计算机。使用 ipconfig.exe 命令可以列出计算机的网络接口。
  • 请确保 Web 站点的主机报告服务使用 所有未分配 的设置或 $ 您在 网站标识 窗格中指定的 IP 地址。
如果指定了一个主机名的 URL,验证以下内容:
  • 请确定主机名称解析到报告服务计算机。使用 ping.exe 命令可以将该主机名称解析为 IP 地址。然后,确保 IP 地址解析到承载报告服务虚拟目录的计算机。
  • 请确保 Web 站点使用的网站标识 所有未分配 设置或 Web 站点指定匹配在请求中的主机头的主机标头。请求使用的主机头通常是在 URL 中指定的服务器名称。在一个网络负载平衡 (NLB) 方案主机标头通常是虚拟的节点名称。主机标头也可以定义在 Hosts 文件中。
在 IIS 5.0 和 IIS 6.0 中,网站标识是在 网站标识 窗格的 网站属性 页的 网站 选项卡中定义的。IIS 7.0 中,您可以通过单击 编辑网站 窗格中的 绑定 链接定义网站标识。有关如何定义网站标识的详细信息请访问以下网站。

注意IIS 5.0 使用类似于 IIS 6.0 以定义网站标识的接口。
http://technet.microsoft.com/en-us/library/cc771911.aspx

http://technet.microsoft.com/en-us/library/cc754348.aspx

http://learn.iis.net/page.aspx/150/understanding-sites-apps-and-vdirs-in-iis-7/#Sites
您还必须确保报表管理器使用正确的 URL 访问报表服务器。有关详细的信息,请访问以下 Microsoft 网站:
http://msdn.microsoft.com/en-us/library/ms159261(SQL.90).aspx

http://msdn.microsoft.com/en-us/library/ms155921(SQL.90).aspx

2.2 后发生的问题的重新安装 IIS

如果重新安装 IIS,您可能必须重新配置 ASP.NET,报表服务器的虚拟目录并报告管理器虚拟目录。
IIS 安装信息
有关如何安装 IIS 6.0 的详细信息请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/750d3137-462c-491d-b6c7-5f370d7f26cd.mspx?mfr=true
有关如何卸载 IIS 6.0 的详细信息请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/910e7485-d74c-4647-87a5-f9d0f9aae51e.mspx?mfr=true
有关如何安装 IIS 7.0 的详细信息请访问下面的 Microsoft 网站:
http://technet.microsoft.com/en-us/library/cc732624.aspx
有关如何安装和使用 IIS 5.0 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
266115安装和使用 IIS 5.0 的资源
有关如何重建报告服务虚拟目录的信息
有关详细的信息,请访问以下 Microsoft 网站:
http://msdn.microsoft.com/en-us/library/ms159261(SQL.90).aspx

http://msdn.microsoft.com/en-us/library/ms155921(SQL.90).aspx

2.3 问题的 ISAPI 筛选器

报表服务器虚拟目录上,第三方 ISAPI 筛选器可能会导致出现问题。是否存在第三方 ISAPI 筛选器尝试从承载报告服务虚拟目录的网站中删除筛选器。或将报表服务虚拟目录移动到新的网站。

3 身份验证问题

3.1 您必须输入凭据以访问报告服务的 Internet Explorer 中

当报表服务被配置为使用 Windows 集成身份验证时,Internet Explorer 通常不配置为提示输入凭据。若要确定 Internet Explorer 是否配置为总是提示输入凭据,请按照下列步骤操作:
  1. 打开 Internet Explorer。
  2. 工具 菜单上单击 Internet 选项
  3. 安全 选项卡上选择适用于用于访问报表服务器 URL 的区域。例如对于如果使用的访问报表服务器的 NetBIOS 名称,选择 本地 Intranet 区域。
  4. 单击 自定义级别
  5. 安全设置 对话框中 用户身份验证 区域中单击 仅在 Intranet 区域中的自动登录登录 区域中。如果您的 URL 是在 intranet 区域中,单击 使用当前用户名和密码的自动登录

3.2 您在 Internet Explorer 中输入凭据后收到 HTTP 401 错误消息

如果您收到重复的提示通过 Internet Explorer 后,您会收到 HTTP 401 错误消息,发生身份验证失败。例如对于如果您在纯模式下安装报告服务,您可能会提示您输入凭据三次之前在 Internet Explorer 中收到 HTTP 401 错误消息。出现此问题时, IIS 日志将显示"HTTP 401"作为 IIS 的响应。若要此问题的疑难解答应确认满足下列条件:
  • 请确保输入正确的用户名和密码。
  • 请按照本文一节 3.1。请确保不选择 匿名登录 安全设置中为您的区域。
如果您已配置报表服务使用 Windows 集成身份验证,您经常会收到 HTTP 401 错误消息。默认状态下,IIS 使协商身份验证方法和 NTLM 身份验证方法。Internet Explorer 使用 NTLM 身份验证方法之前,Internet Explorer 通常使用协商身份验证方法。

如果您使用的 FQDN 或与计算机的名称不匹配的自定义的主机标头,环回检查问题可能会发生。出现此问题时, 通常可以通过使用 IP 地址访问报告服务 Web 站点。但是,您不能访问该网站通过使用 FQDN 或主机名。

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
896861当您浏览的网站使用集成身份验证并位于 IIS 5.1 或 IIS 6 上时,您会收到 401.1 错误
3.2.1 Kerberos 身份验证
当协商的身份验证协议 Kerberos,您可能会收到 HTTP 401 错误消息因的 Kerberos 身份验证问题。以下是其中的一些问题:
  • 如果您应用程序池基于域帐户,您可能会收到 HTTP 401 错误消息,如果未配置 HTTP 服务主体名称 (SPN)。出现此问题时, 您会收到下面的 Kerberos 错误代码:
    KRB_ERR_APP_MODIFIED
    您可以使用以下 URL 来访问服务器:
    http://localhost/ <reportserver_vdir>
    但是,您不能访问服务器通过使用以下 URL:
    http:// <NetBIOS> / <reportserver_vdir>
    若要修正,或解决这些问题可使用下列方法之一:
    • 配置 HTTP SPN,以启用 Kerberos 身份验证。如果您使用 NetBIOS 名和 FQDN 在您的 URL 访问报告服务,则必须注册 HTTP SPN 为这两个 NetBIOS 名称和 FQDN。您不能在同一台计算机上配置的不同帐户 HTTP SPN。因此,不同的应用程序池必须使用相同的 HTTP SPN 相同的帐户下运行。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      871179您会收到一个"HTTP 错误 401.1-未经授权: 由于凭据无效,访问被拒绝"错误消息,当您试图访问一个 IIS 6.0 应用程序池一部分的网站
    • 更改您应用程序池的身份,为 NetworkServices 或本地系统。这些帐户可以使用内置的 HOST SPN,而不是 HTTP SPN。
    • 强制接受 NTLM 身份验证的 IIS。有关详细的信息,请访问下面的 Microsoft 网站:
      http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/7258232a-5e16-4a83-b76e-11e07c3f2615.mspx?mfr=true
  • 在事件日志中收到下面的 Kerberos 错误代码:
    KRB_ERR_RESPONSE_TOO_BIG
    要解决或变通解决此问题,请按照下列步骤操作:
    1. 启用 Kerberos 日志记录。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      262177如何启用 Kerberos 事件日志记录
    2. 检查日志。如果您看到 KRB_ERR_RESPONSE_TOO_BIG 错误代码,请参阅下面的 Microsoft 知识库文章,为解决此问题的方法:
      244474如何强制使用 TCP,而不是 Windows Server 2003 中、 Windows XP 中和在 Windows 2000 的 UDP Kerberos
3.2.2 基本身份验证
如果报表服务被配置为使用基本身份验证,在运行 IIS 的服务器上的安全事件日志中记录身份验证失败。查看错误消息。如果本地安全策略不允许在身份验证,您必须要么允许该登录在本地安全策略键入或更改 IIS 配置内部登录类型。

3.3 您为 IUSR 或另一个 IIS 匿名用户在 Internet Explorer 中收到了"访问被拒绝"错误消息

如果此错误消息出现意外,确定报表服务虚拟目录上是否启用了匿名安全。如果启用此设置,则请将其禁用。

3.4 出现 Kerberos 委派问题

这些问题通常被称为双跃点的问题。当满足下列条件都为真时,可能会出现 Kerberos 委派问题:
  • 在报表中配置为数据源的集成的安全性。
  • 您的报告访问远程服务器数据源。例如对于 Analysis Services 或 Microsoft SQL Server 数据库服务器将访问您的报表。
  • 当您访问报表时,您会收到以下错误消息之一:

    错误消息 1
    登录失败,用户 (空值)
    错误消息 2
    登录失败,用户"NTAUTHORITY\ANONYMOUS"
  • 当您检查在承载数据源的服务器上的安全事件日志时,您会看到事件指示匿名用户已登录。
NTLM 身份验证方案不能执行双跃点的操作。如果您删除协商身份验证提供程序,从 Web 站点或从报表服务虚拟目录,您必须重新协商身份验证提供程序添加。

有关详细的信息,请访问下面的 Microsoft 网站或 KB 文章:有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
215383如何将 IIS 配置成网络的身份验证的支持 Kerberos 协议和 NTLM 协议
326985在 IIS 中的 Kerberos 问题进行故障排除
917409如何配置 SQL Server 2005 Analysis Services 使用 Kerberos 身份验证
319723如何在 SQL Server 中使用 Kerberos 身份验证
909801如何确保创建远程连接到 SQL Server 2005 实例时要使用 Kerberos 身份验证
有关详细的信息,请访问以下 Microsoft 网站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=99B0F94F-E28A-4726-BFFE-2F64AE2F59A2&displaylang=en

http://technet.microsoft.com/en-us/library/cc281382(SQL.100).aspx
如果您希望避免 Kerberos 身份验证,您可以使用下列方法之一:
  • 配置您的数据源为存储的凭据。
  • 配置报表服务使用基本身份验证。默认的登录方法是 NetworkClearText 的方法。此方法允许您将从该报表服务器的一个附加跃点。

4 的 ASP.NET 配置问题

4.1 常规错误

ASP.NET 配置问题有各种症状。例如对于可能出现以下选项之一:
  • 您可能会收到一个 HTTP 404 错误信息。
  • 您可能会收到以下错误消息:
    无法加载资源 Microsoft.ReportingServices.UI.GlobalApp
  • 从 ASP.NET,您可能收到其他异常错误消息。
ASP.NET 配置问题可能造成卸载或重新安装 Microsoft.net 框架的一个版本。若要对这些问题的疑难解答,请执行下列操作:
  • 在 IIS 管理器中用鼠标右键单击 网站 节点,然后单击 属性。在网站属性窗口中单击 ASP.NET 选项卡,然后验证 ASP.NET 版本 2.0.50727。
  • 在 IIS 管理器中用鼠标右键单击 网站 节点,然后单击 属性。在网站属性窗口中单击 ISAPIFilters 选项卡,查找,然后单击 $ ASP.NET_2.0.50727.0 筛选器。验证 可执行文件 框包含 ASP.NET 筛选器.dll 文件的有效路径。

    注意在 IIS 5.1 中不存在该筛选器。

    注意IIS 7.0 中,您可以通过单击 ISAPI 筛选器 图标,在网站的属性页上看到该筛选器。
  • 在 IIS 管理器中找到然后右键单击为报表服务器的虚拟目录,然后单击 属性。在对话框框中单击 虚拟目录 选项卡,然后单击 配置。验证在 应用程序扩展 窗格为空。验证 通配符应用程序映射 窗格具有一个通用的映射。选择通配符映射,然后单击 编辑。验证 执行 框包含 aspnet_isapi.dll 文件的正确的路径。 验证未选中 确认文件存在 复选框。
  • 在 IIS 管理器中找到然后右键单击虚拟目录为报表管理器,然后单击 属性。在对话框框中单击 虚拟目录 选项卡,然后单击 配置。验证在 应用程序扩展 窗格包含默认的映射。这是常规的 ASP.NET 文件类型,如.aspx 和.asax 映射的列表。若要重新生成默认的映射,请使用以下命令创建正确的脚本映射:
    aspnet_regiis.exe – s <report manager path>
    注意IIS 7.0 中映射是 处理程序映射 图标下。
  • 在 IIS Web 的服务器扩展确保 ASP.NET 2.0.50727 已启用。
如果将失败验证您可以注册 ASP.NET 可以解决此问题。若要执行此操作使用下列方法之一:
  • 如果要在 32 位操作系统上或在 64 位操作系统上运行 32-位版本的报表服务,执行在命令提示符下执行以下命令:
    %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe-i –enable
  • 如果要在 64 位操作系统上运行的报告服务的 64 位版本,执行在命令提示符下执行以下命令:
    %SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe-i –enable
您不能运行 ASP.NET 1 x 和 ASP.NET 2.0 中相同的 IIS 辅助进程。如果您使用的 IIS 6.0 或 IIS 7.0,请确保承载 Report Server 应用程序的应用程序池不承载 ASP.NET 1 x 应用程序。如果您使用的 IIS 5.0,或者您正在使用 IIS 6.0 以 IIS 5.0 隔离模式确保没有运行需要 ASP.NET 1 的应用程序 x

4.2 您会收到一个当前标识 (NT AUTHORITY\NETWORK 服务) 没有写访问权限 <path>\v2.0.50727\Temporary ASP.NET 文件"错误消息

该错误是由无效的 ASP.NET 配置引起的。若要解决此问题,授予写入和执行权限临时 ASP.NET 文件文件夹的错误消息表示。

5 SSL 问题

5.1 问题出现的客户端证书

如果您的虚拟目录上配置客户端证书,报表管理器可能不会验证到报表服务器。因为报表管理器不旨在传递客户端证书,当通过 HTTP 请求报告管理器与报表服务器进行通信时,会出现此问题。因此,如果配置了 IIS 以启用 要求客户证书 选项不能使用报表管理器。若要变通解决此问题,可以清除 要求客户证书 复选框,为报表服务器虚拟目录。

5.2 您收到一条连接强行关闭的错误消息或指示一个 SSL 连接出现故障的错误

在 Internet Explorer 中您会收到以下错误消息之一:

错误消息 1
连接强行关闭
错误消息 2
基础连接已关闭
第 3 条错误消息
不能建立 SSL/TLS 的安全通道的信任关系
错误消息 4
HTTP 状态代码 500-->
如果您收到这些错误消息,可能发生一个 SSL 连接失败。SSL 连接故障一般是由安装在 IIS 中的证书。若要解决此问题,请执行下列操作:
  • 请确保为主机名称或在您用来访问报表管理器或报表服务器 URL 主机头颁发证书。
  • 请确保为主机名称或在报表管理器用于访问报表服务器 URL 主机头颁发证书。

    注意此 URL 可以定义由 ReportServerUrl 元素 RsWebApplication.config 文件中。未定义此 URL 是否此 URL 的主机名是在客户端用于访问报表管理器主机名称。由于主机名可能不相同,如果您使用不同的 url 访问报表管理器,我们建议您显式地定义 ReportServerUrl 元素使用正确的主机名。有关详细的信息,请访问下面的 MSDN 网站:
    http://msdn.microsoft.com/en-us/library/ms155878(SQL.90).aspx
  • 请确保该证书信任链无效。也就是确保该证书的颁发者为受信任。

5.3 HTTP 通讯之间报表服务器和报表管理器中出现问题

在该报表管理器和报表服务器之间的 HTTP 通信可能会出现一个问题。无效 SSL 配置时报表管理器可以成功地响应到 Internet Explorer 中。但是,报表管理器无法与报表服务器进行通信。如果发生此问题,报表管理器报告管理器主页上正确显示图像。但是,报表管理器显示了您想查看文件夹和 $ 报表项的位置在空间中的错误。

若要诊断这些问题,使用.net 框架跟踪。 To enable the .NET Framework tracing, add the following code to the Web.config file that is in the Report Manager folder:
<system.diagnostics>
         <trace autoflush="true" />
             <sources>
                 <source name="System.Net" maxdatasize="1024">
                      <listeners>
                          <add name="MyTraceFile"/>
                      </listeners>
                 </source>
                <source name="System.Net.Sockets" maxdatasize="1024">
                     <listeners>
                         <add name="MyTraceFile"/>
                     </listeners>
                 </source>  
            </sources>
             <sharedListeners>
                 <add
                   name="MyTraceFile"
                   type="System.Diagnostics.TextWriterTraceListener"
                   initializeData="d:\tmp\System.Net.trace.log"
                 />
             </sharedListeners>
  <switches>
                 <add name="System.Net" value="Verbose" />
                <add name="System.Net.Sockets" value="Verbose" /> 
  </switches>
 </system.diagnostics>
例如,假定服务器的主机标头的是 example1。但是,您的证书颁发给 example2。使用 http://example1/reports URL 访问报表管理器主页时您将收到一条警告消息,指示证书无效。证书配置所以无效。

注意取决于所使用的 Internet Explorer 的版本,警告可以是一个弹出消息或在 Internet Explorer 中出现一条消息。或者如果您已选择忽略警告之前,不可能在 Internet Explorer 中收到一条警告。

在报表管理器中,您收到以下错误消息:
基础连接已关闭: 无法建立 SSL/TLS 的安全通道的信任关系。
然后,您将此 XML 代码添加到 Web.config 文件,在报表管理器目录下。

注意您可能需要执行合并如果 Web.config 文件中已包含在 <system.diagnostics> 元素或该 <switches> 元素。

当您收到相同的错误消息时,查看您在 XML 代码中指定日志文件。在此的示例在日志文件位于以下位置:
D:\tmp\System.Net.trace.log
日志的底部,您看到 following:
System.Net Information: 0 : [3316] SecureChannel#63605042 - Remote certificate has errors:
System.Net Information: 0 : [3316] SecureChannel#63605042 - 	Certificate name mismatch.
System.Net Information: 0 : [3316] SecureChannel#63605042 - 	A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.

System.Net Information: 0 : [3316] SecureChannel#63605042 - Remote certificate was verified as invalid by the user.
System.Net.Sockets Verbose: 0 : [3316] Socket#23836999::Dispose()
System.Net Error: 0 : [3316] Exception in the HttpWebRequest#44235609:: - The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
System.Net Error: 0 : [3316] Exception in the HttpWebRequest#44235609::EndGetResponse - The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
错误信息中指示的证书出现的问题的种类的通知。

6 个向外扩展和负载平衡问题

6.1 您间歇性地收到 HTTP 401 错误

双跃点问题的负载平衡引入了可能会导致间歇的 HTTP 401 错误。使用负载平衡,到虚拟服务器,然后再到另一个节点,可能要经过 HTTP 请求发送到同一台计算机。间歇性地出现此问题。 如果该请求被路由到同一个节点,则请求将成功。

要变通解决此问题,请使用下列方法之一:
  • 更改每个节点上的主机文件,以便转到虚拟节点的请求而转到本地主机。例如对于可以被发往虚拟 IP 地址 127.0.0.1 的节点的请求重定向。此操作可以防止通过限制请求到相同计算机报表管理器从报表服务器的双跃点。
  • 如果您在本机的报表服务安装配置 <reportserverurl>标记,使用"本地主机",而不是虚拟服务器。

7 的 Windows Vista 和 Windows Server 2008 问题

如果在 Windows Vista 中或 Windows Server 2008 中,您正在安装报表服务,请仔细查看下列知识库文章和 MSDN 网站:
934164如何在一台基于 Windows Vista 的计算机上安装 SQL Server 2005 报告服务
938245如何安装以及如何在运行 Windows Server 2008 的计算机上配置 SQL Server 2005 报告服务
http://msdn2.microsoft.com/en-us/library/bb677367.aspx

在安装过程中收到 IIS 未安装或者没有配置服务器组件的安装错误消息

当试图在 Windows Vista 上或 Windows Server 2008 上安装报表服务时您会收到下面的错误消息,即使已安装 IIS:
不安装或没有配置服务器组件的安装 IIS
出现此问题的原因是未安装 IIS 6.0 管理兼容性功能。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
949455系统中心运营经理 2007年报告安装失败 Windows Server 2008 的计算机上,如果未安装 IIS 6.0 管理兼容性

8 主页重定向

您在使用 IIS 时您可以使用默认主页作为报表管理器到 Web 服务器所用的。例如对于您可能希望从该 http://<server> URL 以在 http://<server> / 报告 URL。有关如何配置可以在报表管理器的主页上的重定向请参阅"重定向到报告管理器虚拟目录"节的下面的 MSDN 网站:
http://msdn.microsoft.com/en-us/library/ms159261(SQL.90).aspx
注意您不能直接在 Web 站点根级别配置报表管理器。而是,必须配置为 Web 服务器作为默认主页设置报表管理器的重定向。

9 导出问题

9.1 一个导出超时发生

当您从 Internet Explorer 导出报表时,下载对话框保持打开状态,直到报告超时。在使用某些帐户,但不是其他帐户时,可能会发生此问题。当您启动 Internet Explorer,以便您可以从一个帐户,而不是登录帐户运行 Internet Explorer 中使用 运行方式 选项时,可能会发生此问题。

此问题可能由不正确的 Internet Explorer 配置引起,尤其是如果报告很小,以便在超时的情况下未出现由于很多的数据传输。若要解决此问题,请按照下列步骤操作:
  1. 在 Internet Explorer 中单击在 工具 菜单上的 Internet 选项
  2. Internet 选项 对话框中单击 高级 选项卡,然后找到 HTTP 1.1 设置
  3. 单击以清除 使用 HTTP 1.1 复选框和 通过代理服务器连接使用 HTTP 1.1 复选框。
  4. 单击以选中 使用 HTTP 1.1 复选框和 通过代理服务器连接使用 HTTP 1.1 复选框。
  5. 重新启动 Internet Explorer。

10 个 64 位问题

10.1 您收到"试图加载 32 位平台上的 64 位程序集"错误消息

当试图运行 32-位工作进程和 64 位工作进程在 IIS 6.0 中并排时您会收到以下错误消息:
试图加载 32 位平台上的 64 位程序集
更多的信息,请访问以下网站:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/13f991a5-45eb-496c-8618-2179c3753bb0.mspx?mfr=true

10.2 当 IIS 和报告服务是在 64 位模式中,但 IIS 正在运行时,会出现问题是 32-位模式

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
894435如何在 ASP.NET 1.1 的 32 位版本和在 ASP.NET 2.0 的一个 64 位版本的 Windows 上的 64 位版本之间切换
934162如何在运行 Windows 64 位版本的计算机上安装 SQL Server 2005 报告服务的一个 32 位版本

11 IIS 和虚拟目录配置问题

11.1 配置无效的报表服务器虚拟目录或报表管理器虚拟目录

您会收到以下错误消息之一:

错误消息 1
HTTP 503 服务不可用
错误消息 2
HTTP 403.14-禁止访问 (拒绝的目录列表)
错误消息 2
目录列表被拒绝
错误消息 2
服务不可用
这些错误消息表示的报表服务器虚拟目录或报表管理器虚拟目录的配置无效。若要解决此问题,重新生成报表服务器虚拟目录和报表管理器虚拟目录。若要这样做,请按照下列步骤操作:
  1. 若要在 IIS 中删除现有的虚拟目录使用 IIS 管理器。
  2. 若要创建新的虚拟目录使用报告服务配置工具或 $ 报告服务 WMI 提供程序。
有关详细的信息,请访问以下 Microsoft 网站:
http://technet.microsoft.com/en-us/library/ms188133(SQL.90).aspx

http://technet.microsoft.com/en-us/library/ms181174(SQL.90).aspx

http://msdn.microsoft.com/en-us/library/ms159261(SQL.90).aspx

http://msdn.microsoft.com/en-us/library/ms155921(SQL.90).aspx

12 部署报告服务和 Windows SharePoint Services side by side

有关如何部署报告服务和 Windows SharePoint Services side by side 的详细信息请访问下面的 MSDN 网站:
http://msdn.microsoft.com/en-us/library/ms159697.aspx

13 报表生成器问题

13.1 您收到 HTTP 401 错误,当您启动报表生成器

如果报表服务器使用基本身份验证,您必须配置为报表生成器的匿名身份验证。报表生成器是一个 ClickOnce 应用程序。ClickOnce 应用程序不能处理基本身份验证。有关详细的信息,请访问下面的 MSDN 网站:
http://msdn.microsoft.com/en-us/library/ms365173(SQL.90).aspx

14 Web.config 文件分析问题

14.1 您从 Microsoft.ReportingServices.Diagnostics.WebConfigUtil.GetWebConfigAuthenticationAttr 方法接收 System.NullReferenceException 错误消息

报表服务无法对 Web.config 文件进行分析时,可能会出现此问题。若要解决此问题,请执行下列操作:
  • 验证以下文件夹中的 Web.config 文件不具有命名空间:
    %ProgramFiles%\Microsoft SQL Server\ < 实例名称 > \Reporting Services\ReportServer
    如果在 Web.config 文件中有一个命名空间中删除该命名空间。

    注意用于修改该文件的编辑器可以添加一个命名空间。若要确定这是否发生,查找文件的第一行上 xmlns 属性。
  • 验证 <authentication>节点是否包含在mode 属性中。如果不存在该属性添加到 <authentication>节点的 mode 属性。指定适当的属性值。

    例如对于如果您使用 Windows 集成身份验证,验证模式下最有可能设置为 Windows。有关 ASP.NET 身份验证模式的详细信息,请参阅下面的 MSDN 网站:
    http://msdn.microsoft.com/en-us/library/aa291347.aspx

    http://msdn.microsoft.com/en-us/library/532aee0e.aspx

属性

文章编号: 958998 - 最后修改: 2009年2月4日 - 修订: 1.2
这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Reporting Services
关键字:?
kbmt kbsql2005rs kbexpertiseadvanced kbsurveynew kbinfo KB958998 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 958998
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com