今夜、SQL Server 2012(SP2 + CU6)クラスターをSQL Server 2014 Service Pack 1にアップグレードしました。
そのクラスターノードには、ネイティブモードのReporting Servicesスケールアウト構成があります。
SQL Server 2014 SP1へのインプレースアップグレード後、Reporting Services Webページからエラーが発生しました:
レポートサーバーデータベースのバージョンが無効な形式であるか、読み取れません。見つかったバージョンは「163」です。予想されるバージョンは「162」です。
質問があります-SQL Server 2014およびService Pack 1の最新バージョンにアップグレードしたときにこのエラーが発生するのはなぜですか?
2つの回避策があります。
USE [name_of_you_SSRS_database]
DELETE FROM ServerUpgradeHistory WHERE ServerVersion = 163
注意してください-SSRS 2012を2014にアップグレードする前に、バックアップ暗号化キーに注意してください。CU1を適用すると、すべての暗号化コンテンツにアクセスできなくなります。
スキーマが変更された理由があります; アップグレード履歴からレコードを削除することが最初の手段ではないはずです。累積的な更新をインストールする必要があります。
これが発生する理由は、たとえば、Service Pack 'x'
の累積的な更新にService Pack 'x + 1'
より新しい変更が含まれる可能性があるためです。したがって、Service Pack 'x + 1'
をインストールすると、これらの新しい変更が失われる可能性があるため、新しいService Packの累積的な更新が必要になる場合があります。
SQLサーバーのビルド番号のブログはそれを整理するのに役立ちます( http://sqlserverbuilds.blogspot.com/ )
たとえば、SQL 2012 SP3をインストールしたときにこの問題が発生しました。SP2の累積的な更新プログラムをインストールしてから、2016年11月のセキュリティ更新プログラムを取得しました。つまり、「CU」バージョンがありました(2つの「セキュリティ更新プログラム」があることに注意してください) SQL 2012 SP2の場合」:「GDR」バージョン(CUがインストールされていない場合)および「CU」バージョン)。
ビルドリストを確認すると、セキュリティ更新プログラムによって基本的にSP2 CU14に到達したことがわかります。上記の記事を確認すると、Reporting Servicesスキーマバージョン164に到達しました。SP3がインストールされたときに、「セキュリティ更新プログラムSQL Server 2012 Service Pack 3[〜#〜] gdr [〜#〜]の場合、これは以前のバージョンに基づいており、バージョン163のみでしたしたがって、記事のとおり、 "164"スキーマバージョンに戻すには、SP3 CU5以降をインストールする必要がありました。