如何解決 SQL Server 2005 報表服務中的 IIS 配置問題

簡介

本文介紹如何解決 Microsoft SQL Server 2005 報表服務中的 Internet 資訊服務 (IIS) 配置問題。 本文主要説明您在報表服務下診斷 IIS 6.0 配置問題原生模式。本文通常也適用于 IIS 5.0 和 IIS 7.0。但是,某些診斷步驟可能僅針對 IIS 6.0 編寫,例如使用 IIS Manager 驗證 Microsoft ASP.NET安裝的步驟。本文還討論了身份驗證、ASP.NET和 Internet Explorer 的一些常見配置問題。

其他相關資訊

1 一般方法

IIS 配置問題通常顯示為無法連接到報表伺服器或報表管理員。因此無法連接到報表伺服器或報表管理員。要成功診斷這些配置問題,您必須查看報表服務的體系結構以及報表服務與 IIS 集成的方式。本文嘗試識別可能導致報表服務失敗的常見 IIS 配置問題。還討論了一些非IIS問題。

1.1 請求流

來自使用者的 HTTP 要求會通過多個層傳輸。瞭解哪個層請求失敗可以説明您確定失敗的性質。下圖是請求流的簡化圖: simplified diagram of an HTTP request flow 報表服務為報表伺服器安裝一個虛擬目錄,為報表管理員安裝一個虛擬目錄。報表伺服器的預設虛擬目錄名稱是"報表伺服器"。報表管理員的預設虛擬目錄名稱是"報表"。 通常,您開始通過向 Internet 資源管理器中的報表伺服器根目錄發送請求來診斷報表服務問題。預設情況下,URL HTTP:// <server>/報表伺服器。如果報表伺服器工作,則可以使用 Internet 資源管理器將請求發送到HTTP://<server>/報告。如果已將報表伺服器配置為使用安全通訊端層 (SSL),則首先必須確保伺服器可以在非 SSL 模式下運行。如果已配置橫向擴展部署,則首先必須確保報表伺服器可以在單個節點上運行。按此順序診斷問題可説明您更快地隔離問題。

1.2 常見症狀

本節列出了特定層中請求失敗時出現的常見症狀。本節還告訴您在何處查找錯誤訊息。

1.2.1Firewall

如果從遠端用戶端電腦訪問報表伺服器,請驗證防火牆是否阻止請求。被阻止的請求記錄在防火牆日誌中。 有關如何查找防火牆日誌的詳細資訊,y您還可以訪問以下 Microsoft 網站:

查看 Windows 防火牆日誌檔

解釋 Windows 防火牆日誌

1.2.2HTTP.sys

IIS 6.0 未在 IIS 5.0 隔離模式下運行,IIS 7.0 使用 HTTP 核心模式驅動程式 (HTTP.sys) 執行 HTTP 網路輸入/輸出。HTTP 服務將自動啟動。您不必執行手動設定。如果報表服務配置為使用 SSL,則必須確保啟動 HTTP SSL 服務。 即使不涉及 IIS,HTTP.sys 進程也可以將錯誤返回給用戶端。當 URL 格式不正確或 IIS 網站標識配置不正確時,可能會發生這種情況。錯誤記錄在 HTTP.sys 錯誤日誌中。 有關 HTTP.sys 錯誤日誌檔的詳細資訊,請訪問以下 Microsoft 網站:

HTTP.sys 錯誤日誌檔 有關 HTTP API 中的錯誤日誌記錄的詳細資訊,請按一下以下文章編號以查看 Microsoft 知識庫中的文章:

820729 HTTP API 中的錯誤日誌記錄

1.2.3IIS 和應用程式池

在檢查 IIS 配置之前,必須確保 IIS 管理服務和應用程式池正在運行。此外,必須驗證網站標識是否正確。如果承載報表服務的網站不是預設網站,或者未為網站標識指定"所有未分配",則必須小心使用網站標識。如果在不同的網站上配置報表伺服器和報表管理員,請嘗試在同一網站上配置報表伺服器和報表管理員。如果其他應用程式與報表服務共用同一網站,請嘗試在新網站上配置報表服務虛擬目錄。如果您有協力廠商 ISAPI 擴展或篩選器,請嘗試刪除協力廠商 ISAPI 擴展或篩選器。 如果 IIS 出現多個配置問題,您可以重新安裝 IIS。執行此操作時,必須重新配置ASP.NET和報表服務虛擬目錄。 有關 IIS 日誌檔位置的詳細資訊,請按一下以下文章編號以查看 Microsoft 知識庫中的文章:

