SCCM(MECM)のアップグレードに失敗する!SQL Serverも最新バージョンなのになぜ?
弊社の案件でプライマリーサーバーでMECMのアップグレードに失敗する事象が発生しました。
前提条件のチェックを確認すると、「[失敗]指定したSQL Serverがサイトのアップグレードの最小要件を満たしているかどうかを確認します。」というエラーが。
こういった事象はなぜ起きたのでしょうか?
MECMのアップグレードに失敗
MECMのアップグレードを実施した時、「前提条件のチェック」の段階で[サイトのアップグレードのためのSQL Server構成]ステータスが失敗し、このようなエラーが表示されました。
[失敗]指定したSQL Serverがサイトのアップグレードの最小要件を満たしているかどうかを確認します
今回の最小要件とはSQL Serverのバージョンが最新であることを指しています。
しかし使用中のバージョンは最新(バージョン2019)のため、要件は十分満たされているはずです。
原因
今回はSQL Server Service Broker内のBrokerが有効、Brokerの優先度の許可の値がFalse(無効)になっていることがアップグレードに失敗した原因でした。
本来はBrokerが有効、Brokerの優先度の許可の値がどちらもTrue(有効)である必要があります。
上記の画像では、Brokerが有効、Brokerの優先度の許可の値がFalseになっていますが、Brokerが有効:True、Brokerの優先度の許可の値:Falseでも同じ事象が確認できました。
Brokerが有効、Brokerの優先度の許可を確認する方法
1.SQL Server Management Studio(SSMS)を起動し、接続します。
2.データベースを展開し、CM_(サイトコード)を右クリックします。
3.プロパティを開きます。
4.オプションへ移動します。
5.Service Brokerから確認可能です。
バックアップ時に無効にされる場合がある
別の案件でデータベースのデタッチアタッチで今回と似たようなエラーが発生した際、バックアップ作業後にSQL Server Service Brokerが無効になっていたことがありました。
バックアップ後はSQL Server Service Brokerの項目を一度確認したほうが良さそうです。
解決法
今回の解決法はクエリを実行し、Brokerが有効、Brokerの優先度の許可の値をTrueに変更することです。
そこで値をTrueに変更するクエリを紹介します。
クエリを実行する
1.SQL Server Management Studio(SSMS)を起動します。
2.接続>データベースへ移動します。
3.、CM_(サイトコード)を右クリックし、プロパティを開きます。
4.プロパティ>オプションへ移動します。
5.新しいクエリをクリックし、下記のコマンドを貼りつけ、実行します。
▼Brokerが有効:Trueに変更
ALTER DATABASE [CM_サイトコード] SET ENABLE_BROKER
「Brokerが有効」がTrueの場合は、下のコマンド「Brokerの優先度の許可:Trueに変更」だけを実行してください。
6.新しいクエリをクリックし、下記のコマンドを貼りつけ、実行します。
▼Brokerの優先度の許可:Trueに変更
ALTER DATABASE [CM_サイトコード] SET HONOR_BROKER_PRIORITY ON; ALTER DATABASE [CM_サイトコード] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
6.クエリ実行後、再度Service Brokerを確認します。
▼Brokerが有効に、Brokerの優先度の許可:True に変更されました。
MECMを再度アップグレード
MECMを再度アップグレードします。
今度は[サイトのアップグレードのためのSQL Server構成]のステータスが完了になりました。
バックアップファイル作成、リストア方法
今回の検証は、弊社のブログで紹介している手順でバックアップファイルの作成、リストアを実施しています。
参考にされる際は、是非とも弊社の記事をご覧ください。
▼バックアップファイルの作成
▼リストア方法
最後に
今回はSQL ServerのエラーによりMECMのアップグレードに失敗した際の対処方法を紹介しました。
他にもMECMに関する困りごとがありましたら、お気軽に弊社アーザスへご相談ください!