翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のソースとしての Microsoft SQL Server データベースの使用 AWS DMS
を使用して、1 つ以上の Microsoft SQL Server データベースからデータを移行します AWS DMS。SQL サーバーデータベースをソースとして、別のSQLサーバーデータベース、または他の AWS DMS サポートされているデータベースのいずれかにデータを移行できます。
がソースとして AWS DMS サポートする SQL Server のバージョンについては、「」を参照してくださいのソース AWS DMS。
ソースSQLサーバーデータベースは、ネットワーク内の任意のコンピュータにインストールできます。で使用するには、選択したタスクのタイプに応じてソースデータベースへの適切なアクセス権限を持つSQLサーバーアカウントが必要です AWS DMS。詳細については、「SQL サーバータスクのアクセス許可」を参照してください。
AWS DMS は、 SQL Server の名前付きインスタンスからのデータの移行をサポートします。ソースエンドポイントを作成するとき、サーバー名では次の表記を使用できます。
IPAddress\InstanceName
たとえば、正しいソースエンドポイントサーバー名を以下に示します。ここで、名前の最初の部分はサーバーの IP アドレスで、2 番目の部分はSQLサーバーインスタンス名 (この例では ) ですSQLTest。
10.0.0.25\SQLTest
また、サーバーの名前付きインスタンスがSQLリッスンするポート番号を取得し、それを使用して AWS DMS ソースエンドポイントを設定します。
注記
Microsoft SQL Server のデフォルトはポート 1433 です。ただし、SQLサーバーが起動するたびに変化する動的ポートや、ファイアウォール経由でSQLサーバーに接続するために使用する特定の静的ポート番号もよく使用されます。したがって、 AWS DMS ソースエンドポイントを作成するときに、SQLサーバーの名前付きインスタンスの実際のポート番号を知りたいとします。
を使用してSSL、SQLサーバーエンドポイントとレプリケーションインスタンス間の接続を暗号化できます。サーバーエンドポイントSSLで を使用する方法の詳細については、SQL「」を参照してくださいでの SSL の使用 AWS Database Migration Service。
サーバーSQLデータベースからの継続的な移行CDCに を使用できます。のソースSQLサーバーデータベースの設定についてはCDC、「」を参照してくださいSQL サーバーからの継続的なレプリケーションのためのデータ変更のキャプチャ。
SQL Server ソースデータベースと の操作の詳細については AWS DMS、以下を参照してください。
トピック
のソースとしての SQL Server の使用に関する制限 AWS DMS
Server SQL データベースを のソースとして使用する場合は、次の制限が適用されます AWS DMS。
-
列のアイデンティティプロパティは、ターゲットデータベース列に移行されません。
-
SQL サーバーエンドポイントは、スパース列を持つテーブルの使用をサポートしていません。
-
Windows 認証はサポートされていません。
-
SQL サーバー内の計算フィールドへの変更はレプリケートされません。
-
一時テーブルはサポートされていません。
-
SQL サーバーパーティションの切り替えはサポートされていません。
-
WRITETEXT および UPDATETEXTユーティリティを使用する場合、ソースデータベースに適用されたイベントはキャプチャ AWS DMS されません。
-
次のデータ操作言語 (DML) パターンはサポートされていません。
SELECT * INTO
new_table
FROMexisting_table
-
SQL Server をソースとして使用する場合、列レベルの暗号化はサポートされていません。
-
AWS DMS は、ソースとしての SQL Server 2008 または Server 2008 R2 でのSQLサーバーレベルの監査をサポートしていません。これは、SQLServer 2008 および 2008 R2 の既知の問題が原因です。例えば、次のコマンドを実行すると、 は失敗 AWS DMS します。
USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
-
Server をソースSQLとして使用する場合、ジオメトリ列はフルロブモードではサポートされていません。代わりに、制限付き LOB モードを使用するか、インライン LOB モードを使用するように
InlineLobMaxSize
タスク設定を行います。 -
レプリケーションタスクで Microsoft SQL Server ソースデータベースを使用する場合、タスクを削除しても SQL Server Replication Publisher 定義は削除されません。Microsoft SQL Server システム管理者は、Microsoft SQL Server からこれらの定義を削除する必要があります。
-
スキーマバインドおよび non-schema-bound ビューからのデータの移行は、全ロードのみのタスクでサポートされています。
-
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 は、列の nullability を設定する変更処理をサポートしていません (
ALTER COLUMN [SET|DROP] NOT NULL
句をALTER TABLE
ステートメントで使用)。 -
SQL Server 2012 および SQL Server 2014 では、可用性グループでDMSレプリケーションを使用する場合、ディストリビューションデータベースを可用性グループに配置することはできません。SQL 2016 では、マージ、双方向、または peer-to-peer レプリケーショントポロジで使用されるディストリビューションデータベースを除き、ディストリビューションデータベースを可用性グループに配置することができます。
-
パーティションテーブル AWS DMS の場合、パーティションごとに異なるデータ圧縮設定をサポートしていません。
-
SQL サーバー空間データ型 (GEOGRAPHY および GEOMETRY) に値を挿入するときは、空間参照システム識別子 (SRID) プロパティを無視するか、別の数値を指定できます。空間データ型のテーブルをレプリケートする場合、 SRIDは をデフォルト SRID ( の場合は 0、 の場合は GEOMETRY 4326) AWS DMS に置き換えますGEOGRAPHY。
-
データベースが MS-REPLICATION または MS- 用に設定されていない場合でもCDC、プライマリキーを持たないテーブルをキャプチャすることはできますが、INSERT/DELETE DMLイベントのみがキャプチャされます。UPDATE および TRUNCATETABLEイベントは無視されます。
-
Columnstore インデックスはサポートされていません。
-
メモリ最適化テーブル (メモリ内 を使用OLTP) はサポートされていません。
-
複数の列で構成されるプライマリ キーを持つテーブルをレプリケーションする場合、全ロード中にプライマリ キー列の更新はサポートされません。
-
遅延永続化はサポートされていません。
-
readBackupOnly=Y
エンドポイント設定 (追加の接続属性) は、 がバックアップRDSを実行する方法のため、SQLサーバーソースインスタンスRDSでは機能しません。 -
EXCLUSIVE_AUTOMATIC_TRUNCATION
は Amazon RDS SQL Server ソースインスタンスでは機能しません。これは、RDSユーザーが SQL Server ストアドプロシージャ を実行するためのアクセス権がないためですsp_repldone
。 AWS DMS は切り捨てコマンドをキャプチャしません。
-
AWS DMS は、高速データベース復旧 (ADR) が有効になっているデータベースからのレプリケーションをサポートしていません。
-
AWS DMS は、単一のトランザクション内のデータ定義言語 (DDL) およびデータ操作言語 (DML) ステートメントのキャプチャをサポートしていません。
-
AWS DMS は、データ層アプリケーションパッケージ () のレプリケーションをサポートしていませんDACPAC。
-
UPDATE プライマリキーまたは一意のインデックスを含む ステートメントで、複数のデータ行を更新すると、ターゲットデータベースに変更を適用するときに競合が発生する可能性があります。これは、例えば、ターゲットデータベースが 1 つのDELETEステートメントではなく、 INSERTおよび UPDATEステートメントとして更新を適用する場合に発生する可能性があります。バッチ最適化の適用モードでは、テーブルが無視されることがあります。トランザクション適用モードでは、 UPDATEオペレーションによって制約違反が発生する可能性があります。この問題を回避するには、関連するテーブルをもう一度ロードします。または、例外の適用コントロールテーブル (
dmslogs.awsdms_apply_exceptions
) で問題のあるレコードを検出して、ターゲットデータベースで手動で編集することもできます。詳細については、「変更処理のチューニング設定」を参照してください。 -
AWS DMS では、テーブルとスキーマのレプリケーションはサポートされていません。この名前には、次のセットの特殊文字が含まれます。
\\ -- \n \" \b \r ' \t ;
-
データマスキングはサポートされていません。 は、マスキングなしでマスクされたデータを AWS DMS 移行します。
-
AWS DMS は、プライマリキーを持つテーブルを最大 32,767 個、テーブルごとに最大 1,000 個の列をレプリケートします。これは、 がレプリケートされたテーブルごとにSQLサーバーレプリケーション記事 AWS DMS を作成し、SQLサーバーレプリケーション記事にはこれらの制限があるためです。
-
変更データキャプチャ (CDC) を使用する場合は、一意のインデックスを構成するすべての列を として定義する必要があります
NOT NULL
。この要件が満たされない場合、SQLサーバーシステムエラー 22838 が発生します。 SQL サーバーがアクティブなトランザクションログからバックアップログにアーカイブしたり、アクティブなトランザクションログからイベントを切り捨てたりすると、イベントが失われる可能性があります。
バックアップトランザクションログにアクセスするときには、次の制限が適用されます。
-
暗号化バックアップはサポートされていません。
-
URL または Windows Azure に保存されているバックアップはサポートされていません。
-
AWS DMS は、代替共有フォルダからのファイルレベルでのトランザクションログのバックアップの直接処理をサポートしていません。
Amazon RDS for Microsoft SQL Server 以外の Cloud SQL Server ソースの場合、 はアクティブなトランザクションログでのみ継続的なレプリケーション (CDC) AWS DMS をサポートします。バックアップログを で使用することはできませんCDC。SQL サーバーがアクティブなトランザクションログからバックアップログにアーカイブしたり、 がDMS読み取る前にアクティブなトランザクションログからイベントを切り捨てたりすると、イベントが失われる可能性があります。
Amazon RDS for Microsoft SQL Server ソースの場合、 は でバックアップログにアクセスできないため、 AWS DMS 3.5.2 以前DMSはアクティブなトランザクションログのみを含む継続的なレプリケーション (CDC) をサポートしていますCDC。for RDS SQL Server がアクティブなトランザクションログからバックアップログにアーカイブした場合、または がDMS読み取る前にアクティブなトランザクションログからイベントを切り捨てた場合、イベントが失われる可能性があります。この制限はバージョン 3.5.3 AWS DMS 以降には適用されません。
SQL サーバータスクのアクセス許可
全ロードのみのタスクに対する許可
全ロード専用タスクを実行するには、次の許可が必要です。 AWS DMS はdms_user
ログインを作成しないことに注意してください。SQL サーバーのログインの作成については、「」を参照してください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サーバーインスタンスは、 sysadmin
ロールを使用するかどうかにかかわらずDMS、 を使用して継続的なレプリケーション用に設定できます。sysadmin
ロールを付与できないSQLサーバーインスタンスの場合、DMSユーザーに次のように説明されている権限があることを確認します。
セルフマネージドSQLサーバーデータベースからの継続的なレプリケーションのアクセス許可を設定する
Server Management Studio (SSMS) を使用して、または など全ロードのみのタスクに対する許可、 で前述したように、パスワード認証を使用して新しいSQLサーバーSQLアカウントを作成します
self_managed_user
。次の
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サーバーでの継続的なレプリケーションの設定: sysadmin ロールなし、 可用性グループ環境のSQLサーバーでの継続的なレプリケーションの設定: sysadmin ロールなしまたは で説明されている設定とアクセス許可。
クラウドSQLサーバーデータベースからの継続的なレプリケーションのアクセス許可を設定する
クラウドホストSQLサーバーインスタンスは、Amazon RDS for Microsoft SQL Server、Azure SQLマネージドインスタンス、または でサポートされているその他のマネージドクラウドSQLサーバーインスタンスで実行されるインスタンスですDMS。
Server Management Studio (SSMS) を使用して、または など、 で前述したように全ロードのみのタスクに対する許可、パスワード認証を使用して新しいSQLサーバーSQLアカウントを作成しますrds_user
。
以下の付与コマンドを実行します。
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
ユーザー権限を付与するか、RDSSQLサーバーソースで次の権限を付与します。
//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 サーバーソースから継続的なレプリケーション (CDC) を使用するための前提条件
オンプレミスまたは Amazon 上のセルフマネージドSQLサーバーデータベース、または Amazon や Microsoft Azure SQLマネージドインスタンスなどのクラウドデータベースにはEC2、継続的なレプリケーション (変更データキャプチャRDS、または CDC) を使用できます。
次の要件は、SQLサーバーデータベースを のソースとして継続的なレプリケーションを使用する場合に特に適用されます AWS DMS。
-
SQL サーバーはフルバックアップ用に設定する必要があり、データのレプリケートを開始する前にバックアップを実行する必要があります。
-
復旧モデルを [Bulk logged] または [Full] に設定する必要があります。
-
SQL 複数のディスクへのサーバーバックアップはサポートされていません。異なるディスク上の複数のファイルにデータベースバックアップを書き込むようにバックアップが定義されている場合、 AWS DMS はデータを読み取れず、 AWS DMS タスクは失敗します。
-
セルフマネージドSQLサーバーソースの場合、DMSCDCタスクで使用されているソースのSQLサーバーレプリケーションパブリッシャー定義は、タスクを削除しても削除されません。SQL サーバーシステム管理者は、自己管理型ソースのこれらの定義をSQLサーバーから削除する必要があります。
-
ではCDC、変更を読み取るためにSQLサーバートランザクションログのバックアップを検索 AWS DMS する必要があります。 は、ネイティブ形式ではないサードパーティー AWS DMS のバックアップソフトウェアを使用して作成されたSQLサーバートランザクションログのバックアップをサポートしていません。ネイティブフォーマットのトランザクションログバックアップをサポートするには、サードパーティーのバックアップソフトウェアを使用して作成されている場合は、ソース エンドポイントへの
use3rdPartyBackupDevice=Y
の接続属性を追加します。 -
自己管理型SQLサーバーソースの場合、SQLサーバーは新しく作成されたテーブルの変更を公開されるまでキャプチャしないことに注意してください。テーブルがSQLサーバーソースに追加されると、 はパブリケーションの作成 AWS DMS を管理します。ただし、この処理には数分かかることがあります。この遅延中に新たに作成されたテーブルに行われたオペレーションは、ターゲットにキャプチャまたはレプリケーションされません。
-
AWS DMS 変更データキャプチャでは、SQLサーバーで完全なトランザクションログを有効にする必要があります。SQL Server でトランザクションログ記録を有効にするには、MS-REPLICATION または CHANGE DATA CAPTURE () を有効にしますCDC。
-
SQL MS CDCキャプチャジョブがこれらの変更を処理するまで、サーバーログエントリは再利用対象としてマークされません。
-
CDC オペレーションは、メモリ最適化テーブルではサポートされていません。この制限は、SQLServer 2014 (この機能が最初に導入された時点) 以降に適用されます。
AWS DMS 変更データキャプチャには、Amazon EC2またはオンプレミスSQLサーバーをソースとするディストリビューションデータベースがデフォルトで必要です。このため、プライマリキーがあるテーブルの MS レプリケーションを設定する際は、ディストリビューターを有効にしていることを確認します。
Server でサポートされている圧縮方法 SQL
でのSQLサーバー圧縮メソッドのサポートについては、次の点に注意してください AWS DMS。
AWS DMS は、SQLサーバーバージョン 2008 以降で行/ページ圧縮をサポートします。
AWS DMS は Vardecimal ストレージ形式をサポートしていません。
AWS DMS は、スパース列と列構造圧縮をサポートしていません。
セルフマネージド型の SQL Server AlwaysOn 可用性グループの使用
SQL Server Always On 可用性グループは、データベースミラーリングのエンタープライズレベルの代替として、高可用性とディザスタリカバリを提供します。
では AWS DMS、1 つのプライマリまたはセカンダリの可用性グループレプリカから変更を移行できます。
プライマリ可用性グループレプリカの使用
プライマリ可用性グループを のソースとして使用するには AWS DMS、次の手順を実行します。
可用性レプリカ内のすべてのSQLサーバーインスタンスのディストリビューションオプションをオンにします。詳細については、「セルフマネージドSQLサーバーでの継続的なレプリケーションの設定」を参照してください。
AWS DMS コンソールで、SQLサーバーソースデータベース設定を開きます。サーバー名 には、可用性グループリスナー用に設定されたドメインネームサービス (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サーバードキュメントの「可用性グループリスナーとは
」を参照してください。 パブリックDNSサーバーまたはオンプレミスDNSサーバーのいずれかを使用して、可用性グループリスナー、プライマリレプリカ、およびセカンダリレプリカを解決できます。オンプレミスDNSサーバーを使用するには、Amazon Route 53 Resolver を設定します。詳細については、「 独自のオンプレミスネームサーバーの使用」を参照してください。
次の追加の接続属性をソースエンドポイントに追加します。
追加の接続属性 値 メモ applicationIntent
ReadOnly
ODBC この設定がないと、レプリケーションタスクはプライマリ可用性グループレプリカにルーティングされます。詳細については、SQLサーバードキュメントの「高可用性のサーバーネイティブクライアントサポート」、「ディザスタリカバリ 」を参照してください。 SQL multiSubnetFailover
yes
詳細については、SQLサーバードキュメントの「高可用性のサーバーネイティブクライアントサポート」、「ディザスタリカバリ 」を参照してください。 SQL 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サーバーソースデータベースを設定できます。ソースエンドポイントを作成するときは、 AWS DMS コンソールを使用するか、 で create-endpoint
コマンドを使用してAWS CLI、 --microsoft-sql-server-settings '{"
JSON構文で設定を指定します。EndpointSetting"
: "value"
, ...
}'
次の表は、SQLサーバーをソースとして使用できるエンドポイント設定を示しています。
名前 | 説明 |
---|---|
|
この属性は Safeguard をオンまたはオフにする。 デフォルト値: 有効な値: { 例: |
AlwaysOnSharedSynchedBackupIsEnabled |
この属性は、Always On 可用性グループクラスターの一部としてホストされているSQLサーバーソースデータベースから移行 AWS DMS する際の の動作を調整します。 AWS DMS は、Always On クラスターで実行するように設定されたSQLサーバーソースデータベースのサポートを強化しました。この場合、 AWS DMS は、ソースデータベース インスタンスがホストされているノード以外の Always On クラスタ内のノードからトランザクション バックアップが実行されているかどうかを追跡しようとします。移行タスクの起動時に、 はクラスター内の各ノードに接続 AWS DMS しようとしますが、どのノードにも接続できない場合に失敗します。 Always On クラスター内のすべてのノード AWS DMS でトランザクションバックアップをポーリングする必要がある場合は、この属性を に設定します デフォルト値: 有効な値: 例: |
|
このODBCドライバー属性設定により、SQLサーバーはレプリケーションタスクを最も優先度の高い読み取り専用ノードにルーティングします。この設定がないと、SQLサーバーはレプリケーションタスクをプライマリ読み取り/書き込みノードにルーティングします。 |
|
sysadmin ユーザーなしでスタンドアロンSQLサーバーで継続的なレプリケーションを設定する場合は、このエンドポイント設定を使用します。このパラメータは、 AWS DMS バージョン 3.4.7 以降でサポートされています。スタンドアロンSQLサーバーでの継続的なレプリケーションの設定については、「」を参照してくださいSQL サーバーからの継続的なレプリケーションのためのデータ変更のキャプチャ。 デフォルト値: 有効な値: 例: |
|
この追加の接続属性 (ECA) を使用して、SQLサーバーインスタンスのクライアントステートメントのタイムアウトを秒単位で設定します。デフォルト値は 60 秒です。 例: |
|
に設定すると デフォルト値: 有効な値: 例: |
|
インライン でLOBルックアップを強制しますLOB。 デフォルト値: 有効な値: 例: |
|
このODBCドライバー属性はDMS、可用性グループのフェイルオーバーが発生した場合に新しいプライマリに接続するのに役立ちます。この属性は、接続が切断されているか、リスナーの IP アドレスが正しくない状況向けに設計されています。このような状況では、 AWS DMS はアベイラビリティグループリスナーに関連付けられているすべての IP アドレスに接続しようとします。 |
|
この属性を使用するには、sysadmin 権限が必要です。この属性が に設定されている場合 有効な値: 例: 注: がバックアップRDSを実行する方法のため、このパラメータは Amazon RDS SQL Server ソースインスタンスでは機能しません。 |
|
最適なパフォーマンスを得るために、 AWS DMS はアクティブなトランザクションログ () から未読の変更をすべてキャプチャしようとしますTLOG。ただし、切り捨てが原因で、アクティブな に未読の変更がすべて含まれていないTLOG場合があります。これが発生すると、 はログバックアップ AWS DMS にアクセスして欠落している変更をキャプチャします。ログバックアップにアクセスする必要性を最小限に抑えるために、 は次のいずれかの方法を使用して切り捨て AWS DMS を防止します。
デフォルト値: 有効な値: { 例: |
|
この属性は、ソースデータベースと、MS CDCレプリケーションが有効になっていないタスクマッピング内のテーブルの MS- を有効にします。この値を 有効な値: { 例: |
|
CDC データの取得に使用されるモードを示します。 デフォルト値: 有効な値: 例: |
|
この属性が |
SQL サーバーのソースデータ型
のソースとして SQL Server を使用するデータ移行は、ほとんどの SQL Server データ型 AWS DMS をサポートします。次の表は、 の使用時にサポートされるSQLサーバーソースデータ型 AWS DMS と、 AWS DMS データ型からのデフォルトのマッピングを示しています。
ターゲットにマッピングされるデータ型を表示する方法については、使用しているターゲットエンドポイントのセクションをご参照ください。
AWS DMS データ型の詳細については、「」を参照してくださいAWS Database Migration Service のデータ型。
SQL サーバーデータ型 |
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 (最大) |
CLOB TEXT このデータ型を で使用するには AWS DMS、特定のタスクCLOBのデータ型の使用を有効にする必要があります。 Server テーブルの場合、 SQL は Server のLOB列の値を変更しないUPDATEステートメントでもターゲットのLOB列 AWS DMS を更新しますSQL。 中CDC、 はプライマリキーを含むテーブルでのみCLOBデータ型 AWS DMS をサポートします。 |
NCHAR |
WSTRING |
NVARCHAR (長さ) |
WSTRING |
NVARCHAR (最大) |
NCLOB NTEXT このデータ型を で使用するには AWS DMS、特定のタスク SupportLobs で の使用を有効にする必要があります。Lob サポートの有効化に関する詳細については、AWS DMS タスクでのソースデータベースLOBのサポートの設定 をご参照ください。 Server テーブルの場合、 SQL は Server のLOB列の値を変更しないUPDATEステートメントでもターゲットのLOB列 AWS DMS を更新しますSQL。 中CDC、 はプライマリキーを含むテーブルでのみCLOBデータ型 AWS DMS をサポートします。 |
BINARY |
BYTES |
VARBINARY |
BYTES |
VARBINARY (最大) |
BLOB IMAGE Server テーブルの場合、 SQL は Server のLOB列の値を変更しないUPDATEステートメントでもターゲットのLOB列 AWS DMS を更新しますSQL。 このデータ型を で使用するには AWS DMS、特定のタスクBLOBのデータ型の使用を有効にする必要があります。 AWS DMS は、プライマリキーを含むテーブルでのみBLOBデータ型をサポートします。 |
TIMESTAMP |
BYTES |
UNIQUEIDENTIFIER |
STRING |
HIERARCHYID |
SQL サーバーターゲットエンドポイントにレプリケートHIERARCHYIDするときに を使用します。 他のすべてのターゲットエンドポイントにレプリケートする場合は、 WSTRING (250) を使用します。 |
XML |
NCLOB Server テーブルの場合、 SQL は Server のLOB列の値を変更しないUPDATEステートメントでもターゲットのLOB列 AWS DMS を更新しますSQL。 このデータ型を で使用するには AWS DMS、特定のタスクNCLOBのデータ型の使用を有効にする必要があります。 中CDC、 はプライマリキーを含むテーブルでのみNCLOBデータ型 AWS DMS をサポートします。 |
GEOMETRY |
このデータ型をサポートするターゲットエンドポイントにレプリケートGEOMETRYするときに を使用します。 このデータ型をサポートしていないターゲットエンドポイントにレプリケートCLOBするときに を使用します。 |
GEOGRAPHY |
このデータ型をサポートするターゲットエンドポイントにレプリケートGEOGRAPHYするときに を使用します。 このデータ型をサポートしていないターゲットエンドポイントにレプリケートCLOBするときに を使用します。 |
AWS DMS は、次のデータ型のフィールドを含むテーブルをサポートしていません。
-
CURSOR
-
SQL_VARIANT
-
TABLE
注記
ユーザー定義のデータ型は、基本型に従ってサポートされます。例えば、 に基づくユーザー定義のデータ型DATETIMEはDATETIME、データ型として処理されます。