324091操作操作:從日誌檔查看和報告

1.2.4ASP.NET

Internet 資源管理器中的錯誤訊息可能表示ASP.NET出現問題。如果以前在電腦上卸載了 IIS 或ASP.NET,則必須驗證ASP.NET配置設置。您可以使用 aspnet_regiis.exe 檔在 IIS 中重新註冊ASP.NET,從而修復大多數ASP.NET配置問題。有關ASP.NET驗證的詳細資訊,請參閱本文的第 4 節。 您可以使用簡單的 .aspx 頁對 IIS 和ASP.NET配置執行健全性檢查。為此,請按照以下步驟操作:

  1. 在承載報表服務虛擬目錄的網站上創建新的虛擬目錄。

  2. 向虛擬目錄授予讀取權限和執行許可權。

  3. 將一個簡單的 .aspx 頁部署到虛擬目錄。

如果無法流覽 Internet 資源管理器中的 .aspx 頁,請先解決此問題。在請求到達ASP.NET之前,ASP.NET或任何層中都可能發生此問題。

1.2.5報表服務器虛擬目錄

如果使用報表服務 Windows 管理規範 (WMI) 提供程式或報表服務組態工具未配置報表服務虛擬目錄,則必須按照第 4.1 節中的說明驗證設置虛擬目錄。如果出現多個配置問題,可以使用 WMI 或使用報表服務組態工具重新創建虛擬目錄。 要解決此問題,請先驗證並修復報表伺服器虛擬目錄。然後,當報表伺服器工作時,可以檢查和修復報表管理員虛擬目錄。當報表管理員無法與報表伺服器通信時,錯誤通常記錄在報表服務日誌檔中。 有關報表服務跟蹤日誌的詳細資訊,請訪問以下 MSDN 網站:

報表服務跟蹤日誌以下是這些錯誤的典型示例:

w3wp!ui!1!8/5/2008-10:20:56:: e ERROR: HTTP 狀態碼 -- > 500 -------詳細資訊-------- System.Net.Web 異常:請求失敗,但出現 <某些錯誤> 在微軟.SqlServer.報表服務2005.RSConnect.獲取安全方法() 在微軟.報表服務.UI.全域.RSWeb服務包裝器.獲取安全方法()

如果報表伺服器虛擬目錄工作,但報表管理員虛擬目錄不工作,請查看報表管理員用於與報表伺服器通信的 URL。 有關詳細資訊,請訪問以下網站:

配置報表伺服器虛擬目錄

2Web 網站配置問題

2.1網站標識問題

如果錯誤訊息指示 Internet 資源管理器無法訪問報表伺服器或報表管理員,則必須驗證報表服務的網站設置。以下是您可能會收到的一些錯誤訊息。 在報表管理員中,您會收到以下錯誤訊息:

嘗試連接到報表伺服器失敗。檢查連接資訊以及報表伺服器是否處於相容版本中。

在 Internet 資源管理器中,您會收到以下錯誤訊息:

找不到伺服器或 DNS 錯誤

在 Internet 資源管理器中,您會收到以下錯誤訊息:

HTTP 400 錯誤請求

確保 URL 中使用的 IP 位址或主機名稱解析為電腦和承載報表服務虛擬目錄的網站。如果虛擬目錄託管在不同的 Web 網站上,請檢查報表伺服器和報表管理員的 Web 網站配置。 如果 URL 由 IP 位址指定,請驗證以下內容:

  • 確保 IP 位址解析為承載報表服務虛擬目錄的電腦。可以使用ipconfig.exe命令列出電腦的網路介面。

  • 確保託管報表服務的網站使用"所有未分配"設置或您在網站標識窗格中指定的 IP 位址。

如果 URL 由主機名稱指定,請驗證以下內容:

  • 確保主機名稱解析為報表服務電腦。您可以使用ping.exe命令將主機名稱解析為 IP 位址。然後,確保 IP 位址解析到承載報表服務虛擬目錄的電腦。

  • 確保網站對網站標識使用"所有未分配"設置,或者網站指定與請求中的主機標頭匹配的主機標頭。請求使用的主機標頭通常是 URL 中指定的伺服器名稱。在網路負載平衡 (NLB) 方案中,主機標頭通常是虛擬節點名稱。主機標頭也可以在主機檔中定義。

