ADSelfService Plus ナレッジベース

PostgreSQLデータベースから MS SQL Serverへの移行方法


ADSelfService Plusでは、監査、基本ユーザー属性、登録データを保存するためのPostgreSQLデータベースがバンドルされています。
また、MS SQL Serverもサポートしておりますため、PostgreSQLデータベースからMS SQLデータベースへの移行も可能です。
本ナレッジでは、PostgreSQLデータベースからMS SQL Serverへ移行する方法をご紹介します。

※本ページは、本社ページ(Migration from PostgreSQL database server to MS SQL)を参照しております。※

対応のMS SQL Server バージョン:2012、2014、2016、2017、2019、2022
※上記の通りサポートしております。ただし、Microsoft社にてEOLとなったSQL Serverに関してはこの限りではございません。

移行プロセスにおける前提条件

移行先のMS SQL Serverインスタンスで、以下の条件が満たされている必要があります。

  1. SQL Serverブラウザが起動していること。
  2. SQL Serverのネットワーク構成において、TCP/IPプロトコルが有効になってること。
  3. すべてのクライアントプロトコルが有効になっていること。
  4. MS SQL Serverへのアクセス権が、サーバーレベルとデータベースレベルで、それぞれ sysadminとdb_owner権限を持つユーザーに委譲されていること。

※前提条件1、2、3の設定については、付録Aをご参照ください。
※前提条件4の設定については、付録Bをご参照ください。

PostgreSQLからMS SQLへの移行

ADSelf Service PlusのPostgreSQLデータベースからMS SQLへのデータ移行は、以下の2ステップで構成されます。

  1. ADSelfService Plusデータベースのバックアップ
  2. PostgreSQLデータのMS SQL移行
ステップ1 ADSelfService Plusデータベースのバックアップ

ADSelfService Plusを初めてインストールする場合にバックアップするデータがない場合は、このステップをスキップして次に進んでください。
バックアップしたデータを含むデータベースを移行する場合は以下の手順に従ってください。

方法1オフライン手動バックアップ
  1. ADSelfService Plusのサービスを停止します。
  2. a. ADSelfService Plusがコンソールモードで実行されている場合、Windowsアイコンをクリックします。
    ADSelfService Plusを検索し、[ADSelfService Plusを停止する]を選択します。

    b. ADSelfService Plusがサービスとして実行されている場合は、Windowsアイコンをクリックします。 サービスを検索し、表示されたウィンドウでManageEngine ADSelfService Plusを選択して、左側の[サービスの停止]オプションを選択します。

  3. コマンドプロンプトを右クリックし、[管理者として実行]を選択して、管理者としてコマンドプロンプトを起動します。
  4. インストールディレクトリの bin フォルダ (デフォルト:C:\Program Files\ManageEngine\ADSelfService Plus\bin) に cdコマンドで移動します。
  5. backupDB.batコマンドを実行し、データベースをバックアップします。
  6. ADSelfService PlusのインストールディレクトリにBackupというフォルダが作成され、(デフォルト:C:\Program Files\ManageEngine\ADSelfService Plus\Backup)、圧縮ファイル形式(例:OfflineBackup_202309261510.ezip)のデータベースバックアップが格納されます。

DBファイルのバックアップ中に以下のエラーが出力された場合、 この手順実行の前に製品が正しく停止されたかをご確認ください。
方法2 ADSelfService Plus管理ポータルを使用したバックアップ
  1. 管理者権限でADSelfService Plusポータルにログインします。
  2. [管理] →[製品設定]→[バックアップ設定]に進みます。
  3. バックアップ設定ページで、任意のファイルパスを入力します(デフォルトでは、インストールディレクトリのファイルパスが記載されます)。
  4. [今すぐバックアップ]をクリックします。
  5. ADSelfService PlusのインストールディレクトリにBackupというフォルダが作成され、(デフォルト:C:\Program Files\ManageEngine\ADSelfService Plus\Backup)、圧縮ファイル形式(例:081224-1547.ezip)のデータベースバックアップが格納されます。
