組み込みデータベースサーバー(PostgreSQL)をMicrosoft SQL Server、または別インスタンスのPostgreSQLサーバーへ移行
サポート対象のデータベース移行:
- PostgreSQLサーバーから、Microsoft SQL Serverまたは別インスタンスのPostgreSQLサーバーへの移行
- Microsoft SQL Serverから、PostgreSQLサーバーまたは別インスタンスのMicrosoft SQL Serverへの移行
サポート対象のデータベースのバージョン:
- PostgreSQL:10~14
- MS SQL:2008以降
組み込みのPostgreSQLを別のデータベースに移行するには、以下の手順を実施します。
PostgreSQLデータのバックアップ
- Log360サーバー/サービスを停止します。
- PostgreSQLデータベースのデータをバックアップするために、コマンドプロンプトで「<Log360_インストールディレクトリ>\bin\app_ctl.bat backupDB」を実行します。デフォルトでは、バックアップファイルは「<Log360_インストールディレクトリ>\Backup\Log360_Backup<Backup_time>」ディレクトリに保存されます。
Microsoft SQL Serverの設定
Microsoft SQL Serverで実行される一般的な設定
- [SQL Server 構成マネージャー]を開きます。
- [SQL Server のサービス]に移動し、[SQL Server Browser]サービスが実行されていることを確認します。
- [SQL Server ネットワークの構成] → [SQLEXPRESS(設定したインスタンス)のプロトコル] → [TCP/IP]を有効化します。次にSQLサーバー(SQLEXPRESS - 設定したインスタンス)のサービスを再起動します。
- SQL Server 構成マネージャー用に以下の設定を行います。
- [SQL Server ネットワークの構成] → [<設定したインスタンス>のプロトコル] → すべて有効化します。
- [SQL Native Clientの構成] → [クライアントプロトコル] → すべて有効化します。
資格情報の付与
- [SQL Server Management Studio]を起動します。
- [<マシン名>\SQLEXPRESS] → [セキュリティ] → [ログイン]と展開します。
- Log360サービスアカウントユーザーがすでにリストに含まれているか確認します。
含まれていない場合、[ログイン]を右クリック → [新しいログイン]をクリックして、ユーザー名を登録してください。新規ユーザーはサーバーロールとして「sysadmin」レベルと、データベースロールとして「db_owner」レベルを保持している必要があります。
以下の手順でsysadminレベルのロールを付与してください。
ユーザーを右クリックし、[プロパティ]をクリックします
[サーバー ロール]に移動 → 「sysadmin」にチェックを入れて[OK]をクリックします
注記:ユーザーの役割についての詳細:
以下のリンク先の資料をご参照ください。
サーバーレベルロール:https://msdn.microsoft.com/en-us/library/ms188659.aspx
データベースレベルロール:http://msdn.microsoft.com/en-us/library/ms189121.aspx
ユーザーのサーバーロールは「sysadmin」であり、ユーザーのデータベースロールは「db_owner」である必要があります。sysadminレベルのサーバーロールメンバーはSQLサーバーで任意の操作を行えて、データベースの全機能を管理する権限があります。db_ownerレベルのデータベースロールのメンバーはデータベースで任意の操作を行えます。
ローカルコンピューター上のMS SQLサーバー
以下のファイルを「<Log360_インストールディレクトリ>\bin」フォルダーにコピーします。
- bcp.exe:<MSSQL_インストールフォルダー>\Client SDK\ODBC\...\Tools\Binn\bcp.exe
例)C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\...\Tools\Binn\bcp.exe - bcp.rll:<MSSQL_インストールフォルダー>\Client SDK\ODBC\...\Tools\Binn\Resources\1033\bcp.rll
例)C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\...\Tools\Binn\Resources\1033\bcp.rll
リモートコンピューター上のMS SQLサーバー
注記:Log360マシンのMS SQL ServerバージョンとCPUの種類に対応するSQL Native Clientおよびコマンドラインユーティリティを、Log360マシンにインストールしてください。
注記:Log360は、MS SQL Serverバージョン2022もサポートしています。
コマンドラインユーティリティをインストール後、以下のファイルをコピーします。
ファイルを「<Log360_インストールディレクトリ>\bin」フォルダーにコピーします。
- bcp.exe:<MSSQL_インストールフォルダー>\Client SDK\ODBC\130\Tools\Binn\bcp.exe
- bcp.rll:<MSSQL_インストールフォルダー>\Client SDK\ODBC\130\Tools\Binn\Resources\1033\bcp.rll
Windowsファイアウォールの設定
MS SQL Serverマシンのファイアウォールが有効の場合、TCPポートとUDPポートを開く必要があります。
UDPポートは、通常1434です。
TCPポートの設定を確認するには、SQL Server 構成マネージャーを開きます。
- [SQL Server ネットワークの構成] → [<設定したインスタンス>のプロトコル]
- [TCP/IP]を右クリック → [プロパティ] → [IPアドレス]タブへ進み、[TCP動的ポート]に設定されているポート番号をファイアウォールで開きます。
データベースの移行
重要:手順の実施前に、Log360のバックアップ/スナップショットを取得してください。
- コマンドプロンプトを開き、「<Log360_インストールディレクトリ>\bin」に移動します。
- 「shutdown.bat」を実行してLog360を停止します。
- 「changeDB.bat」を実行します。
- [サーバーの種類]から、切り替える予定のデータベースサーバーを選択します。
- [PostgreSQL Server]を選択した場合は、以下のようになります。
- [ホスト名]と[ポート]に、PostgreSQLデータベースサーバーのホスト名またはIPアドレスとポート番号を入力します。
- 新しいデータベースを作成するために必要な権限を持つユーザーのユーザー名とパスワードを入力します。
- [MS SQL Server]を選択した場合は、以下のようになります。
- 「bcp.exe」と「bcp.rll」ファイルをbinフォルダーに手動で移動します。
- [ホスト名]と[ポート]に、MS SQLデータベースサーバーのホスト名またはIPアドレスとポート番号を入力します。
- [サーバーインスタンスを選択]で、使用するSQL Serverインスタンスを選択します。
- 認証には、Windowsの認証情報またはSQLサーバーのユーザーアカウントのいずれかを使用できます。
- SQLサーバーのユーザーアカウントを使用する場合は、[SQL Server]を選択し、ユーザー名とパスワードを入力します。
- Windowsの認証情報を使用する場合は、[Windows]を選択し、Windowsドメインユーザーアカウントのユーザー名とパスワードを入力します。
注記:使用するユーザーアカウントには、選択したMSSQLサーバーにデータベースを作成するためのアクセス許可が必要です。
- 古いデータベースから新しいデータベースにデータをコピーするために、[既存のデータを移行]にチェックを入れます。
- 移行先のMSSQLサーバーで強制暗号化が有効になっている場合は、[SSL接続]にチェックを入れます。
- [接続をテスト]をクリックし、接続が確立されるまで待ちます。
- テスト接続が正常に確立されたら、[DBをコンフィグ]をクリックして移行を開始します。
重要:Log360の新規インストールのデータベースを変更する場合のみ、チェックボックスをオフのままにしてください。