在 IIS 5.0 和 IIS 6.0 中,網站標識在網站屬性的網站選項卡的"網站標識"窗格中定義。在 IIS 7.0 中,您可以通過按一下"編輯網站"窗格中的綁定連結來定義網站標識。有關如何定義網站標識的詳細資訊,請訪問以下網站。 備註IIS 5.0 使用類似于 IIS 6.0 的介面來定義網站標識。

IIS 6.0 F1:添加/編輯網站標識

IIS 6.0 F1:IIS 7 上的高級網站標識 瞭解網站、應用程式和虛擬目錄您還必須確保報表管理員使用正確的 URL 來訪問報表伺服器。有關詳細資訊,請訪問以下 Microsoft 網站:

配置報表伺服器虛擬目錄 如何:將報表服務配置為使用非預設網站(報表服務配置)

2.2 重新安裝 IIS 後出現的問題

如果已重新安裝 IIS,則可能需要重新配置ASP.NET、報表伺服器虛擬目錄和報表管理員虛擬目錄。

有關 IIS 安裝的資訊

有關如何安裝和卸載 IIS 6.0 的詳細資訊,請訪問以下 Microsoft 網站:

微軟文檔

有關如何重建報表服務虛擬目錄的資訊

如需詳細資訊,請造訪下列 Microsoft 網站:

配置報表伺服器虛擬目錄 如何:將報表服務配置為使用非預設網站(報表服務配置)

2.3 ISAPI 篩檢程式的問題

協力廠商 ISAPI 篩選器可能會導致報表伺服器虛擬目錄出現問題。如果存在協力廠商 ISAPI 篩選器,請嘗試從承載報表服務虛擬目錄的 Web 網站中刪除篩選器。或者,將報表服務虛擬目錄移動到新網站。

3身份驗證問題

3.1 您必須在 Internet 資源管理器中輸入憑據才能訪問報表服務

當報表服務配置為使用 Windows 集成身份驗證時,Internet 資源管理器通常不配置為提示輸入憑據。要確定 Internet Explorer 是否已配置為始終提示輸入憑據,請按照以下步驟操作:

  1. 打開互聯網資源管理器。

  2. [工具] 功能表上,按一下 [網際網路選項]

  3. 在"安全"選項卡上,選擇應用於用於訪問報表伺服器的 URL 的區域。例如,如果您使用 NetBIOS 名稱訪問報表伺服器,請選擇本地 Intranet區域。

  4. 按一下"自訂級別"。

  5. 在"安全設置"對話方塊的"使用者身份驗證"區域中,按一下"僅在登錄區域內聯網區域中的自動登入"。如果您的 URL 位於 Intranet 區域中,則可以使用當前使用者名和密碼按一下"自動登入"。

3.2 在 Internet 資源管理器中輸入憑據後,您將收到 HTTP 401 錯誤訊息

如果在收到 Internet Explorer 的重複提示後收到 HTTP 401 錯誤訊息,則身份驗證失敗。例如,如果在原生模式下安裝報表服務,則在 Internet 資源管理器中收到 HTTP 401 錯誤訊息之前,系統可能會提示您提供三次憑據。發生此問題時,IIS 日誌將顯示"HTTP 401"作為 IIS 回應。要排除此問題,請驗證以下內容:

  • 請確保輸入了正確的使用者名和密碼。

  • 按照本文第 3.1 節中的步驟操作。請確保在區域的安全設置中未選擇"匿名登入"。

如果將報表服務配置為使用 Windows 集成身份驗證,則最常收到 HTTP 401 錯誤訊息。預設情況下,IIS 同時啟用協商身份驗證方法和 NTLM 身份驗證方法。Internet 資源管理器通常在 Internet 資源管理器使用 NTLM 身份驗證方法之前使用協商身份驗證方法。 如果使用 FQDN 或與電腦名稱稱不匹配的自訂主機標頭,則可能會出現環回檢查問題。發生此問題時,通常可以使用 IP 位址訪問報表服務網站。但是,您不能使用 FQDN 或主機名稱訪問網站。

3.2.1 Kerberos 身份驗證