ステップ2 PostgreSQLデータのMS SQL移行
このプロセスの前に、ADSelfService Plusコンソールまたはサービスが停止していることを確認してください。
  1. MS SQL Serverがリモートコンピューターにインストールされている場合、必要なコマンドラインユーティリティ、ネイティブクライアント、またはODBCドライバーをインストールし、次の手順に進みます。
  2. 本社ナレッジページでは、Microsoft SQLフィーチャーパックのメインページにリダイレクトするリンクを配置しております。必要に応じてダウンロードしてご使用ください。その際、同ページの"Note"をご一読ください。
  3. 以下のファイルを<ADSelfService Plusインストールディレクトリ>\binフォルダーにコピーします。
  4. i. bcp.exe- <MSSQLインストールディレクトリ>\Tools\Binn\bcp.exe
    ii. bcp.rll- <MSSQLインストールディレクトリ>\Tools\Binn\Resources\1033\bcp.rll

    bcp.exe依存関係が正しくインストールされていることを確認するため、コマンドプロンプトを起動し 、<ADSelfService Plusインストールディレクトリ>\binに移動して、bcp.exe /vを実行してください。bcp.exeファイルのバージョンが正しく表示されている場合は、依存関係は正しくインストールされています。
  5. <ADSelfService Plusインストールディレクトリ>\binに移動します。
  6. 移行するデータがない場合は、コマンドChangeDB(Windowsバッチファイル)を管理者として実行します。
  7. データをそのまま移行したい場合は、管理者権限でコマンドプロンプトを開き、binに移動してコマンド changeDB.bat trueを実行します。
  8. データベース設定ウィザードが開きます。サーバーの種類としてMS SQL Serverを選択し、MS SQL Serverインスタンスのホスト名 を入力します。
  9. SQLブラウザサーバーが稼働しており、TCPポート1433とUDPポート1434が開いていることを確認してください。ポート番号と利用可能な MS SQL Serverインスタンスの値が自動的に読み込まれます。表示されたインスタンスのリストから、使用するインスタンスを選択し、データベース名を入力します。
  10. 認証タイプを選択します。
  11. a.Windows認証を選択した場合は、サーバーにアクセスできるユーザーアカウントのドメイン名、ユーザー名、パスワードを入力します。

    b.SQLサーバー認証を選択した場合は、MS SQL Serverにアクセスできるユーザーのユーザー名とパスワードを入力します。

    ・ADSelfService Plusサーバーと MS SQL serverが異なるドメインに存在する場合、Windows認証は使用できません。この場合、SQL Server認証を使用してください。
    ・ADSelfService PlusがすでにWindowsサービスとして起動している場合、データベースの設定にそのサービスアカウントを使用するか、別のアカウントを作成することができます。別のアカウントを作成する場合は、ADSelfService PlusサービスアカウントがMS SQL serverにアクセスするために必要な権限を保持していることに注意してください。 必要な権限についての詳細は、付録Bを参照してください。
  12. テストをクリックして、入力された認証情報が正しいかを確認します。接続に失敗する場合は、入力した認証情報が間違っている可能性があります。正しい認証情報を再入力してください。
  13. 保存をクリックします。

付録A

MS SQL server構成

すでに有効なMS SQL Serverインスタンスがある場合は、この手順は不要です。
新たにインストールしたMS SQL Serverのインスタンスを構成する場合には、以下の手順に従います。

  1. SQL Server構成マネージャーを開くか、コマンドプロンプトでcompmgmt.mscを実行します。
  2. SQL Serverのサービス→ SQL Server Browserに進みます。SQL Server Browserが起動していることを確認します。
  3. SQL Server ネットワークの構成に移動し、<Instance_Name>のプロトコルをダブルクリックします。
  4. TCP/IPプロトコルをクリックし、有効化します。
  5. SQL Server サービスを再起動します。
  6. SQL Server構成マネージャーに戻り、左側ペインで SQL Serverネットワークの構成 → SQLEXPRESS 用プロトコルに移動し、すべてのプロトコルを有効にします。次に、SQL Native Clientの構成→ クライアント プロトコル移動し、すべてのプロトコルを有効にします。
SQLEXPRESSは、一般的にMS SQL Serverの設定時に提供されるインスタンス名ですが、変更も可能です。以下の説明では SQLEXPRESS を使用します。

付録B

MS SQL Serverへのアクセスをユーザーに委任する

移行プロセスを完了するには、MS SQL接続用のデータベース管理アカウントが必要です。ADSelfService Plus がすでに Windows サービスとして実行されている場合、そのサービスアカウントを MS SQL データベース管理者アカウントとして使用できます。そのアカウントが必要な権限を保有していることを確認してください。MS SQLに該当アカウントがない場合は、以下の手順に従って新しいユーザーアカウントを作成し、必要な権限を割り当ててください。

  1. SQL Server Management Studioにログインします。
  2. 左ペインで、マシン名→[SQLEXPRESS]→セキュリティ→ログインに移動します。
  3. ログインを右クリックし、新規ログインを選択します。
  4. ログイン名を入力し、Windows 認証と SQL Server認証どちらを使用するか選択します。
  5. ・Windows 認証を選択した場合は、アクセスを許可するユーザーの Windows NT名を入力します。
    ・SQL Server 認証を選択した場合は、新しいユーザー名とパスワードを作成するよう求められます。

  6. 新しいユーザーは、サーバーレベルのsysadmin権限とデータベースレベルのdb_owner権限を持つ必要があります。以下の手順に従って、sysadmin および db_owner権限を与えてください。
  7. ・マシン名→[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セットを必要とします。
初めてPostgreSQLをMS SQLに移行する際には、db_owner権限が必要であることに注意してください。移行が成功した後、そのアカウントのdb_owner権限を取り消し、セット2またはセット3の権限を与えることができます。