Reporting Service 2014 Service Pack 1 無法使用錯誤 - 錯誤的數據庫版本
今晚,我們使用 SQL Server 2014 Service Pack 1 升級了我們的 SQL Server 2012 (SP2+CU6) 集群。
在該集群節點上,我們有本機模式 Reporting Services 橫向擴展配置。
就地升級到 SQL Server 2014 SP1 後,我們從 Reporting Services 網頁收到錯誤:
報表伺服器數據庫的版本格式無效或無法讀取。找到的版本是“163”。預期版本是“162”。
那麼問題來了——當我們升級到最新版本的 SQL Server 2014 和 Service Pack 1 時,為什麼會出現這個錯誤?
有兩種解決方法:
- 從表 ServerUpgradeHistory 中刪除一條記錄
採用
$$ name_of_you_SSRS_database $$ 從 ServerUpgradeHistory 中刪除 ServerVersion = 163
- 為 SQL Server 2014 Service Pack 1安裝累積更新1。在使用累積更新 1 更新 SQL Server 2014 SP1 之前 - 在實驗室中對其進行嚴格測試。
請注意 - 在將SSRS 2012 升級到 2014 之前,請注意備份加密密鑰。應用 CU1 後,您將無法訪問所有加密內容。
架構改變是有原因的;從升級歷史中刪除記錄絕對不應該是第一選擇。 您應該安裝累積更新。
發生這種情況的原因是,例如,累積更新
Service Pack 'x'
可能包含比Service Pack 'x + 1'
. 因此,當您安裝 時Service Pack 'x + 1'
,您可能會錯過那些較新的更改,因此您可能需要對新服務包進行累積更新。SQL Server 內部版本號部落格可以幫助解決它(http://sqlserverbuilds.blogspot.com/)
例如,我們在安裝 SQL 2012 SP3 時遇到了這個問題:我們安裝了 SP2 的累積更新,然後我們得到了 2016 年 11 月的安全更新——所以我們有“CU”版本(注意有兩個“安全更新”)對於 SQL 2012 SP2”:“GDR”版本(如果您沒有安裝任何 CU)和“CU”版本)。
如果您查看建構列表,您會發現該安全更新基本上將我們帶到了 SP2 CU14,如果您查看上面的文章,它會將我們帶到 Reporting Services 架構版本 164。所以當安裝 SP3 時,我們有“安全更新對於 SQL Server 2012 Service Pack 3 GDR,它基於早期版本,只有版本 163。所以——根據文章——我們需要安裝 SP3 CU5 或更高版本才能讓我們回到“164”模式版本。