當協商的身份驗證協定是 Kerberos 時,您可能會因為 Kerberos 身份驗證問題而收到 HTTP 401 錯誤訊息。以下是其中一些問題:

  • 如果應用程式池基於域帳戶,如果未配置 HTTP 服務主體名稱 (SPN),您可能會收到 HTTP 401 錯誤訊息。發生此問題時,您將收到以下 Kerberos 錯誤代碼:

    KRB_ERR_APP_MODIFIED您可以使用以下 URL 訪問伺服器:

    http://localhost/<reportserver_vdir>但是,您不能使用以下 URL 訪問伺服器:

    http://<NetBIOS>/<reportserver_vdir>要修復或解決這些問題,請使用以下方法之一:

    • 配置 HTTP SPN 以啟用 Kerberos 身份驗證。如果您在 URL 中使用 NetBIOS 名稱和 FQDN 來訪問報表服務,則必須為 NetBIOS 名稱和 FQDN 註冊 HTTP SPN。不能為同一台電腦上的不同帳戶配置 HTTP SPN。因此,不同的應用程式池必須在同一帳戶下運行才能使用相同的 HTTP SPN。有關詳細資訊,請按一下以下文章編號以查看 Microsoft 知識庫中的文章:

      871179當您嘗試訪問屬於 IIS 6.0 應用程式池的網站時,您會收到"HTTP 錯誤 401.1 - 未授權:由於憑據無效而拒絕訪問"錯誤訊息

    • 將應用程式池標識更改為網路服務或本地系統。這些帳戶可以使用內置的主機 SPN 而不是 HTTP SPN。

    • 強制 IIS 僅接受 NTLM 身份驗證。

  • 在事件日誌中,您會收到以下 Kerberos 錯誤代碼:

    KRB_ERR_RESPONSE_TOO_BIG要解決此問題,請按照以下步驟操作:

    1. 啟用 Kerberos 日誌記錄。有關詳細資訊,請按一下以下文章編號以查看 Microsoft 知識庫中的文章:

      262177如何啟用 Kerberos 事件日誌記錄

    2. 檢查日誌。如果您看到 KRB_ERR_RESPONSE_BIG 錯誤代碼,請參閱以下 Microsoft 知識庫一文,瞭解此問題的解決方法:

      244474如何強制 Kerberos 在 Windows 伺服器 2003、Windows XP 和 Windows 2000 中使用 TCP 而不是 UDP

3.2.2 基本驗證

如果報表服務配置為使用基本驗證,則在運行 IIS 的伺服器上的安全事件日誌中記錄身份驗證失敗。查看錯誤訊息。如果本地安全性原則不允許身份驗證,則必須允許在本地安全性原則內進行該登錄類型,或者更改 IIS 配置中的登錄類型。

3.3 您在 IUSR 或其他 IIS 匿名使用者的 Internet 資源管理器中收到"訪問被拒絕"錯誤訊息

如果此錯誤訊息意外發生,請確定是否在報表服務虛擬目錄中啟用了匿名安全性。如果啟用了此設置,請禁用它。

3.4Kerberos 委派問題發生

這些問題通常稱為"雙躍點"問題。當以下條件為 true 時,可能會出現 Kerberos 委派問題:

  • 您為報表中的資料來源配置了集成安全性。

  • 報表訪問資料來源的遠端伺服器。例如,報表訪問分析服務或 Microsoft SQL Server 資料庫伺服器。

  • 訪問報表時,您將收到以下錯誤訊息之一: 錯誤訊息 1

    使用者登錄失敗(空)

    錯誤訊息 2

    使用者"NTAUTHORITY_匿名"登錄失敗

  • 在承載資料來源的伺服器上檢查安全事件日誌時,會看到指示匿名使用者正在登錄的事件。

NTLM 身份驗證方案無法執行雙躍點操作。如果從網站或報表服務虛擬目錄中刪除了協商身份檢查器提供者,則必須重新添加協商身份檢查器提供者。 有關詳細資訊,請按一下以下文章編號以查看 Microsoft 知識庫中的文章:

917409如何配置 SQL Server 2005 分析服務以使用 Kerberos 身份驗證

909801如何確保在創建到 SQL Server 2005 實例的遠端連線時使用 Kerberos 身份驗證

有關詳細資訊,請訪問以下 Microsoft 網站:

如何:為報表伺服器註冊服務主體名稱 (SPN)

