Microsoft SQL Server データベースの AWS Database Migration Service のターゲットとしての使用 - AWS Database Migration Service

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Microsoft SQL Server データベースの AWS Database Migration Service のターゲットとしての使用

AWS DMS を使用して、Microsoft SQL Server データベースにデータを移行できます。SQL Server データベースをターゲットとして使用すると、別の SQL Server データベースまたはサポートされている他のデータベースのいずれかからデータを移行できます。

オンプレミスデータベースと Amazon EC2 インスタンスデータベースの場合、AWS DMS は SQL Server バージョン 2005、2008、2008R2、2012、2014、2016、2017、2019 をターゲットとしてサポートします。AWS DMS では、Enterprise、Standard、Workgroup、Developer、および Web エディションがサポートされます。

Amazon RDS インスタンスデータベースの場合、AWS DMS は SQL Server バージョン 2008R2、2012、2014、2016、2017、2019 をターゲットとしてサポートします。AWS DMS では、Enterprise、Standard、Workgroup、Developer、および Web エディションがサポートされます。

注記

ターゲットとしての Microsoft SQL Server バージョン 2019 のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

AWS DMS および SQL Server ターゲットデータベースを使用する方法の詳細については、以下を参照してください。

SQL Server を AWS Database Migration Service のターゲットとして使用する場合の制限

SQL Server データベースを AWS DMS のターゲットとして使用する場合、以下の制限が適用されます。

  • 計算列を含む SQL Server ターゲットテーブルを手動で作成する場合、BCP 一括コピーユーティリティを使用する全ロードレプリケーションがサポートされません。全ロードレプリケーションを使用するには、AWS マネジメントコンソール の [Advanced (アドバンスト)] タブで [Use BCP for loading tables (テーブルの読み込みに BCP を使用する)] オプションを無効にします。BCP の詳細な操作方法については、「Microsoft SQL Server ドキュメント」を参照してください。

  • SQL Server 空間データ型 (GEOMETRY と GEOGRAPHY) を持つテーブルをレプリケートすると、挿入した空間参照識別子 (SRID) がすべて AWS DMS によりデフォルトの SRID に置き換えられます。デフォルトの SRID は、GEOMETRY は 0、GEOGRAPHY は 4326 です。

  • 一時テーブルはサポートされていません。ターゲット上に手動で作成されている場合に、一時テーブルを移行すると、トランザクション適用モードのレプリケーションのみのタスクで動作することがあります。

  • 現在、booleanソースのデータ型は、一貫性のない値を持つPostgreSQLデータ型としてSQLServerターゲットに移行されます。bit回避策として、列の VARCHAR(1) データ型を使用してテーブルを事前に作成します (または、AWS DMS で自動的にテーブルを作成します)。次に、ダウンストリーム処理で「F」を False、「T」を True として扱います。

AWS Database Migration Service のターゲットとして SQL Server を使用する場合のセキュリティ要件

以下では、Microsoft SQL Server ターゲットとともに AWS DMS を使用する場合のセキュリティ要件について説明します。

  • AWS DMS ユーザーアカウントには、接続先の SQL Server データベースに対する db_owner ユーザーロールが最低限必要です。

  • SQL Server システム管理者は、すべての AWS DMS ユーザーアカウントにこのアクセス許可を付与する必要があります。

AWS DMS のターゲットとして SQL Server を使用する場合の追加の接続属性

追加の接続属性を使用して SQL Server ターゲットを設定できます。これらの設定は、ターゲットエンドポイントを作成するときに指定します。接続属性の設定が複数ある場合は、空白を追加せずにそれぞれをセミコロンで区切ります。

次の表に、SQL Server がターゲットである場合に使用できる追加の接続属性を示します。

Name 説明

useBCPFullLoad

BCP を使用して全ロードオペレーションのデータを転送するには、この属性を使用します。ターゲットテーブルに、ソーステーブルに存在しない IDENTITY 列が含まれている場合は、テーブルの読み込みに BCP を使用するオプションを無効にする必要があります。

デフォルト値: Y

有効な値: Y/N

例:useBCPFullLoad=Y

BCPPacketSize

BCP を使用したデータの転送に使用されるパケットの最大サイズ (バイト単位)。

デフォルト値: 16384

有効な値: 1–100000

例:BCPPacketSize=16384

controlTablesFileGroup

AWS DMS 内部テーブルのファイルグループを指定します。レプリケーションタスクが開始されると、すべての内部 AWS DMS 制御テーブル (awsdms_ apply_exception、awsdms_apply、awsdms_changes) が、指定したファイルグループで作成されます。

デフォルト値: 該当なし

有効な値: 文字列

例: controlTablesFileGroup=filegroup1  

ファイルグループを作成するコマンドの例を次に示します。

ALTER DATABASE replicate ADD FILEGROUP Test1FG1; GO ALTER DATABASE replicate ADD FILE (        NAME = test1dat5,        FILENAME = 'C:\temp\DATA\t1dat5.ndf',        SIZE = 5MB,        MAXSIZE = 100MB,        FILEGROWTH = 5MB    )    TO FILEGROUP Test1FG1;    GO

Microsoft SQL Server のターゲットデータ型

次の表に、AWS DMS を使用する場合にサポートされる Microsoft SQL Server のターゲットデータ型と、AWS DMS のデータ型からのデフォルトマッピングを示します。AWS DMS のデータ型の詳細については、「AWS Database Migration Service のデータ型」を参照してください。

AWS DMS データ型

SQL Server のデータ型

BOOLEAN

TINYINT

BYTES

VARBINARY(長さ)

DATE

SQL Server 2008 以降の場合、DATE を使用します。

それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。

TIME

SQL Server 2008 以降の場合、DATETIME2 (%d) を使用します。

それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。

DATETIME

SQL Server 2008 以降では、DATETIME2 (scale) を使用します。

それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。

INT1

SMALLINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

NUMERIC (p,s)

REAL4

REAL

REAL8

FLOAT

STRING

列が日付または時刻列の場合、次の操作を行います。

  • SQL Server 2008 以降の場合、DATETIME2 を使用します。

  • それより前のバージョンでは、スケールが 3 以下の場合は DATETIME を使用します。他のすべての場合は、VARCHAR (37) を使用します。

列が日付または時刻列ではない場合、VARCHAR (長さ) を使用します。

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INT

UINT8

BIGINT

WSTRING

NVARCHAR (長さ)

BLOB

VARBINARY(最大)

IMAGE

でこのデータ型を使用するには、特定のタスクAWS DMS用に の使用を有効にする必要があります。 BLOBs では、プライマリキーを含むテーブルでのみ BLOB データ型がサポートされます。AWS DMS

CLOB

VARCHAR(max)

でこのデータ型を使用するには、特定のタスクAWS DMSに対して CLOBs の使用を有効にする必要があります。変更データキャプチャ (CDC) 中、AWS DMS はプライマリキーを含むテーブルでのみ CLOB データ型をサポートしています。

NCLOB

NVARCHAR(最大)

でこのデータ型を使用するには、特定のタスクAWS DMS用に NCLOBs の使用を有効にする必要があります。CDC 中、AWS DMS はプライマリキーを含むテーブルでのみ NCLOB データ型をサポートします。