> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 移行

export const cloudEnv = false;

export const siteNameShortLower = "sync";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

{siteName} はデフォルトでアプリケーションデータを格納するために組み込みのDerby データベースを使用します。このデータベースをMicrosoft SQL Server、MySQL、PostgreSQL などの外部データベースに移行できます。

外部データベースへの移行により、パフォーマンス、スケーラビリティ、およびエンタープライズデータベース標準との整合性が向上します。{siteNameShort} は、環境を検証してターゲットデータベースにスキーマとデータをコピーする**アプリケーションデータベース移行**ツールをUI で提供しています。

移行には、アプリケーションスキーマとデータ（ジョブ、タスク、スケジュール、監査、リクエスト、履歴（システム制限の範囲内）を含む）が含まれます。データベースオブジェクトはSync のスキーマロジックを使用して作成され、データタイプはターゲットデータベースに基づいてマッピングされます。

データベース移行ツールは、次のシナリオで使用できます：

* デフォルトのDerby データベースから本番環境での使用のために外部データベースへの移行
* 既存のデータベースプラットフォームへの統一化
* 外部アプリケーションデータベースを必要とする環境または設定の準備

外部データベースへの移行後、元のDerby データベースは保持され、必要に応じてフォールバックとして使用できます。

<Note><span>{siteNameShort} は自動的に新しいデータベースに切り替えません。詳細については、<a href="#新しいデータベースへの切り替え">新しいデータベースへの切り替え</a>を参照してください。</span></Note>

## 前提条件

移行を開始する前に、環境が以下の要件を満たしていることを確認してください。移行プロセスはアプリケーションデータベースへの排他的アクセスが必要であり、これらの条件が満たされていない場合は実行がブロックされます。

* {siteNameShort} への管理者アクセス権がある。
* ターゲットデータベースにアクセス可能で、スキーマ、テーブル、インデックスを作成する権限がある。
* すべてのジョブが停止されており、変更データキャプチャ（CDC）エンジンが実行されていない。
* 1つのノードのみが実行されている。移行を開始する前に、他のすべてのノードを停止する。

## データベースの移行

アプリケーションデータベースを移行するには：

1. {siteNameShort} を開き、{siteNameShort} ウィンドウの右上にある歯車アイコンをクリックして**設定**ページに移動します。

2. **移行**タブで、**アプリケーションデータベース移行**セクションを見つけます。

3. **アプリケーションデータベースを移行**をクリックします。以下に示すように、セーフモードを有効にするよう求められる場合があります：

   <img src="https://mintcdn.com/cdata-sync/IzPXzuYOg0g8nJPd/images/Migrating-the-Application-Database_migrating-the-database_1.png?fit=max&auto=format&n=IzPXzuYOg0g8nJPd&q=85&s=20dd0bffbdd46f26b64ed1289ec190a6" width="300" alt="Safe mode prompt" data-path="images/Migrating-the-Application-Database_migrating-the-database_1.png" />

   ダイアログボックスで**セーフモードに入る**をクリックすると、{siteNameShort} はバックグラウンドプロセスを無効にし、すべてのスレッドが停止するまで待機します。{siteNameShort} がセーフモードになると、確認メッセージとともに別のダイアログボックスが表示されます。

   <img src="https://mintcdn.com/cdata-sync/IzPXzuYOg0g8nJPd/images/Migrating-the-Application-Database_migrating-the-database_2.png?fit=max&auto=format&n=IzPXzuYOg0g8nJPd&q=85&s=b1dd0b585c8875d2e635537a70f5cb8c" width="300" alt="Safe mode confirmation" data-path="images/Migrating-the-Application-Database_migrating-the-database_2.png" />

4. **データベースを選択**をクリックして、選択ダイアログボックスを開きます。

5. **データベースを選択**タブで、データベースを選択します。

   <img src="https://mintcdn.com/cdata-sync/IzPXzuYOg0g8nJPd/images/Migrating-the-Application-Database_migrating-the-database_3.png?fit=max&auto=format&n=IzPXzuYOg0g8nJPd&q=85&s=ce288d99041cae679f44c601766bce8c" width="450" alt="Select Database tab" data-path="images/Migrating-the-Application-Database_migrating-the-database_3.png" />

6. 選択したサーバーの接続詳細を入力します。（各データベースによって接続詳細が若干異なることに注意してください。）

7. **接続テスト**をクリックします。接続テストが成功した場合は**次へ**をクリックします。接続テストが失敗した場合は、接続詳細を確認し、エラーを修正してから再試行します。

8. **移行**タブで**移行を開始**をクリックしてプロセスを開始します。移行が開始される前に、{siteNameShort} はジョブやCDC エンジンが実行されていないこと、システムがセーフモードであることなど、すべての前提条件が満たされているかどうかを検証します。

   <Note><span>検証が失敗した場合、{siteNameShort} は続行する前に問題を解決する必要があることを示すメッセージを表示します。</span></Note>

   移行が完了するまで待ちます。移行の進行状況がUI に表示されます。

9. 移行が完了した後に提供される暗号化された接続文字列をコピーします。この接続文字列は、新しいデータベースへの切り替え方法を説明する次のセクションで使用する必要があります。

<Note><span>移行が失敗した場合、{siteNameShort} は変更をロールバックして元のDerby データベースを保持します。</span></Note>

## 新しいデータベースへの切り替え

移行が完了したら、次の手順で新しいデータベースに切り替えます：

1. sync.properties ファイルを開き、次のプロパティを設定します：

   ```
   cdata.app.db=<YourEncryptedConnectionString>
   ```

   <Note>接続文字列などの暗号化された値についての詳細は、[サーバーの設定](../../installation-and-configuration/configuring-the-server#encrypting-sensitive-configuration-values)を参照してください。</Note>
2. ファイルを保存して {siteNameShort} を再起動します。

再起動後、{siteNameShort} は外部データベースを使用します。

## 高可用性またはクラスタ環境でのデータベースの切り替え

{siteNameShort} が高可用性（HA）またはクラスタ環境にデプロイされている場合は、移行前に1つを除くすべてのノードを停止する必要があります。移行が完了したら、次のようにすべてのノードを更新する必要があります：

1. 各ノードのsync.properties ファイルを開きます。

2. `cdata.app.db` プロパティを移行中に生成された暗号化された接続文字列に設定します。

   ```
   cdata.app.db=<YourEncryptedConnectionString>
   ```

3. 各ノードで {siteNameShort} を再起動します。
