案例環境:
操作系統版本 : Windows Server 2012 R2 Standard
數據庫版本 : SQL Server 2012 Standard Edition SP2
案例介紹:
其實已經是第二次碰到這種情況,還是決定將這個案例記錄一下。第一次是做數據庫遷移時碰到,沒有時間整理記錄,第二次准備一個測試環境,從虛擬機一個服務器克隆了一個測試服務器GETESTNT30, 服務器名稱變了,但是SQL SERVER里面@@SERVERNAME 與 SERVERPROPERTY('servername')不一致。
現象如下所示:
The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing. (rsReportServerDatabaseUnavailable) Get Online Help
Login failed for user 'xxxx\GETTESTNT30$'.
The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing. (rsReportServerDatabaseUnavailable)
如果要查看更詳細的錯誤信息,可以去SQL SERVER的安裝目錄,例如這台測試服務器C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\LogFiles下查看詳細日志記錄。
如下所示,在Reporting Services Configuration Manager里面,在數據庫選項(Database)里面顯示的SQL Server Name為原服務器GETNT59,而Report Manager URL里面則為GETTESTNT30
解決方法:
打開Reporting Service的配置管理器,進行數據庫服務器更名操作。
完成之后,還必須刪除加密內容(Delete Enrypted Content),才能正常訪問Reporting Service對應的URL地址。