如果要避免 Kerberos 身份驗證,可以使用以下方法之一:

  • 為數據源配置存儲的憑據。

  • 將報表服務配置為使用基本驗證。預設登錄方法是網路清除文本方法。此方法允許您從報表伺服器進行一個額外的躍點。

4ASP.NET配置問題

4.1 一般錯誤

ASP.NET配置問題有多種症狀。例如,可能會出現以下情況之一:

  • 您可能會收到 HTTP 404 錯誤訊息。

  • 您可能會收到以下錯誤訊息:

    無法載入資源 Microsoft.報表服務.UI.全域應用程式

  • 您可能會收到來自ASP.NET的其他異常錯誤訊息。

ASP.NET配置問題可能是由卸載或重新安裝 Microsoft .NET 框架版本引起的。要解決這些問題,需要執行以下操作:

  • 在 IIS 管理器中,按右鍵網站節點,然後按一下"屬性"。在"網站屬性"視窗中,按一下"ASP.NET"選項卡,然後驗證ASP.NET版本是否為 2.0.50727。

  • 在 IIS 管理器中,按右鍵網站節點,然後按一下"屬性"。在"網站屬性"視窗中,按一下ISAPI 篩選器選項卡。找到然後按一下ASP.NET_2.0.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 _lt;報表管理員路徑 > 備註在 IIS 7.0 中,映射位於處理常式映射圖示下。

  • 在 IIS Web 服務器擴展中,請確保啟用ASP.NET 2.0.50727。

如果驗證失敗,您可以註冊ASP.NET來解決問題。為此,請使用以下方法之一:

  • 如果在 32 位作業系統或 64 位作業系統上運行 32 位版本的報表服務,請按命令提示符執行以下命令:

    %系統根%_微軟.NET_框架\v2.0.50727_aspnet_regiis.exe -i _enable

  • 如果在 64 位作業系統上運行 64 位版本的報表服務,請按命令提示執行以下命令:

    %系統根%_微軟.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,請確保承載報表伺服器應用程式的應用程式池不託管ASP.NET 1。x應用程式。如果您正在使用 IIS 5.0,或者如果您在 IIS 5.0 隔離模式下使用 IIS 6.0,請確保沒有運行需要ASP.NET 1 的應用程式。x.

4.2 您收到一條"當前標識(NT AUTHORITY_網路服務)沒有寫入訪問'<path>\v2.0.50727_臨時ASP.NET檔'"錯誤訊息

錯誤是由無效ASP.NET配置引起的。要解決此問題,請向錯誤訊息指示的臨時ASP.NET檔資料夾授予"寫入"和"執行"許可權。

5SSL 問題

5.1 用戶端憑證出現問題

如果在虛擬目錄中配置了用戶端憑證,報表管理員可能不會對報表伺服器進行身份驗證。出現此問題是因為報表管理員在報表管理員通過 HTTP 要求與報表伺服器通信時未設計為傳遞用戶端憑證。因此,如果將 IIS 配置為啟用"需要用戶端憑證"選項,則無法使用報表管理員。要解決此問題,可以清除報表伺服器虛擬目錄的"需要用戶端憑證"核取方塊。

5.2 您會收到"連接強制關閉"錯誤訊息或指示 SSL 連線失敗的錯誤

在 Internet 資源管理器中,您會收到以下錯誤訊息之一: 錯誤訊息 1

強制關閉連接

錯誤訊息 2

基礎連接已關閉

錯誤訊息 3

無法為 SSL/TLS 安全通道建立信任關係

錯誤訊息 4

HTTP 狀態碼->500

如果您收到這些錯誤訊息,則可能發生 SSL 連線故障。SSL 連線故障通常是由 IIS 中安裝的證書引起的。要解決此問題,需要執行以下操作:

  • 確保憑證發行給用於訪問報表管理員或報表伺服器的 URL 中的主機名稱或主機標頭。

  • 確保憑證發行給主機名稱或報表管理員用於訪問報表伺服器的 URL 中的主機標頭。 備註此 URL 可以由 RsWeb 應用程式.config 檔中的ReportServerUrl元素定義。如果未定義此 URL,則此 URL 的主機名稱是用戶端用於訪問報表管理員的主機名稱。因為如果使用不同的 URL 訪問報表管理員,主機名稱可能會有所不同,因此我們建議您使用正確的主機名稱顯式定義ReportServerUrl元素。有關詳細資訊,請訪問以下 MSDN 網站:

    RSWeb 應用程式設定檔

  • 確保證書信任鏈有效。也就是說,確保證書或證書的頒發者是受信任的。

