Db2 スキーマを SQL Server スキーマにマップする (Db2ToSQL)
Db2 では、各データベースに 1 つ以上のスキーマがあります。 既定では、SQL Server Migration Assistant (SSMA) は、Db2 スキーマ内のすべてのオブジェクトを、そのスキーマ用に指定された SQL Server データベースに移行します。 ただし、Db2 スキーマと SQL Server データベース間のマッピングはカスタマイズできます。
Db2 スキーマと SQL Server スキーマ
Db2 データベースにはスキーマが含まれています。 SQL Server のインスタンスには複数のデータベースが含まれており、それぞれに複数のスキーマを含めることができます。
スキーマの Db2 の概念は、データベースの SQL Server の概念とそのスキーマの 1 つにマップされます。 たとえば、db2 には HR
という名前のスキーマがあるとします。 SQL Server のインスタンスには、 HR
という名前のデータベースがあり、そのデータベース内にはスキーマがあります。 1 つのスキーマは、 dbo
(またはデータベース所有者) スキーマです。 既定では、Db2 スキーマ HR
は SQL Server データベースとスキーマ HR.dbo
にマップされます。 SSMA は、データベースとスキーマの SQL Server の組み合わせをスキーマと指します。
Db2 スキーマと SQL Server スキーマの間のマッピングを変更できます。
ターゲット データベースとスキーマを変更する
SSMA では、Db2 スキーマを使用可能な任意の SQL Server スキーマにマップできます。
データベースとスキーマを変更する
Db2 メタデータ・エクスプローラーで、 Schemas を選択します。
[Schema Mapping] (スキーマ マッピング) タブは、個々のデータベース、[Schemas] (スキーマ) フォルダー、または個々のスキーマを選択するときにも使用できます。 [Schema Mapping] (スキーマ マッピング) タブのリストは、選択したオブジェクトに合わせてカスタマイズされます。
右側のウィンドウで、 Schema Mapping タブを選択します。
すべての Db2 スキーマの一覧が表示され、その後にターゲット値が表示されます。 このターゲットは、オブジェクトとデータが移行される SQL Server の 2 つの部分表記 (database.schema) で示されます。
変更するマッピングを含む行を選択し、 Modify を選択します。
[ターゲット スキーマの選択] ダイアログ ボックスで、使用可能なターゲット データベースとスキーマを参照するか、テキスト ボックスにデータベースとスキーマ名を 2 つの部分表記 (database.schema) で入力し、OK を選択します。
[Schema Mapping] (スキーマ マッピング) タブでターゲットが変更されます。
マッピングのモード
SQL Server へのマッピング
ソース データベースを任意のターゲット データベースにマッピングできます。 既定では、ソース データベースは SSMA を使用して接続したターゲット SQL Server データベースにマップされます。 マップされているターゲット データベースが SQL Server 上に存在しない場合は、次のメッセージが表示されます。
The Database and/or schema does not exist in target SQL Server metadata. It would be created during synchronization. Do you wish to continue?
[はい] を選択します。 同様に、同期中に作成されるターゲット SQL Server データベースの下で、スキーマを既存以外のスキーマにマップできます。
既定のデータベースとスキーマに戻す
Db2 スキーマと SQL Server スキーマの間のマッピングをカスタマイズする場合は、マッピングを既定値に戻すことができます。
- [スキーマ マッピング] タブで任意の行を選択し、 Reset to Default を選択して、既定のデータベースとスキーマに戻します。