PostgreSQLデータベースからMS SQL Serverへの移行
M365 Manager Plusには、レポート、監視、管理、監査モジュールからの製品データを保存するためのPostgreSQLデータベースがバンドルされています。本ソリューションはMS SQL Serverもサポートしており、組み込みのPostgreSQLからMS SQLデータベースへの製品データ移行が可能です。本ガイドではデータベース移行プロセスを順を追って説明します。
サポートされているバージョンのMS SQL Server: 2016、2017、2019、2022 (※本ページに掲載されているバージョンでも、Microsoft社のサポートが終了した場合はサポート対象外となります。)
移行プロセスの前提条件
データの移行先のMS SQL Serverで次の条件が満たされていることを確認してください。
- SQL Serverブラウザが稼働している
- SQL Serverネットワーク構成の場合、TCP/IPプロトコルを有効にしている
- すべてのクライアントプロトコルを有効にしている
- MS SQL Serverへのアクセスが、サーバーレベルでは"sysadmin"、データベースレベルでは"db_owner"権限を持つユーザーに委任されている
注記: 外部Microsoft SQL Serverデータベースと製品のデータベースが異なるドメインに存在する場合、ファイルのアクセス権限に関する競合や問題が発生する可能性があります。したがって、両者の間にドメイン信頼関係を確立するか、db_datawriterおよび db_datareader権限を持つWindowsユーザーを Microsoft SQLログインに追加する必要があります。
前提条件1、2および3の構成については、付録Aをご参照ください。前提条件4の構成については、付録Bをご参照ください。
PostgreSQLからMS SQLへの移行
M365 Manager PlusのデフォルトのPostgreSQLデータベースからMS SQLへのデータの移行は、次の2つの手順で構成されます。
ステップ1: M365 Manager Plusのデータベースのバックアップ
新規インストールのデータベースを移行する場合は、この手順をスキップ出来ます。
- M365 Manager Plusを停止します。(バックアップを実行する前に、M365 Manager Plusを停止することが不可欠です。)
- M365 Manager Plusがコンソールモードで実行されている場合は、Windowsアイコンをクリックします。M365 Manager Plusを検索し、[M365 Manager Plusの停止]を選択します。
- M365 Manager Plusがサービスとして実行されている場合は、Windowsアイコンをクリックします。サービスを検索します。表示されるウィンドウで、[ManageEngine M365 Manager Plus]を選択し、左側にある[サービスの停止]オプションを選択します。
- <M365 Manager Plus installation directory>\binに移動します。
- 管理者としてbackupDB Windowsバッチ)ファイルを実行します。プロセスが終了するまで終了しないでください。
- M365 Manager Plusの既定のデータベースのデータは、次の場所にバックアップおよび保存されます:
\backup\OineBackup _
ステップ2: PostgreSQLデータのMS SQLへの移行
注記: 移行プロセスの前に、M365 Manager Plusが停止していることを確認してください。
- MS SQL Serverがリモートコンピューターにインストールされている場合は、必要なコマンドラインユーティリティとネイティブクライアントをインストールしてから、次の手順に進みます。
- 次のファイルを<M365 Manager Plus installation directory>\binフォルダーにコピーします。
- bcp.exe - <MSSQL installation directory>\Tools\Bin\bcp.exe
- bcp.rll - <MSSQL installation directory>\Tools\Bin\Resources\1033\bcp.rll
- Microsoft SQL Serverマシンでファイアウォールが有効になっている場合、TCPおよびUDPポートを開く必要があります。
- 強制的に暗号化機能が有効になっているMicrosoft SQL Serverへ移行する場合は、以下の手順に従ってください。
- 証明書をCER形式に変換する。
- IIS マネージャー を開きます。
- 中央のペインで、[サーバー証明書]をクリックします。
- 使用する証明書を開き、[詳細]タブをクリックします。
- [ファイルにコピー]をクリックしてください。
- 表示される証明書エクスポートウィザードで[次へ]をクリックします。
- 秘密鍵のエクスポート画面で、[いいえ、秘密鍵をエクスポートしません]を選択し、[次へ] をクリックします。
- エクスポートファイル形式画面で、次のいずれかを選択してください: DER encoded binary X.509 (.CER) または Base-64 encoded X.509 (.CER), 選択後、[次へ]をクリックします。
- ファイルの[名前] を入力し、[次へ] をクリックしてから、[完了] をクリックしてください。
- SQL構成マネージャーからSSL証明書をエクスポートする
- Microsoft管理コンソール を開きます。
- [SQL Server 構成マネージャー]→[SQL Server ネットワーク構成]に移動します。
- SSL証明書をエクスポートするサーバーのプロトコルを選択します。
- 選択したオプションを右クリックし、[プロパティ]をクリックします。
- [証明書]タブをクリックし、エクスポートしたい証明書を選択して、[表示]をクリックします。
- 開いた新しいウィンドウで[ファイルにコピー]をクリックし、証明書を任意のフォルダに保存してください。
または・・・
- 証明書をCER形式に変換する。
- コマンドプロンプトを開き、<Installation directory>\jre\binに移動します。以下のコマンドを使用して、証明書をJava KeyStoreに関連付けます。
- 証明書がJavaキーストアに追加されます。
- <M365 Manager Plus directory>\binに移動します。
- 管理者としてChangeDBバッチファイルを実行します。表示されるデータベースセットアップウィザードで、サーバーの種類として[MS SQL Server]選択します。
- MS SQL Serverの ホスト名 と ポート番号 を入力します。
- ドロップダウンから[SQL Serverインスタンス]を選択します。
- 認証種類を選択します。
- Windows認証を選択する場合は、サーバーにアクセスできるユーザーアカウントのドメイン名、ユーザー名およびパスワードを入力します。
- SQL Server認証を選択する場合は、MS SQL Serverインスタンスにアクセスできるユーザーのユーザー名とパスワードを入力します。
- 移行先のMicrosoft SQL Serverで強制的に暗号化が有効になっている場合は、[SSL接続]のチェックボックスをオンにしてください。
- デフォルトのデータベースに保存されているすべてのデータを移行し、そのコピーを新しく移行したデータベースに保持する場合は、[既存のデータを移行する]の横にあるチェックボックスをオンにします。データを移行したくない場合は、チェックを外したままにしておくことができます。
- [接続をテスト]をクリックします。テストが失敗した場合は、資格情報を再確認して、再試行してください。
- [保存]をクリックして、MS SQL Serverの構成を終了します。
- M365 Manager Plus Server/Serviceを起動して、データベースとしてMS SQL Serverを使用開始できます。
| SQL Server version | Command line utilities | Native client |
|---|---|---|
| 2016 | Download | 不要 |
| 2017 | Download | 不要 |
| 2019 | Download | 不要 |
| 2022 | Download | 不要 |
keytool -import -v -trustcacerts -alias myserver -file pathofthecert\certname.cer -keystore "..\lib\security\cacerts" -keypass changeit -storepass changeit -noprompt
ここで、pathofthecert は証明書が保存されている場所、certname は証明書名です。
付録A
MS SQLサーバーの設定
新しいMS SQL Serverのインストールを構成するには、以下の手順に従ってください。既に機能するMS SQL Serverがある場合、この手順は不要です。
- コマンドプロンプトでcompmgmt.mscを実行して、SQL Server構成マネージャーを開きます。
- SQL Serverサービスに移動し、 SQL Serverブラウザーが実行されていることを確認してください。
- 左側のペインで、[SQL Serverネットワーク構成]をクリックし、[SQLEXPRESSのプロトコル]をダブルクリックします。
- 表示されるポップアップで、[プロトコル]タブに移動し、TCP/IPを有効にします。SQL Server SQL EXPRESSサービスを再起動します。
- SQL Server構成マネージャーに戻ります。左側のペインで…
- [SQL Serverネットワーク構成] →[SQLEXPRESSのプロトコル]に移動し、すべてのプロトコルを有効にします。
- [SQLネイティブクライアント設定]→[クライアントプロトコル]に移動し、すべてのプロトコルを有効にします。
付録B
MS SQL Serverアクセスをユーザーに委任する
移行プロセスを完了するには、MS SQL接続用のデータベース管理者アカウントが必要です。M365 Manager PlusがすでにWindowsサービスとして実行されている場合は、そのサービスアカウントをMS SQLデータベース管理者アカウントとして使用できます。アカウントに必要な権限があるかどうかを確認してください。MS SQL Serverに既に構成されたサービスアカウントがない場合は、以下の手順に従って新しいユーザーアカウントを作成し、それに必要なアクセス許可を割り当てます。
- SQL Server Management Studioにログインします。
- 左側のペインで、[マシン名]→[SQLEXPRESS]→[セキュリティ]→[ログイン]に移動します。
- [ログイン]を右クリックして、[新しいログイン]を選択します。
- ログイン名 を入力し、Windows認証 または SQL Server認証 のいずれかを選択します。
- Windows認証を選択した場合、アクセスを許可する必要があるユーザーのWindows NT名を入力してください。
- SQL Server認証を選択すると、新しいユーザー名とパスワードの作成を求められます。
- 新規ユーザーは、サーバーレベルでsysadminロール、データベースレベルでdb_ownerロールが必要です。新規ユーザーにsysadminおよびdb_ownerロールの権限を付与するには、以下の手順に従ってください。
- [マシン名]→[SQLEXPRESS]→[セキュリティ]→[ログイン]に移動します。[ユーザー]→[プロパティ]を右クリックします。
- [サーバーの役割]に移動し、[sysadmin]ボックスを選択して、[OK]をクリックします。
- 左側のペインの[ユーザーマッピング]に移動します。このログインリストにマップされているユーザーで、データベースを確認し、データベースロールメンバーシップのリストでdb_ownerを選択して、[OK]をクリックします。
- サーバーレベルのロールについて: http://msdn.microsoft.com/en-us/library/ms188659.aspx
- データベースレベルロールについて: http://msdn.microsoft.com/en-us/library/ms189121.aspx
一般的に、構成されたアカウントには、移行プロセスを正常に完了するために、次の3つの権限セットのいずれかが必要です。
| 必要なデータベースのロール | 必要なアクセス許可 | |
|---|---|---|
| セット1 | db_owner | 不要 |
| セット2 | db_datareader, db_datawriter, db_ddladmin, db_backupoperator. |
不要 |
| セット3 | db_ddladmin | ALTER ANY TABLE,
ALTER ANY AGGREGATE, ALTER ANY DEFAULT, ALTER ANY FUNCTION, ALTER ANY PROCEDURE, ALTER ANY QUEUE, ALTER ANY RULE, ALTER ANY SYNONYM, ALTER ANY TYPE, ALTER ANY VIEW, ALTER ANY XML SCHEMA COLLECTION, ALTER ANY REFERENCES, CONTROL ON CERTIFICATE::[ZOHO_CERT] TO [user], CONTROL ON SYMMETRIC KEY::[##MS_DatabaseMasterKey##] TO [user], CONTROL ON SYMMETRIC KEY::[ZOHO_SYMM_KEY] TO [user] |
重要:
PostgreSQLからMS SQLへの初回移行時には、必ずdb_owner権限を保持している必要があります。移行が正常に完了した後、該当アカウントのdb_owner権限を取り消し、セット2またはセット3の権限を付与してください。