5.3 報表伺服器和報表管理員之間的 HTTP 通信中出現問題

報表管理員和報表伺服器之間的 HTTP 通信中可能會出現問題。當 SSL 配置無效時,報表管理員可以成功回應 Internet 資源管理器。但是,報表管理員無法與報表伺服器通信。如果出現此問題,報表管理員將在報表管理員主頁上正確顯示圖像。但是,報表管理員在預期看到資料夾和報表項的共用空間中顯示錯誤。 要診斷這些問題,請使用 .NET 框架跟蹤。要啟用 .NET Framework 跟蹤,請向報表管理員資料夾中的 Web.config 檔添加以下代碼:

<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>

例如,假設伺服器主機標頭為"示例 1"。但是,您的憑證發行給"示例 2"。當您使用HTTP://example1/reports URL 訪問報表管理員主頁時,您會收到一條警告訊息,指示證書無效。因此,證書配置無效。 備註根據所使用的 Internet 資源管理器版本,警告可以是彈出消息或 Internet Explorer 中顯示的消息。或者,如果您選擇忽略警告之前,您可能沒有收到警告在 Internet 資源管理器。 在報表管理員中,您會收到以下錯誤訊息:

基礎連接已關閉:無法為 SSL/TLS 安全通道建立信任關係。

然後,將此 XML 代碼添加到報表管理員目錄下的 Web.config 檔。 備註如果 Web.config 檔已包含<system.診斷 >元素或<開關 >元素,則可能需要執行合併。 收到相同的錯誤訊息時,請查看在 XML 代碼中指定的日誌檔。在此示例中,日誌檔位於以下位置:

D:\tmp\System.Net.trace.log在日誌的底部,您將看到以下內容: 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 要求可能會路由到虛擬伺服器,然後路由到其他節點。此問題間歇性發生。如果請求路由到同一節點,則請求成功。 要解決此問題,請使用以下方法之一:

  • 更改每個節點上的 Hosts 檔,以便轉到虛擬節點的請求轉到本地主機。例如,您可以將發送到虛擬節點的請求重定向到 IP 位址 127.0.0.1。此操作通過將從報表管理員到報表伺服器的請求限制到同一台電腦來防止雙躍點。

  • 如果安裝了本機報表服務,請將 <ReportServerUrl> 標記配置為使用"本地主機"而不是虛擬伺服器。

7 WindowsVista 和 Windows 伺服器 2008 問題

如果要在 Windows Vista 或 Windows Server 2008 中安裝報表服務,請仔細閱讀以下知識庫文章和 MSDN 網站:

938245如何安裝以及如何在運行 Windows Server 2008 的電腦上配置 SQL Server 2005 報表服務

如何:在 Windows Vista 上安裝 64 位報表服務

在安裝過程中,您會收到"未安裝或未佈建服務器元件安裝"錯誤訊息

當您嘗試在 Windows Vista 或 Windows Server 2008 上安裝報表服務時,即使已安裝 IIS,也會收到以下錯誤訊息:

未安裝 IIS 或未為伺服器元件安裝配置

由於未安裝 IIS 6.0 管理相容性功能,將出現此問題。

8主頁頁面重定向

使用 IIS 時,可以使用報表管理員作為 Web 服務器的預設首頁。例如,您可能希望將請求從HTTP://<server >URL 的 URL 重定向到HTTP://<server >/報告URL。有關如何將重定向配置為報表管理員主頁的資訊,請參閱以下 MSDN 網站的"重定向到報表管理員虛擬目錄"部分:

配置報表伺服器虛擬目錄 備註不能直接在網站根級別配置報表管理員。相反,您必須配置重定向,將報表管理員設置為 Web 服務器的預設首頁。

9 出口問題

9.1 發生匯出超時

