v2.9より前のEMCでは、yaraiクライアントを識別するためのキーとしてMAC アドレスを利用していました。マシンの故障対応等で MACアドレスが変わることで、クライアント一覧上に同じホスト名のクライアントが複数存在することになり、識別が困難で管理上問題があるとのことから、v2.9以降のEMCでは「名寄せ」機能を追加し、同じホスト名のクライアントを集約する機能を追加しました。
クライアント一覧上に重複したホスト名が存在している状態で、EMCをv2.9にアップデートした場合、E4000031のエラーが発生します。
エラーが発生した場合は、以下の手順にて重複状態を解消してください。
※データベースの操作になりますので、事前にデータベースのバックアップを取得してください
1. EMCのWebUIでグループ "wtemp" を作成してください。
グループ設定→グループの追加
2. EMCの利用するデータベースで以下のクエリを実行してください。
※SQL Management Studioがインストールされていない場合は、以下のコマンドを実行してください
sqlcmd -S <SQLサーバのホスト名>\<インスタンス名> -U <データベースのユーザー> -P <データベースユーザーのパスワード> -d <データベース名> -Q "SQL文"
■SQL文①
delete from ActivationRecords where ClientID in (select id from clients where HostName in (select hostname from clients group by hostname having count(hostname)>1));
3. 同様に次のクエリを実行してください。
■SQL文②
update clients set isuninstalled=0,clienttype=1,groupid=(select id from groups where name='wtemp') where hostname in (select hostname from clients group by hostname having count(hostname)>1);
4. EMCのWebUIで"wtemp"に所属するクライアントを削除してください。
クライアント一覧→アンインストール→グループ単位 "wtemp"→クライアントの削除(ディアクティベートはしない)
5.クライアント重複により生成されたエラーログを削除するため、次のクエリを実行していただけますでしょうか。
■SQL文③
delete from Events_Server where LogData like '%0xE4000031%';
※一度に大量に削除を実施するとSQLのトランザクションログが肥大化する可能性があります。
以下のように件数を指定して一度に削除する件数を制限することも検討してください
delete top(1000000) from Events_Server where LogData like '%0xE4000031%';
(1000000件削除するクエリです。)
6. その後、15分以上おいてから、サーバーログにErrorCode=[0xE4000031]が出ていないことを確認してください。
※EMCv2.11.0以降の場合はWeb UIから名寄のON/OFFの設定が可能です
詳細はEMC運用マニュアルの「名寄せの設定」の節をご参照ください