翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Microsoft SQL Server データベースの AWS DMS のソースとしての使用
AWS DMS を使用して、1 つ以上の Microsoft SQL Server データベースからデータを移行できます。SQL Server データベースをソースとして使用すると、別の SQL Server データベースまたはサポートされている他の AWS DMS データベースのいずれかにデータを移行できます。
AWS DMS がソースとしてサポートする SQL Server のバージョンについては、「のソース AWS DMS」を参照してください。
ソース SQL Server データベースは、ネットワーク内のどのコンピュータにもインストールできます。選択したタスクのタイプに応じてソースデータベースに対する適切なアクセス権限のある SQL Server アカウントは、そのデータベースを AWS DMS で使用するために必要です。詳細については、「SQL Server タスクのアクセス許可」を参照してください。
AWS DMS は、SQL Server の名前付きインスタンスからのデータ移行をサポートしています。ソースエンドポイントを作成するとき、サーバー名では次の表記を使用できます。
IPAddress\InstanceName
たとえば、正しいソースエンドポイントサーバー名を以下に示します。ここでは、名前の最初の部分はサーバーの IP アドレス、2 番目の部分は SQL Server インスタンス名 (この例では SQLTest) です。
10.0.0.25\SQLTest
また、SQL Server の名前付きインスタンスがリッスンするポート番号を取得し、それを使用して AWS DMS ソースエンドポイントを設定します。
注記
ポート 1433 は、Microsoft SQL Server のデフォルトです。ただし、SQL Server をスタートするたびに変化する動的ポート、およびファイアウォール経由で SQL Server に接続するために使用される特定の静的ポート番号もよく使用されます。したがって、AWS DMS ソース エンドポイントを作成するときに、SQL Server の名前付きインスタンスの実際のポート番号を確認してください。
SSL を使用して、SQL Server エンドポイントとレプリケーションインスタンスとの接続を暗号化できます。SQL Server エンドポイントで SSL を使用する方法の詳細については、「SSL で を使用する AWS Database Migration Service」をご参照ください。
SQL Server データベースからの継続的な移行に CDC を使用できます。CDC のソースの SQL Server データベースへの設定方法の詳細については、「SQL Server からの継続的なレプリケーションのデータ変更をキャプチャする」を参照してください。
SQL Server ソースデータベースと AWS DMS を使用する方法の詳細については、以下をご参照ください。
トピック
SQL Server を AWS DMS のソースとして使用する場合の制限
SQL Server データベースを AWS DMS のソースとして使用する場合は、以下の制限が適用されます。
-
列のアイデンティティプロパティは、ターゲットデータベース列に移行されません。
-
SQL Server エンドポイントでは、スパース列のあるテーブルの使用はサポートされていません。
-
Windows 認証はサポートされていません。
-
SQL Server の計算済みフィールドの変更はレプリケーションされていません。
-
一時テーブルはサポートされていません。
-
SQL Server パーティション切り替えはサポートされていません。
-
WRITETEXT ユーティリティと UPDATETEXT ユーティリティを使用している場合、AWS DMS ではソースデータベースに適用されたイベントがキャプチャされません。
-
次のデータ操作言語 (DML) パターンはサポートされていません。
SELECT * INTO
new_table
FROMexisting_table
-
SQL Server をソースとして使用している場合、列レベルの暗号化はサポートされていません。
-
AWS DMSでは、ソースとして使用する SQL Server 2008 または SQL Server 2008 R2 でのサーバーレベルの監査はサポートされていません。これは、SQL Server 2008 および 2008 R2 に関する既知の問題が原因です。たとえば、次のコマンドを実行すると AWS DMS でエラーが発生します。
USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
-
SQL Server をソースとして使用する場合、ジオメトリ列は完全 LOB モードではサポートされません。代わりに、制限付き LOB モードを使用するか、インライン LOB モードを使用するように
InlineLobMaxSize
タスク設定を行います。 -
レプリケーションタスクで Microsoft SQL Server のソースデータベースを使用する場合、このタスクを削除しても、SQL Server Replication Publisher 定義は削除されません。Microsoft SQL Server システム管理者がそれらの定義を Microsoft SQL Server から削除する必要があります。
-
スキーマバインドビューと非スキーマバインドビューからのデータの移行は、フルロードのみのタスクでサポートされます。
-
sp_rename を使用したテーブルの名前の変更はサポートされていません (たとえば、
sp_rename 'Sales.SalesRegion', 'SalesReg;)
)。 -
sp_rename を使用した列の名前の変更はサポートされていません (たとえば、
sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
)。 AWS DMS では、列のデフォルト値を設定および設定解除するための変更処理 (
ALTER TABLE
ステートメントでのALTER COLUMN SET DEFAULT
句の使用)はサポートされていません。-
AWS DMS では、列の null 機能を設定するための変更処理はサポートされていません (
ALTER COLUMN [SET|DROP] NOT NULL
句を使用したALTER TABLE
ステートメント)。 -
SQL Server 2012 および SQL Server 2014 では、可用性グループで DMS レプリケーションを使用する場合、ディストリビューション データベースを可用性グループに配置できません。SQL 2016 では、マージ、双方向、またはピアツーピアのレプリケーション トポロジで使用されるディストリビューション データベースを除き、ディストリビューション データベースを可用性グループに配置できます。
-
パーティション分割されたテーブルの場合、AWS DMS はパーティションごとに異なるデータ圧縮設定をサポートしていません。
-
SQL Server の空間データ型 (GEOGRAPHY および GEOMETRY) に値を挿入するときは、SRID (空間リファレンス系識別子) プロパティを無視するか、別の数値を指定できます。空間データ型のテーブルをレプリケートする場合、AWS DMS は SRID をデフォルトの SRID に置き換えます (GEOMETRY の場合は 0、GEOGRAPHY の場合は 4326)。
-
データベースが MS-REPLICATION または MS-CDC 用に設定されていない場合でも、プライマリキーを持たないテーブルをキャプチャできますが、INSERT/DELETE DML イベントのみがキャプチャされます。UPDATE イベント TRUNCATE TABLE イベントは無視されます。
-
Columnstore インデックスはサポートされていません。
-
メモリ最適化テーブル (インメモリ OLTP を使用) はサポートされていません。
-
複数の列で構成されるプライマリ キーを持つテーブルをレプリケーションする場合、全ロード中にプライマリ キー列の更新はサポートされません。
-
遅延永続化はサポートされていません。
-
RDS がバックアップを実行する方法が原因で、
readBackupOnly=Y
エンドポイント設定 (追加の接続属性) は RDS for SQL Server ソースインスタンスでは機能しません。 -
RDS ユーザーは SQL Server ストアド プロシージャ (
sp_repldone
) を実行するアクセス権がないため、Amazon RDS SQL Server ソースインスタンスでEXCLUSIVE_AUTOMATIC_TRUNCATION
は動作しません。 AWS DMS は、truncate コマンドをキャプチャしません。
-
AWS DMS は、高速データベース復旧 (ADR) が有効になっているデータベースからのレプリケーションをサポートしていません。
-
AWS DMS は、単一のトランザクション内でのデータ定義言語 (DDL) とデータ操作言語 (DML) のステートメントのキャプチャをサポートしていません。
-
AWS DMS は、データ層アプリケーションパッケージ (DACPAC) のレプリケーションをサポートしていません。
-
プライマリキーまたは一意のインデックスが関連し、複数のデータ行を更新する UPDATE ステートメントについては、ターゲットデータベースに変更を適用すると競合が発生する可能性があります。これは例えば、ターゲットデータベースが単一の UPDATE ステートメントではなく INSERT や DELETE のステートメントとして更新を適用する場合に発生する可能性があります。バッチ最適化の適用モードでは、テーブルが無視されることがあります。トランザクション適用モードでは、UPDATE 操作により制約違反が発生する可能性があります。この問題を回避するには、関連するテーブルをもう一度ロードします。または、例外の適用コントロールテーブル (
dmslogs.awsdms_apply_exceptions
) で問題のあるレコードを検出して、ターゲットデータベースで手動で編集することもできます。詳細については、「変更処理のチューニング設定」を参照してください。 -
AWS DMS は、名前に次の特殊文字セットが含まれるテーブルとスキーマのレプリケーションをサポートしていません。
\\ -- \n \" \b \r ' \t ;
-
データマスキングはサポートされていません。AWS DMS は、マスクされたデータをマスクせずに移行します。
-
AWS DMS は、各テーブルにプライマリキーを持つ最大 32,767 個のテーブルと各テーブルで最大 1,000 の列をレプリケートします。これは、AWS DMS がレプリケートするテーブルごとに SQL Server レプリケーションアーティクルを作成しても、SQL Server レプリケーションアーティクルには次の制限があるためです。
-
変更データキャプチャ (CDC) を使用する場合、一意のインデックスを構成するすべての列を
NOT NULL
として定義する必要があります。この要件が満たされない場合、SQL Server システムエラー 22838 が発生します。 SQL Server がアクティブトランザクションログからバックアップログにアーカイブしたり、アクティブトランザクションログから切り捨てたりすると、イベントが損失する可能性があります。
バックアップトランザクションログにアクセスするときには、次の制限が適用されます。
-
暗号化バックアップはサポートされていません。
-
URL または Windows Azure に保存されたバックアップはサポートされていません。
-
AWS DMS は、代替共有フォルダからのファイルレベルでのトランザクションログバックアップの直接処理はサポートしていません。
Amazon RDS for Microsoft SQL Server 以外の Cloud SQL Server ソースの場合、AWS DMS はアクティブなトランザクションログでのみ継続的なレプリケーション (CDC) をサポートします。CDC ではバックアップログを使用できません。SQL Server がアクティブトランザクションログからバックアップログにアーカイブしたり、DMS が読み取れるようになる前にアクティブトランザクションログから切り捨てたりすると、イベントが損失する可能性があります。
Amazon RDS for Microsoft SQL Server ソースの場合、DMS は CDC でバックアップログにアクセスできないため、AWS DMS 3.5.2 以前はアクティブなトランザクションログでのみ継続的なレプリケーション (CDC) をサポートします。RDS for SQL Server がアクティブトランザクションログからバックアップログにアーカイブしたり、DMS が読み取れるようになる前にアクティブトランザクションログから切り捨てたりすると、イベントが損失する可能性があります。この制限事項は AWS DMS バージョン 3.5.3 以降には適用されません。
SQL Server タスクのアクセス許可
全ロードのみのタスクに対する許可
全ロード専用タスクを実行するには、次の許可が必要です。AWS DMS は dms_user
ログインを作成しないことに注意します。SQL Server のログインの作成については、「Microsoft SQL Server でのデータベースユーザーの作成」を参照してください。
USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;
継続的なレプリケーションを使用するタスクのアクセス許可
セルフマネージド型 SQL Server インスタンスは、sysadmin
ロールの使用の有無にかかわらず、DMS を使用した継続的なレプリケーション用に設定できます。sysadmin
ロールを付与できない SQL Server インスタンスの場合、DMS ユーザーに次に説明される権限があることを確認します。
セルフマネージド型 SQL Server データベースからの継続的なレプリケーションのアクセス許可を設定する
SQL Server Management Studio (SSMS) を使用したパスワード認証を使用して、また
self_managed_user
など、前に「全ロードのみのタスクに対する許可」で説明したように、新しい SQL Server アカウントを作成します。以下の
GRANT
コマンドを実行します。GRANT VIEW SERVER STATE TO
self_managed_user
; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TOself_managed_user
; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TOself_managed_user
; GRANT SELECT ON MSDB.DBO.BACKUPFILE TOself_managed_user
; USE db_name; CREATE USERself_managed_user
FOR LOGINself_managed_user
; ALTER ROLE [db_owner] ADD MEMBERself_managed_user
; GRANT VIEW DEFINITION toself_managed_user
;前述のアクセス許可に加えて、ユーザーは以下のいずれかが必要です。
ユーザーは
sysadmin
固定サーバーロールのメンバーである必要がありますソース設定に応じ、可用性グループ環境の SQL Server での継続的なレプリケーションのセットアップ: sysadmin ロールなし または スタンドアロン SQL Server での継続的なレプリケーションのセットアップ: sysadmin ロールなし で説明されている設定とアクセス許可。
クラウド SQL Server データベースからの継続的なレプリケーションのアクセス許可を設定する
クラウドでホストされる SQL Serverインスタンスは、Amazon RDS for Microsoft SQL Server、Azure SQL Manged Instance、または DMS でサポートされるその他のマネージド型クラウド SQL Server インスタンス上で実行されるインスタンスです。
SQL Server Management Studio (SSMS) を使用したパスワード認証を使用して、また rds_user
など、前に「全ロードのみのタスクに対する許可」で説明したように、新しい SQL Server アカウントを作成します。
以下の付与コマンドを実行します。
GRANT VIEW SERVER STATE TO rds_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;
Amazon RDS for Microsoft SQL Server ソースの場合、DMS バージョン 3.5.3 以降では、トランザクションログバックアップからの読み取りがサポートされています。DMS がログバックアップにアクセスできるようにするには、上記に加えて master
ユーザー権限、または RDS SQL Server ソースの以下の権限を付与します。
//DMS 3.5.3 version onwards GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_user;
SQL Server のソースからの継続的なレプリケーション (CDC) を使用するための前提条件
オンプレミスまたは Amazon EC2 上のセルフマネージド型 SQL Server データベース、または Amazon RDS や Microsoft Azure SQL マネージドインスタンスなどのクラウドデータベースでは、継続的なレプリケーション (変更データキャプチャ、CDC) を使用できます。
AWS DMS のソースとして SQL Server データベースを使用して継続的なレプリケーションを使用する場合は、次の要件が特別に適用されます。
-
SQL Server を完全バックアップ用に設定し、データのレプリケートの開始前にバックアップを実行する必要があります。
-
復旧モデルを [Bulk logged] または [Full] に設定する必要があります。
-
複数のディスクへの SQL Server のバックアップはサポートされていません。データベースバックアップを異なるディスク上の複数のファイルに書き込むようにバックアップを定義している場合、AWS DMS ではそのデータを読み取ることができず、AWS DMS タスクは失敗します。
-
セルフ管理 SQL Server ソースの場合、DMS CDC タスクで使用されたソース データベースの SQL Server レプリケーション パブリッシャ定義は、そのタスクを削除しても削除されません。SQL Server システム管理者がそれらの定義をセルフマネージド型ソースの SQL Server から削除する必要があります。
-
CDC 中に、AWS DMS は SQL Server トランザクションログのバックアップを検索して、変更読み取りの必要があります。AWS DMS では、ネイティブ フォーマットではないサードパーティーのバックアップソフトウェアを使用して作成された SQL Server トランザクションログのバックアップはサポートされていません。ネイティブフォーマットのトランザクションログバックアップをサポートするには、サードパーティーのバックアップソフトウェアを使用して作成されている場合は、ソース エンドポイントへの
use3rdPartyBackupDevice=Y
の接続属性を追加します。 -
セルフマネージド型 SQL Server ソースの場合、SQL Server は新しく作成されたテーブルの変更を、公開されるまでキャプチャしない点に注意してください。テーブルが SQL Server ソースに追加されると、AWS DMS は公開の作成を管理します。ただし、この処理には数分かかることがあります。この遅延中に新たに作成されたテーブルに行われたオペレーションは、ターゲットにキャプチャまたはレプリケーションされません。
-
AWS DMS 変更データキャプチャを行うには、SQL Server でフルトランザクションログが有効になっている必要があります。SQL Server でフルトランザクションログを有効にするには、MS-REPLICATION または CHANGE DATA CAPTURE (CDC) を有効にします。
-
MS CDC キャプチャジョブがこのような変更を処理するまで、SQL Server の tlog エントリは再利用対象としてマークされません。
-
CDC オペレーションはメモリ最適化テーブルに対してはサポートされていません。この制限は、SQL Server 2014 (この機能が最初に導入されたバージョン) 以降に適用されます。
AWS DMS 変更データキャプチャを行うには、デフォルトで Amazon EC2 またはオンプレミスの SQL Server 上のディストリビューションデータベースがソースとして必要です。このため、プライマリキーがあるテーブルの MS レプリケーションを設定する際は、ディストリビューターを有効にしていることを確認します。
SQL Server でサポートされている圧縮方法
AWS DMS での SQL Server 圧縮方法のサポートについては、次の点に注意します。
AWS DMS は、SQL Server バージョン 2008 以降で行とページの圧縮をサポートしています。
AWS DMS は、Vardecimal ストレージ形式をサポートしていません。
AWS DMS は、スパース列と列構造の圧縮をサポートしていません。
セルフマネージド型 SQL Server の AlwaysOn 可用性グループの使用
SQL Server の Always On 可用性グループは、データベースミラーリングに代わるエンタープライズレベルの代替方法を提供する高可用性と災害復旧ソリューションです。
AWS DMS では、単一のプライマリ可用性グループレプリカまたはセカンダリ可用性グループレプリカから変更を移行できます。
プライマリ可用性グループレプリカの使用
プライマリ可用性グループを AWS DMS のソースとして使用するには、次を実行します。
可用性レプリカ内のすべての SQL Server インスタンスでディストリビューションオプションを有効にします。詳細については、「セルフマネージド型 SQL Server での継続的なレプリケーションのセットアップ」を参照してください。
AWS DMS コンソールで、SQL Server ソースデータベース設定を開きます。[サーバー名] には、可用性グループリスナーのために設定したドメインネームサービス (DNS) 名または IP アドレスを指定します。
初めて AWS DMS タスクを開始する場合、開始に通常より時間がかかることがあります。このような速度の低下は、テーブルアーティクルの作成が可用性グループサーバーによりレプリケートされるために発生します。
セカンダリ可用性グループレプリカの使用
セカンダリ可用性グループを AWS DMS のソースとして使用するには、次を実行します。
-
個別のレプリカへの接続には、AWS DMS ソースエンドポイントユーザーが使用する認証情報と同じ認証情報を使用します。
-
AWS DMS レプリケーションインスタンスが既存のすべてのレプリカの DNS 名を解決して、接続できることを確認します。次の SQL クエリを使用して、すべてのレプリカの DNS 名を取得できます。
select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>';
ソースエンドポイントを作成する際、エンドポイントの [サーバー名] またはエンドポイントのシークレットの [サーバーアドレス] として可用性グループリスナーの DNS 名を指定します。可用性グループリスナーの詳細については、SQL Server ドキュメントの「可用性グループリスナーとは
」を参照してください。 パブリック DNS サーバーまたはオンプレミスの DNS サーバーのいずれかを使用して、可用性グループリスナー、プライマリレプリカ、セカンダリレプリカを解決できます。オンプレミスの DNS サーバーを使用するには、Amazon Route 53 Resolver を設定します。詳細については、「 独自のオンプレミスネームサーバーの使用」を参照してください。
次の追加の接続属性をソースエンドポイントに追加します。
追加の接続属性 値 メモ applicationIntent
ReadOnly
この ODBC 設定がないと、レプリケーションタスクはプライマリ可用性グループのレプリカにルーティングされる。詳細については、SQL Server ドキュメントの「 SQL Server Native Client の HADR サポート 」を参照。 multiSubnetFailover
yes
詳細については、SQL Server ドキュメントの「 SQL Server Native Client の HADR サポート 」を参照。 alwaysOnSharedSynchedBackupIsEnabled
false
詳細については、「SQL Server を AWS DMS のソースとして使用する場合のエンドポイントの設定」を参照してください。 activateSafeguard
false
詳細については、「制約事項」を参照してください。 setUpMsCdcForTables
false
詳細については、「制約事項」を参照してください。 可用性グループ内のすべてのレプリカでディストリビューションオプションを有効にします。すべてのノードをディストリビューターリストに追加します。詳細については、「ディストリビューションを設定するには」を参照してください。
プライマリ読み取り/書き込みレプリカで次のクエリを実行して、データベースの公開を有効にします。このクエリはデータベースに対して 1 回だけ実行します。
sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';
制約事項
セカンダリ可用性グループレプリカを使用する場合の制限は次のとおりです。
AWS DMS は、読み取り専用の可用性グループレプリカをソースとして使用する場合、Safeguard をサポートしません。詳細については、「SQL Server を AWS DMS のソースとして使用する場合のエンドポイントの設定」を参照してください。
AWS DMS は、読み取り専用の可用性グループレプリカをソースとして使用する場合、
setUpMsCdcForTables
追加の接続属性をサポートしていません。詳細については、「SQL Server を AWS DMS のソースとして使用する場合のエンドポイントの設定」を参照してください。-
AWS DMS は、バージョン 3.4.7 以降の継続的なレプリケーション (変更データキャプチャ、CDC) のソースデータベースとして、セルフマネージド型のセカンダリ可用性グループレプリカを使用できます。Cloud SQL Server のマルチ AZ リードレプリカはサポートされていません。以前のバージョンの AWS DMS を使用する場合は、CDC のソースデータベースとして必ずプライマリ可用性グループレプリカを使用します。
他のノードへのフェイルオーバー
エンドポイントの ApplicationIntent
追加の接続属性を ReadOnly
に設定すると、AWS DMS タスクは読み取り専用ルーティングの優先度が最も高い読み取り専用ノードに接続します。その後、最も優先度の高い読み取り専用ノードが使用できない場合は、可用性グループ内のその他の読み取り専用ノードにフェイルオーバーします。ApplicationIntent
を設定しない場合、AWS DMS タスクは可用性グループのプライマリ (読み取り/書き込み) ノードにのみ接続します。
SQL Server を AWS DMS のソースとして使用する場合のエンドポイントの設定
追加の接続属性の使用と同様、エンドポイントの設定を使用して、ソースの SQL Server データベースを設定できます。ソースエンドポイントを作成する際に、AWS DMS コンソールを使用するか、AWS CLI で --microsoft-sql-server-settings '{"
の JSON 構文を指定して EndpointSetting"
:
"value"
, ...
}'create-endpoint
コマンドを使用して設定を指定します。
次の表は、ソースとして SQL Server を使用できるエンドポイント設定を説明しています。
名前 | 説明 |
---|---|
|
この属性は Safeguard をオンまたはオフにする。 デフォルト値: 有効な値: { 例: |
AlwaysOnSharedSynchedBackupIsEnabled |
この属性は、Always On 可用性グループクラスターの一部としてホストされている SQL Server ソースデータベースから移行する AWS DMS の動作を調整します AWS DMS では、Always On クラスタで実行するように構成された SQL Server ソースデータベースのサポートが強化されています。この場合、AWS DMS は、ソースデータベース インスタンスがホストされているノード以外の Always On クラスタ内のノードからトランザクション バックアップが実行されているかどうかを追跡しようとします。移行タスクの開始時に、AWS DMS は、クラスター内の各ノードに接続を試み、いずれかのノードに接続できない場合は失敗する。 必要な場合、AWS DMS Always On クラスタ内のすべてのノードでトランザクションバックアップをポーリングするには、 デフォルト値: 有効な値: 例: |
|
この ODBC ドライバー属性設定により、SQL Server はレプリケーションタスクを最も優先度の高い読み取り専用ノードにルーティングする。この設定を行わないと、SQL Server はレプリケーションタスクをプライマリ読み取り/書き込みノードにルーティングする。 |
|
sysadmin ユーザーを使用せずにスタンドアロン SQL Server 上で継続的なレプリケーションを設定する場合、このエンドポイント設定を使用する。このパラメータは AWS DMS バージョン 3.4 以降でサポートされる。スタンドアロン SQL Server での継続的なレプリケーションの設定については、「SQL Server からの継続的なレプリケーションのデータ変更をキャプチャする」を参照。 デフォルト値: 有効な値: 例: |
|
この追加の接続属性 (ECA) を使用して、SQL Server インスタンスのクライアントステートメントのタイムアウトを秒単位で設定する。デフォルト値は 60 秒です。 例: |
|
デフォルト値: 有効な値: 例: |
|
インライン LOB で LOB ルックアップを強制する。 デフォルト値: 有効な値: 例: |
|
この ODBC ドライバ属性によって、可用性グループのフェールオーバー時に DMS が新しいプライマリに接続しやすくなります。この属性は、接続が切断されているか、リスナーの IP アドレスが正しくない状況向けに設計されています。このような状況で、AWS DMS は、可用性グループリスナーに関連付けられたすべての IP アドレスへの接続を試みます。 |
|
この属性を使用するには、sysadmin 権限が必要です。この属性が 有効な値: 例: 注意:このパラメータは、RDS がバックアップを実行する方法であるため、Amazon RDS SQL Server ソースインスタンスでは機能しません。 |
|
パフォーマンスを最大限に高めるため、AWS DMS は未読み取りのすべての変更をアクティブなトランザクションログ (TLOG) からキャプチャしようとします。ただし、切り捨てが原因で、アクティブな TLOG に未読の変更がすべて含まれていない場合がある。この場合、AWS DMS ログのバックアップにアクセスして、欠落している変更をキャプチャする。ログのバックアップへのアクセスの必要性を最小限に抑えるため、AWS DMS は次のいずれかの方法を使用して切り捨てを防止する。
デフォルト値: 有効な値: { 例: |
|
この属性は、ソースデータベースと MS-Replication が有効になっていないタスクマッピング内のテーブルの MS-CDC を有効にする。この値を 有効な値: { 例: |
|
CDC データをフェッチするために使用されるモードを示す。 デフォルト値: 有効な値: 例: |
|
この属性が |
SQL Server のソースデータ型
SQL Server を AWS DMS のソースとして使用するデータ移行では、ほとんどの SQL Server データ型がサポートされます。次の表に、AWS DMS を使用する場合にサポートされる SQL Server のソースデータ型と、AWS DMS のデータ型からのデフォルトマッピングを示します。
ターゲットにマッピングされるデータ型を表示する方法については、使用しているターゲットエンドポイントのセクションをご参照ください。
AWS DMS のデータ型の詳細については、「AWS Database Migration Service のデータ型」をご参照ください。
SQL Server のデータ型 |
AWS DMS データ型 |
---|---|
BIGINT |
INT8 |
BIT |
BOOLEAN |
DECIMAL |
NUMERIC |
INT |
INT4 |
MONEY |
NUMERIC |
NUMERIC (p,s) |
NUMERIC |
SMALLINT |
INT2 |
SMALLMONEY |
NUMERIC |
TINYINT |
UINT1 |
REAL |
REAL4 |
FLOAT |
REAL8 |
DATETIME |
DATETIME |
DATETIME2 (SQL Server 2008 以降) |
DATETIME |
SMALLDATETIME |
DATETIME |
DATE |
DATE |
TIME |
TIME |
DATETIMEOFFSET |
WSTRING |
CHAR |
STRING |
VARCHAR |
STRING |
VARCHAR(max) |
CLOB TEXT AWS DMS でこのデータ型を使用するには、特定のタスク用に CLOB データ型の使用を有効にする必要があります。 SQL Server テーブルの場合、SQL Server で LOB 列の値を変更しない UPDATE ステートメントでも、AWS DMS はターゲットの LOB 列を更新します。 CDC 中、AWS DMS はプライマリキーを含むテーブルでのみ CLOB データ型をサポートします。 |
NCHAR |
WSTRING |
NVARCHAR (長さ) |
WSTRING |
NVARCHAR (最大) |
NCLOB NTEXT AWS DMS でこのデータ型を使用するには、特定のタスク用に SupportLobs の使用を有効にする必要があります。Lob サポートの有効化に関する詳細については、AWS DMS タスクでのソースデータベースLOBのサポートの設定 をご参照ください。 SQL Server テーブルの場合、SQL Server で LOB 列の値を変更しない UPDATE ステートメントでも、AWS DMS はターゲットの LOB 列を更新します。 CDC 中、AWS DMS はプライマリキーを含むテーブルでのみ CLOB データ型をサポートします。 |
BINARY |
BYTES |
VARBINARY |
BYTES |
VARBINARY (最大) |
BLOB IMAGE SQL Server テーブルの場合、SQL Server で LOB 列の値を変更しない UPDATE ステートメントでも、AWS DMS はターゲットの LOB 列を更新します。 AWS DMS でこのデータ型を使用するには、特定のタスク用に BLOB データ型の使用を有効にする必要があります。 AWS DMS は、プライマリキーを含むテーブルでのみ BLOB データ型をサポートします。 |
TIMESTAMP |
BYTES |
UNIQUEIDENTIFIER |
STRING |
HIERARCHYID |
SQL Server ターゲットエンドポイントにレプリケートする場合は、HIERARCHYID を使用します。 他のすべてのターゲットエンドポイントにレプリケートする場合は、WSTRING (250) を使用します。 |
XML |
NCLOB SQL Server テーブルの場合、SQL Server で LOB 列の値を変更しない UPDATE ステートメントでも、AWS DMS はターゲットの LOB 列を更新します。 AWS DMS でこのデータ型を使用するには、特定のタスク用に NCLOB データ型の使用を有効にする必要があります。 CDC 中、AWS DMS はプライマリキーを含むテーブルでのみ NCLOB データ型をサポートします。 |
GEOMETRY |
このデータ型をサポートするターゲットエンドポイントにレプリケートする場合は、GEOMETRY を使用します。 このデータ型をサポートしないターゲットエンドポイントにレプリケートする場合は、CLOB を使用します。 |
GEOGRAPHY |
このデータ型をサポートするターゲットエンドポイントにレプリケートする場合は、GEOGRAPHY を使用します。 このデータ型をサポートしないターゲットエンドポイントにレプリケートする場合は、CLOB を使用します。 |
AWS DMS は、以下のデータ型のフィールドを含むテーブルをサポートしません。
-
CURSOR
-
SQL_VARIANT
-
TABLE
注記
ユーザー定義のデータ型は、基本型に従ってサポートされます。たとえば、DATETIME をベースとするユーザー定義のデータ型は DATETIME データ型として扱われます。