[SAP on Windows] NetWeaver サーバーのホスト名を変更する
既にインストールしてしまった NetWeaver サーバーのホスト名は一応変えることも可能です。「一応」というのは、サポートされているかどうか不明だからです。決して運用環境で行ってはいけません。
単に、Windows 上でホスト名を変えただけだと、NetWeaver は起動しなくなります。sapmmc で赤いアイコンを見ることができます。いきなり sapcpe でコけるようですね。
ホスト名ベースで通信を行なっているので、IPアドレスを変えても特に影響はありません。ですが、ホスト名を変えるには下記の設定が必要です。これを自分でやってみると、NetWeaver 起動時の挙動がある程度分かってきます。やはりソフトウェアの世界は、自分で手を動かすことが大事です。
- <sid>adm ユーザーの環境変数
- プロファイル ファイル名
- プロファイル パラメーター
- sapstartsrv 再登録
NetWeaver インストール時に、Windows ユーザーが幾つか追加されました。データベース固有のものを除くと、<sid>adm と SAPService<SID> の 2 つが追加されます。sapmmc で起動操作を行なうと、Windows ユーザー アカウントを聞かれ、通常はここで <sid>adm ユーザーを入力します。インストール時にこのユーザー固有の環境変数が追加されていて、ホスト名情報も実は含まれています。調べればすぐに分かりますが SAPLOCALHOST という環境変数がホスト名を保持しています。そんなわけで変更します。
次にプロファイル関連の変更を行ないます。すぐに分かるのはファイル名ですかね。起動プロファイルとインスタンス プロファイルのファイル名に含まれているホスト名を変更します。ご丁寧にもファイル名にホスト名が含まれているのは、複数インスタンス構成への対応と思います。インスタンスが増えても、プロファイル ファイルはグローバル サーバーの同一フォルダで一括保管されます。プロファイル ファイル名にホスト名を付加しておくことで、インスタンス番号とサーバーを独立させることができる、というのが趣旨ではないかと思います。
ファイル名だけでなく、プロファイル パラメーターそのものにもホスト名が含まれています。少々強引ではありますが、置換してしまいます。NSPの場合は、デフォルト プロファイルとインスタンス プロファイルにホスト名が含まれているパラメーターがありました。
起動プロファイルのファイル名を変えたので、sapstartsrv サービスを再起動する必要があります。というより、起動プロファイルへのパスが sapstartsrv サービスの起動コマンドの中で引数として与えられているので、そもそも再起動できません。レジストリの値を書き換えて起動コマンドを変更するとか、sc コマンドを使う方法法もありますが、正攻法は sapstartsrv.exe 自身の GUI を使うことです。
sapstartsrv.exe は、サービスとして動くプログラムですが、ダブルクリックして起動することで、サービスとしての自分自身のインストール/アンインストールなどが行なえて便利です。図のように、一度アンインストールしてからインストールし直します。この操作は管理者特権が必要になります。
サービス起動ユーザーの指定で、ワークグループ ユーザーを指定するときは、接頭辞として .\ をつけないと怒られるので注意。
このダイアログを必ず確認しましょう。管理者特権がない場合、このポップアップは表示されずに操作は中断されますが、エラーも出ないので気づきにくいです。
サービスがインストールされ、起動コマンドの起動プロファイルのパスが正しく設定されていることを確認してから、サービスを起動します。操作に誤りがなければすんなりと起動するはずです。
最後に、NetWeaver 起動を確認して終了です。簡単ですね。