從 Internet 資源管理器匯出報表時,下載對話方塊將保持打開狀態,直到報告超時。當您使用某些帳戶,但不使用其他帳戶時,可能會出現此問題。當您使用"運行方式"選項啟動 Internet 資源管理器以便可以從登錄帳戶以外的帳戶運行 Internet 資源管理器時,可能會出現此問題。 此問題可能是由不正確的 Internet Explorer 配置引起的,尤其是在報表較小時,因此由於許多資料傳輸而不會發生超時。要解決此問題,請按照以下步驟操作:

  1. 在"互聯網資源管理器"中,按一下"工具"功能表上的"互聯網選項"。

  2. 在"互聯網選項"對話方塊中,按一下"高級"選項卡,然後找到HTTP 1.1 設置

  3. 按一下以清除"使用 HTTP 1.1"核取方塊和"通過代理連接使用 HTTP 1.1"核取方塊。

  4. 按一下以選中"使用 HTTP 1.1"核取方塊,按一下"通過代理連接使用 HTTP 1.1"核取方塊。

  5. 重新啟動 Internet Explorer。

1064 位問題

10.1 您收到"嘗試在 32 位平臺上載入 64 位程式集"錯誤訊息

當您嘗試在 IIS 6.0 中並行運行 32 位工作進程和 64 位工作進程時,您會收到以下錯誤訊息:

試圖在 32 位平臺上載入 64 位程式集

10.2 當 IIS 和報表服務處於 64 位模式,但 IIS 運行為 32 位模式時出現問題

如需詳細資訊,請按以下的文章編號,檢視 [Microsoft 知識庫] 中的文章:

894435如何在 64 位版本的 Windows 上切換ASP.NET 1.1 的 32 位版本和 ASP.NET 2.0 的 64 位版本

934162如何在運行 64 位版本的 Windows 的電腦上安裝 32 位版本的 SQL Server 2005 報表服務

11IIS 和虛擬目錄配置問題

11.1 配置對於報表伺服器虛擬目錄或報表管理員虛擬目錄無效

您會收到以下錯誤訊息之一: 錯誤訊息 1

HTTP 503- 服務不可用

錯誤訊息 2

HTTP 403.14 - 禁止(目錄清單被拒絕)

錯誤訊息 2

目錄清單被拒絕

錯誤訊息 2

服務不可用

這些錯誤訊息指示報表伺服器虛擬目錄或報表管理員虛擬目錄的配置無效。要解決此問題,需要重新生成報表伺服器虛擬目錄和報表管理員虛擬目錄。為此,請按照以下步驟操作:

  1. 使用 IIS 管理器刪除 IIS 中的現有虛擬目錄。

  2. 使用報表服務組態工具或報表服務 WMI 提供程式創建新的虛擬目錄。

如需詳細資訊,請造訪下列 Microsoft 網站:

報表伺服器虛擬目錄(報表服務配置) 報表管理員虛擬目錄(報表服務配置)

配置報表伺服器虛擬目錄 如何:將報表服務配置為使用非預設網站(報表服務配置)

12 並排部署報告服務和 Windows 共用點服務

有關如何並行部署報告服務和 Windows SharePoint 服務的詳細資訊,請訪問以下 MSDN 網站:

並行部署報告服務和 Windows SharePoint 服務版本

13報告產生器問題

13.1 啟動報表產生器時收到 HTTP 401 錯誤

如果報表伺服器使用基本驗證,則必須為報表產生器配置匿名身份驗證。報表產生器是 ClickOnce 應用程式。ClickOnce 應用程式無法處理基本驗證。有關詳細資訊,請訪問以下 MSDN 網站:

為報表產生器訪問配置報表伺服器

14Web.設定檔解析問題

14.1您收到來自 Microsoft 的 System.nullReference 異常錯誤訊息.報表服務.診斷.WebConfigUtil.getWebConfig 身份驗證Attr 方法

當報表服務無法分析 Web.config 檔時,可能會出現此問題。要解決此問題,需要執行以下操作:

  • 驗證以下資料夾中的 Web.config 檔沒有命名空間:

    %程式檔%_微軟 SQL Server\lt;實例名稱>\報表服務_報表服務器如果 Web.config 檔具有命名空間,請刪除命名空間。 備註用於修改檔的編輯器可以添加命名空間。要確定是否發生了這種情況,請查找檔第一行上的 xmlns 屬性。

  • 驗證 <身份驗證> 節點是否包含模式屬性。如果屬性不存在,則將模式屬性添加到 <身份驗證 > 節點。指定適當的屬性值。 例如,如果使用 Windows 集成身份驗證,則身份驗證模式最有可能設置為"Windows"。有關ASP.NET身份驗證模式的詳細資訊,請參閱以下 MSDN 網站:

    下載 Visual Studio 2003 退休技術文檔

    身份驗證元素(ASP.NET設置架構)

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×