Docs Menu
Docs Home
/
Relational Migrator
/ /

SQL Server の移行前提条件の構成

項目一覧

  • このタスクについて
  • 手順
  • 詳細

SQL Server の ソースデータベースから移行ジョブを実行するには、データベースの構成変更が必要になる場合があります。移行ジョブを開始する前に、 Relational Migratorはデータベースが正しく構成されているかどうかを確認します。 Relational Migratorでデータベースの構成変更が必要と判断された場合は、必要な変更を伴うSQLスクリプトが自動的に生成されます。データベース管理者(DBA)にこのスクリプトのコマンドを確認し、データベースサーバー上で実行させることをお勧めします。このトピックでは、必要な構成手順の詳細について説明します。 SQL Server の構成は移行ジョブの種類によって異なります。

  • スナップショット移行ジョブはすべてのデータを移行し、その後停止します。

  • 継続的な移行ジョブはスナップショットを実行し、その後 CDC ステージに入り、データ変更を継続的に複製します。

  • このページでは、Relational Migrator によって自動生成される SQL スクリプトの詳細について説明します。

  • Relational Migrator は、データベースに接続するときに構成設定を自動的に検出し、必要に応じて CDC を有効にするための適切な SQL ステートメントを生成します。

  • Relational Migratorでは、移行ジョブを容易にするためにSQL Server にインデックスを作成しません。作成インデックスの作成権限は必要ありません。

データベースを設定する最も簡単な方法は、 が移行ジョブを作成 するときにダウンロードするよう要求する自動Relational Migratorスクリプトを実行することです。権限を理解するか、 SQLを手動で実行するには、以下の手順をお読みください。

移行ジョブのタイプに基づいてSQL Serverインスタンスを構成します。スナップショットと継続的な移行ジョブの構成の詳細については、以下のタブを参照してください。

SQL Server に対するスナップショット ジョブの場合は、データベース レベルで CDC を有効にする必要があります。

1

データベースレベルの CDC で CDC を有効にすると、データベース内に少数のシステムテーブルが生成されますが、ユーザーテーブルは変更されずに残り、パフォーマンスのオーバーヘッドは追加されません。 CDC のみを有効にしても、変更はキャプチャされません。

SQL Server に対する継続的なジョブの場合は、各テーブルに対してデータベース レベルとテーブル レベルの両方で CDC を有効にする必要があります。

1

データベース レベルで CDC を有効にするには、 sys.sp_cdc_enable_dbの保存済み手順を使用します。

以下のコード ブロックは、Relational Migrator によって自動生成されるコードのサンプルです。 MyDBのデータベース名を置き換えることで、コードを手動で実行できます。

USE MyDB
GO
EXEC sys.sp_cdc_enable_db
GO

RDS でホストされている SQLServer インスタンスの場合:Amazon Web Services

USE MyDB
GO
EXEC msdb.dbo.rds_cdc_enable_db 'MyDB';
GO
2

テーブル レベルで CDC オプションを有効にするには、次の手順に従います。

  1. サーバーレベルのsysadminロールが必要です。

  2. データベース レベルのdb_ownerロールが必要です。

  3. SQL Server エージェント は実行中である必要があります。

  4. SQL Server への接続に使用されるサービス アカウントには、すべての必須テーブルに対する 選択 権限が必要です。

3

テーブル レベルで CDC を有効にするには、 sys.sp_cdc_enable_tableの保存された手順を使用します。

sys.tables カタログ ビュー で 列を表示すると、SQL Server CDC 設定を確認できます。is_tracked_by_cdcis_tracked_by_cdcの値が1の場合は、テーブルが変更データ キャプチャに対して有効になっていることを示します。

以下のコード ブロックは、自動生成されるコードのサンプルです。コードを手動で実行してテーブル CDC を有効にできます。

USE MyDB
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo',
@source_name = N'MyTable',
@role_name = N'MyRole',
@filegroup_name = N'MyDB_CT',
@supports_net_changes = 1
GO

Relational Migrator は、行レベルの変更をキャプチャするためにオープンソースの Debezium コネクターに依存しています。 詳細については、 「 Debezium SQL Server」 を参照してください。

戻る

PostgreSQL