服務(wù)器和數(shù)據(jù)庫(kù)連接故障排除
使用本主題可以排除在連接到報(bào)表服務(wù)器時(shí)所遇到的故障。本主題還提供了與錯(cuò)誤消息有關(guān)的信息。有關(guān)數(shù)據(jù)源配置以及配置報(bào)表服務(wù)器連接信息的詳細(xì)信息,請(qǐng)參閱為報(bào)表的數(shù)據(jù)源指定憑據(jù)和連接信息和配置報(bào)表服務(wù)器數(shù)據(jù)庫(kù)連接。無(wú)法與數(shù)據(jù)源“datasourcename”建立連接。(rsErrorOpeningConnection) 在 Management Studio 中連接報(bào)表服務(wù)器時(shí)出現(xiàn) WMI 錯(cuò)誤
錯(cuò)誤(常規(guī)網(wǎng)絡(luò)錯(cuò)誤)此錯(cuò)誤表示數(shù)據(jù)源連接錯(cuò)誤。您應(yīng)該查看連接字符串,驗(yàn)證您是否擁有訪問(wèn)該數(shù)據(jù)源的權(quán)限。如果使用 Windows 身份驗(yàn)證訪問(wèn)數(shù)據(jù)源,則必須擁有訪問(wèn)承載該數(shù)據(jù)源的計(jì)算機(jī)的權(quán)限。
在 MSCS 群集中運(yùn)行的虛擬 SQL Server 上創(chuàng)建報(bào)表服務(wù)器數(shù)據(jù)庫(kù) ReportServer 和 ReportServerTempDB 時(shí),遠(yuǎn)程名稱(chēng)(格式為 <domain>\<computer_name>$)可能沒(méi)有向 SQL Server 注冊(cè)為登錄名。如果將報(bào)表服務(wù)器服務(wù)帳戶配置為需要此遠(yuǎn)程名稱(chēng)才能進(jìn)行連接的帳戶,則用戶在 Reporting Services 中無(wú)法連接到 /reports 和 /reportserver 目錄。例如,內(nèi)置的 Windows 帳戶 NetworkService 要求此遠(yuǎn)程名稱(chēng)。若要避免此問(wèn)題,請(qǐng)使用顯式域帳戶或 SQL Server 登錄名連接到報(bào)表服務(wù)器數(shù)據(jù)庫(kù)。
Windows Vista 上的報(bào)表服務(wù)器錯(cuò)誤
Reporting Services SP1 和更早版本不能在 Windows Vista 上運(yùn)行。如果嘗試在 Windows Vista 上運(yùn)行 SP1 報(bào)表服務(wù)器,則會(huì)遇到以下錯(cuò)誤:
如果打開(kāi)此 SP1 應(yīng)用程序: |
您將看到: |
---|---|
報(bào)表管理器或報(bào)表服務(wù)器,恰好在升級(jí)之后和啟用 ASP.NET 或啟動(dòng) IIS 之前 |
Internet Explorer 無(wú)法顯示該網(wǎng)頁(yè)。 最有可能的原因:
|
Reporting Services 配置工具 |
在 WMI 提供程序中出現(xiàn)了未知錯(cuò)誤。錯(cuò)誤代碼 8000000A |
報(bào)表管理器 |
報(bào)表服務(wù)器沒(méi)有響應(yīng)。請(qǐng)驗(yàn)證報(bào)表服務(wù)器正在運(yùn)行,并且可以從該計(jì)算機(jī)訪問(wèn)它。 |
報(bào)表服務(wù)器 |
報(bào)表服務(wù)器遇到配置錯(cuò)誤。有關(guān)詳細(xì)信息,請(qǐng)參閱報(bào)表服務(wù)器日志文件。(rsServerConfigurationError) 有關(guān)此錯(cuò)誤的詳細(xì)信息,請(qǐng)導(dǎo)航到本地服務(wù)器上的報(bào)表服務(wù)器或啟用遠(yuǎn)程錯(cuò)誤。 |
應(yīng)用 SP2 或升級(jí)到 SQL Server 2008 并配置報(bào)表服務(wù)器以執(zhí)行操作之后,將不會(huì)出現(xiàn)這些錯(cuò)誤。
這是一個(gè)一般性錯(cuò)誤,在報(bào)表服務(wù)器無(wú)法打開(kāi)到為報(bào)表提供數(shù)據(jù)的外部數(shù)據(jù)源的連接時(shí)發(fā)生。此錯(cuò)誤和另外一條錯(cuò)誤消息一起出現(xiàn),后者指明了錯(cuò)誤的根本原因。與 rsErrorOpeningConnection 一起出現(xiàn)的可能還有以下錯(cuò)誤。
用戶“UserName”登錄失敗
該用戶無(wú)權(quán)訪問(wèn)該數(shù)據(jù)源。如果使用的是 SQL Server 數(shù)據(jù)庫(kù),請(qǐng)驗(yàn)證該用戶是否具有有效的數(shù)據(jù)庫(kù)用戶登錄名。有關(guān)如何創(chuàng)建數(shù)據(jù)庫(kù)用戶或 SQL Server 登錄名的詳細(xì)信息,請(qǐng)參閱如何創(chuàng)建數(shù)據(jù)庫(kù)用戶和如何創(chuàng)建 SQL Server 登錄名。
用戶“NT AUTHORITY\ANONYMOUS LOGON”登錄失敗
跨多個(gè)計(jì)算機(jī)連接傳遞憑據(jù)時(shí)會(huì)發(fā)生此錯(cuò)誤。如果使用 Windows 身份驗(yàn)證,并且未啟用 Kerberos 5 協(xié)議,則在跨多個(gè)計(jì)算機(jī)連接傳遞憑據(jù)時(shí)將會(huì)出現(xiàn)此錯(cuò)誤。若要解除此錯(cuò)誤,請(qǐng)考慮使用已存儲(chǔ)憑據(jù)或提示的憑據(jù)。有關(guān)如何處理此問(wèn)題的詳細(xì)信息,請(qǐng)參閱為報(bào)表的數(shù)據(jù)源指定憑據(jù)和連接信息。
建立與服務(wù)器的連接時(shí)出錯(cuò)。當(dāng)連接到 SQL Server 2005 時(shí),由于在默認(rèn)設(shè)置下 SQL Server 不允許進(jìn)行遠(yuǎn)程連接,這可能會(huì)導(dǎo)致此失敗。(提供程序:命名管道提供程序,錯(cuò)誤:40 - 無(wú)法打開(kāi)到 SQL Server 的連接)
此錯(cuò)誤由承載報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)引擎實(shí)例返回。大多數(shù)情況下,出現(xiàn)此錯(cuò)誤的原因是 SQL Server 服務(wù)停止。或者,如果使用的是具有高級(jí)服務(wù)的 SQL Server Express 或命名實(shí)例,那么,當(dāng)報(bào)表服務(wù)器 URL 或報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的連接字符串不正確時(shí),將發(fā)生此錯(cuò)誤。若要解決這些問(wèn)題,請(qǐng)執(zhí)行以下操作:
確保 SQL Server (MSSQLSERVER) 服務(wù)已啟動(dòng)。在承載數(shù)據(jù)庫(kù)引擎實(shí)例的計(jì)算機(jī)上,依次單擊“開(kāi)始”、“管理工具”和“服務(wù)”,然后滾動(dòng)到 SQL Server (MSSQLSERVER)。如果未啟動(dòng),請(qǐng)右鍵單擊該服務(wù),選擇“屬性”,在“啟動(dòng)類(lèi)型”中選擇“自動(dòng)”,然后依次單擊“應(yīng)用”、“啟動(dòng)”和“確定”。
確保報(bào)表服務(wù)器 URL 和報(bào)表服務(wù)器數(shù)據(jù)庫(kù)連接字符串正確。如果 Reporting Services 或數(shù)據(jù)庫(kù)引擎作為命名實(shí)例安裝,則在安裝過(guò)程中創(chuàng)建的默認(rèn)連接字符串將包括相應(yīng)的實(shí)例名稱(chēng)。例如,如果在名為 DEVSRV01 的服務(wù)器上安裝了具有高級(jí)服務(wù)的 SQL Server Express 的默認(rèn)實(shí)例,則報(bào)表管理器 URL 為 DEVSRV01\Reports$SQLEXPRESS。此外,連接字符串中的數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng)將類(lèi)似于 DEVSRV01\SQLEXPRESS。有關(guān) SQL Server Express 的 URL 和數(shù)據(jù)源連接字符串的詳細(xì)信息,請(qǐng)參閱 具有高級(jí)服務(wù)的 SQL Server Express 中的 Reporting Services。若要驗(yàn)證報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的連接字符串,請(qǐng)啟動(dòng) Reporting Services 配置工具并查看“數(shù)據(jù)庫(kù)安裝”頁(yè)。
無(wú)法建立連接。請(qǐng)確保該服務(wù)器正在運(yùn)行。
此錯(cuò)誤由 ADOMD.NET 提供程序返回。有多種原因可導(dǎo)致發(fā)生此錯(cuò)誤。如果已將服務(wù)器指定為“localhost”,請(qǐng)嘗試改為指定服務(wù)器名稱(chēng)。如果無(wú)法為新連接分配內(nèi)存,也會(huì)發(fā)生此錯(cuò)誤。有關(guān)詳細(xì)信息,請(qǐng)參閱知識(shí)庫(kù)文章 912017。
如果此錯(cuò)誤還包含“無(wú)法識(shí)別這種主機(jī)”,則說(shuō)明 Analysis Services 服務(wù)器不可用或拒絕連接。如果 Analysis Services 服務(wù)器作為命名實(shí)例安裝在遠(yuǎn)程計(jì)算機(jī)上,則可能必須運(yùn)行 SQL Server Browser 服務(wù)來(lái)獲取該實(shí)例使用的端口號(hào)。
(Report Services SOAP 代理源)
如果在報(bào)表模型生成過(guò)程中出現(xiàn)此錯(cuò)誤,并且其他信息部分還包含“SQL Server 不存在或訪問(wèn)被拒絕”,則可能是出現(xiàn)了下列情況:
數(shù)據(jù)源的連接字符串包含“localhost”。
已對(duì) SQL Server 服務(wù)禁用 TCP/IP。
若要解決此錯(cuò)誤,您可以將連接字符串修改為使用服務(wù)器名稱(chēng),也可針對(duì)服務(wù)啟用 TCP/IP。請(qǐng)執(zhí)行下列步驟啟用 TCP/IP:
1. SQL Server 配置管理器。
2.展開(kāi)“SQL Server 網(wǎng)絡(luò)配置”。
3.選擇“MSSQLSERVER 協(xié)議”。
1.點(diǎn)擊 TCP/IP,并選擇“啟用”。
選擇“SQL Server 服務(wù)”。
右鍵單擊 SQL Server (MSSQLSERVER),并選擇“重新啟動(dòng)”。
默認(rèn)情況下,Management Studio 使用 Reporting Services Windows Management Instrumentation (WMI) 提供程序來(lái)建立與報(bào)表服務(wù)器的連接。如果未正確安裝 WMI 提供程序,在嘗試連接到報(bào)表服務(wù)器時(shí)將遇到以下錯(cuò)誤:
無(wú)法連接到 <your server name>。沒(méi)有安裝 Reporting Services WMI 提供程序,或者該提供程序配置不當(dāng) (Microsoft.SqlServer.Management.UI.RSClient)。
若要解決此錯(cuò)誤,請(qǐng)重新安裝該軟件。對(duì)于所有其他情況,作為臨時(shí)解決方法,可以通過(guò) SOAP 端點(diǎn)連接到報(bào)表服務(wù)器:
在 Management Studio 中的“連接到服務(wù)器”對(duì)話框中,在“服務(wù)器名稱(chēng)”中鍵入報(bào)表服務(wù)器的 URL。默認(rèn)情況下,該 URL 為 http://<服務(wù)器名稱(chēng)>/reportserver。如果使用的是具有高級(jí)服務(wù)的 SQL Server 2008 Express,則該 URL 為 http://<服務(wù)器名稱(chēng)>/reportserver$sqlexpress。
若要解決該錯(cuò)誤以便可以使用 WMI 提供程序進(jìn)行連接,應(yīng)該運(yùn)行安裝程序以修復(fù) Reporting Services 或重新安裝 Reporting Services。
連接錯(cuò)誤,由于未知用戶名或密碼錯(cuò)誤導(dǎo)致登錄失敗
如果從報(bào)表服務(wù)器連接到報(bào)表服務(wù)器數(shù)據(jù)庫(kù)時(shí)使用了域帳戶,并且更改了該域帳戶的密碼,則可能會(huì)出現(xiàn) rsReportServerDatabaseLogonFailed 錯(cuò)誤。
完整的錯(cuò)誤文本為“報(bào)表服務(wù)器無(wú)法打開(kāi)與報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的連接。登錄失敗(rsReportServerDatabaseLogonFailed)。登錄失敗: 用戶名未知或密碼錯(cuò)誤。”
如果重置密碼,則必須更新該連接。有關(guān)詳細(xì)信息,請(qǐng)參閱配置報(bào)表服務(wù)器數(shù)據(jù)庫(kù)連接。
報(bào)表服務(wù)器無(wú)法打開(kāi)與報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的連接。所有請(qǐng)求和處理都要求與數(shù)據(jù)庫(kù)建立連接(rsReportServerDatabaseUnavailable)。
當(dāng)報(bào)表服務(wù)器無(wú)法連接到為服務(wù)器提供內(nèi)部存儲(chǔ)的 SQL Server 關(guān)系數(shù)據(jù)庫(kù)時(shí),會(huì)發(fā)生此錯(cuò)誤。通過(guò) Reporting Services 配置工具來(lái)管理與報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的連接。您可以運(yùn)行此工具,轉(zhuǎn)到“數(shù)據(jù)庫(kù)安裝”頁(yè),更正連接信息。使用此工具更新連接信息是***的方法;此工具可確保能夠更新相關(guān)設(shè)置并重新啟動(dòng)服務(wù)。有關(guān)詳細(xì)信息,請(qǐng)參閱配置報(bào)表服務(wù)器數(shù)據(jù)庫(kù)連接和配置報(bào)表服務(wù)器服務(wù)帳戶。
如果沒(méi)有將承載報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)引擎實(shí)例配置為啟用遠(yuǎn)程連接,也會(huì)發(fā)生此錯(cuò)誤。在 SQL Server 的一些版本中,默認(rèn)情況下啟用遠(yuǎn)程連接。若要驗(yàn)證是否已在您使用的 SQL Server數(shù)據(jù)庫(kù)引擎 實(shí)例上啟用遠(yuǎn)程連接,請(qǐng)運(yùn)行 SQL Server 配置管理器工具。必須同時(shí)啟用 TCP/IP 和命名管道。報(bào)表服務(wù)器同時(shí)使用這兩種協(xié)議。有關(guān)如何啟用遠(yuǎn)程連接的說(shuō)明,請(qǐng)參閱如何配置報(bào)表服務(wù)器以進(jìn)行遠(yuǎn)程管理中的“如何配置與報(bào)表服務(wù)器數(shù)據(jù)庫(kù)的遠(yuǎn)程連接”部分。
如果此錯(cuò)誤還包含以下文本,則說(shuō)明用于運(yùn)行數(shù)據(jù)庫(kù)引擎實(shí)例的帳戶的密碼已過(guò)期:“與服務(wù)器建立連接時(shí)出錯(cuò)。當(dāng)連接到 SQL Server 時(shí),此故障可能會(huì)因?yàn)?SQL Server 在默認(rèn)設(shè)置下不允許進(jìn)行遠(yuǎn)程連接而引發(fā)的。(訪問(wèn)接口: SQL Server 網(wǎng)絡(luò)接口,錯(cuò)誤: 26 - 定位指定的服務(wù)器/實(shí)例時(shí)出錯(cuò))。”若要解決此錯(cuò)誤,請(qǐng)重置密碼。
無(wú)法在 SharePoint 管理中心授予數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限
在 Windows Vista 或 Windows Server 2008 上對(duì) Reporting Services 進(jìn)行配置以便與 SharePoint 產(chǎn)品或技術(shù)集成時(shí),嘗試在 SharePoint 管理中心的“授予數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限”頁(yè)上授予訪問(wèn)權(quán)限時(shí),可能會(huì)收到下列錯(cuò)誤消息:“無(wú)法與計(jì)算機(jī)建立連接。”
發(fā)生這種情況是因?yàn)樵趫?zhí)行需要管理員權(quán)限的任務(wù)時(shí),Windows Vista 和 Windows Server 2008 中的用戶帳戶控制 (UAC) 要求管理員顯式接受才能提升和使用管理員標(biāo)記。但是在這種情況下,無(wú)法提升 Windows SharePoint Services 管理服務(wù)來(lái)授予 Reporting Services 服務(wù)帳戶對(duì) SharePoint 配置和內(nèi)容數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限。
在 SQL Server 2008 Reporting Services 中,只有報(bào)表服務(wù)器服務(wù)帳戶需要數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限;在 SQL Server 2005 Reporting Services SP2 中,報(bào)表服務(wù)器 Windows 服務(wù)帳戶和報(bào)表服務(wù)器 Web 服務(wù)帳戶都要求數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。有關(guān) SQL Server 2008 中報(bào)表服務(wù)器服務(wù)帳戶的詳細(xì)信息,請(qǐng)參閱服務(wù)帳戶(Reporting Services 配置)。 |
對(duì)于此問(wèn)題有兩種解決方法。一種解決方法是:可以暫時(shí)關(guān)閉 UAC 而使用 SharePoint 管理中心來(lái)授予訪問(wèn)權(quán)限。
如果關(guān)閉 UAC 解決此問(wèn)題要謹(jǐn)慎,在 SharePoint 管理中心授予數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限后要立即打開(kāi) UAC。如果不想關(guān)閉 UAC,請(qǐng)使用本節(jié)提供的另一種解決方法。有關(guān) UAC 的信息,請(qǐng)參閱 Windows 產(chǎn)品文檔。 |
另一種解決方法是:可以手動(dòng)對(duì) Reporting Services 服務(wù)帳戶授予數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限??梢允褂靡韵逻^(guò)程通過(guò)將 Reporting Services 服務(wù)帳戶添加到正確的 Windows 組和數(shù)據(jù)庫(kù)角色來(lái)授予訪問(wèn)權(quán)限。
此過(guò)程適用于 SQL Server 2008 Reporting Services 中的報(bào)表服務(wù)器服務(wù)帳戶;如果運(yùn)行 SQL Server 2005 Reporting Services,請(qǐng)為報(bào)表服務(wù)器 Windows 服務(wù)帳戶和報(bào)表服務(wù)器 Web 服務(wù)帳戶執(zhí)行此過(guò)程。 |
手動(dòng)授予數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限
1.將報(bào)表服務(wù)器服務(wù)帳戶添加到 Reporting Services 計(jì)算機(jī)上的 WSS_WPG Windows 組。
2.連接到承載 SharePoint 配置和內(nèi)容數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)實(shí)例,為報(bào)表服務(wù)器服務(wù)帳戶創(chuàng)建 SQL 數(shù)據(jù)庫(kù)登錄名。
3.將 SQL 數(shù)據(jù)庫(kù)登錄名添加到以下數(shù)據(jù)庫(kù)角色中:
WSS 內(nèi)容數(shù)據(jù)庫(kù)中 db_owner 角色
SharePoint_Config 數(shù)據(jù)庫(kù)中 WSS_Content_Application_Pools 角色
【編輯推薦】
- SQL Server 2000刪除實(shí)戰(zhàn)演習(xí)
- SQL Server存儲(chǔ)過(guò)程的命名標(biāo)準(zhǔn)如何進(jìn)行?
- 卸載SQL Server 2005組件的正確順序
- 對(duì)SQL Server字符串?dāng)?shù)據(jù)類(lèi)型的具體描述
- SQL Server數(shù)據(jù)類(lèi)型的種類(lèi)與應(yīng)用






