今晚,我们使用 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 时,为什么会出现这个错误?
有两种解决方法:
请注意 - 在将SSRS 2012 升级到 2014 之前,请注意备份加密密钥。应用 CU1 后,您将无法访问所有加密内容。
架构改变是有原因的;从升级历史中删除记录绝对不应该是第一选择。 您应该安装累积更新。
发生这种情况的原因是,例如,累积更新
Service Pack 'x'
可能包含比Service Pack 'x + 1'
. 因此,当您安装 时Service Pack 'x + 1'
,您可能会错过那些较新的更改,因此您可能需要对新服务包进行累积更新。这篇文章是一个很好的概述:https ://social.technet.microsoft.com/wiki/contents/articles/32360.sspr-troubleshooting-the-version-of-the-report-server-database-is-either-in -a-format-that-is-not-valid-or-it-cannot-be-read.aspx
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”模式版本。