本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 從一或多個 Microsoft SQL Server 資料庫遷移資料 AWS DMS。使用 SQL Server 資料庫做為來源,您可以將資料遷移至另一個 SQL Server 資料庫,或遷移至其他 AWS DMS 支援的其中一個資料庫。
如需 AWS DMS 支援做為來源的 SQL Server 版本的資訊,請參閱的來源 AWS DMS。
SQL Server 資料庫可安裝在您網路的任何電腦上。使用 AWS DMS需要有具有所選任務類型來源資料庫適當存取權限的 SQL Server 帳戶。如需詳細資訊,請參閱SQL Server 任務的許可。
AWS DMS 支援從 SQL Server 的具名執行個體遷移資料。建立來源端點時,您可以在伺服器名稱中使用以下符號。
IPAddress\InstanceName
例如,以下是正確的來源端點伺服器名稱。在此,名稱的第一部分是伺服器的 IP 地址,第二部分是 SQL Server 執行個體名稱 (在本範例中為 SQLTest)。
10.0.0.25\SQLTest
此外,請取得具名 SQL Server 執行個體接聽的連接埠號碼,並使用它來設定 AWS DMS 來源端點。
注意
連接埠 1433 是 Microsoft SQL 伺服器的預設值。但是,每次 SQL Server 啟動時都會變更的動態連接埠,以及用來透過防火牆連線至 SQL Server 的特定靜態連接埠號碼也經常使用。因此,當您建立 AWS DMS 來源端點時,想要知道 SQL Server 具名執行個體的實際連接埠號碼。
您可以使用 SSL 加密您 SQL Server 端點與複寫執行個體之間的連線。如需使用 SSL 搭配 SQL Server 端點的詳細資訊,請參閱搭配 使用 SSL AWS Database Migration Service。
您可以使用 CDC 從 SQL Server 資料庫進行持續遷移。如需為 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 模式或將
InlineLobMaxSize
任務設定設為使用內嵌 lob 模式。 -
在複寫任務中使用 Microsoft SQL Server 來源資料庫時,如果您移除任務,系統不會移除 SQL Server 複寫發布者定義。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 COLUMN SET DEFAULT
子句搭配ALTER TABLE
陳述式)。-
AWS DMS 不支援變更處理以設定資料欄 nullability (使用
ALTER COLUMN [SET|DROP] NOT NULL
子句搭配ALTER TABLE
陳述式)。 -
使用 SQL Server 2012 和 SQL Server 2014,當使用 DMS 複寫搭配可用群組時,無法將分佈資料庫放置在可用群組中。SQL 2016 支援將分佈資料庫放置在可用群組,但在合併、雙向或對等式複寫拓撲所用的分佈資料庫除外。
-
對於分割資料表, AWS DMS 不支援每個分割區的不同資料壓縮設定。
-
將值插入至 SQL Server 空間資料類型 (GEOGRAPHY 和 GEOMETRY) 時,您可以忽略空間參考系統識別碼 (SRID) 屬性或指定不同的數字。使用空間資料類型複寫資料表時, 會將 SRID AWS DMS 取代為預設 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
) 的存取權,因此EXCLUSIVE_AUTOMATIC_TRUNCATION
不適用於 Amazon RDS SQL Server 來源執行個體。 AWS DMS 不會擷取截斷的命令。
-
AWS DMS 不支援從開啟加速資料庫復原 (ADR) 的資料庫複寫。
-
AWS DMS 不支援在單一交易中擷取資料定義語言 (DDL) 和資料處理語言 (DML) 陳述式。
-
AWS DMS 不支援複寫資料層應用程式套件 (DACPAC)。
-
包含主索引鍵或唯一索引以及更新多個資料列的 UPDATE 陳述式,可能會在您將變更套用至目標資料庫時造成衝突。例如,當目標資料庫將更新套用為 INSERT 和 DELETE 陳述式 (而不是單一 UPDATE 陳述式) 時,就可能會發生這種情況。使用批次最佳化套用模式時,資料表可能會遭忽略。使用交易式套用模式時,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 以外的雲端 SQL Server 來源, 僅 AWS DMS 支援使用作用中交易日誌的持續複寫 (CDC)。您無法搭配 CDC 使用備份日誌。如果 SQL Server 從作用中交易日誌封存至備份日誌,或在 DMS 讀取之前從作用中交易日誌截斷它們,您可能會遺失事件。
對於 Amazon RDS for Microsoft SQL Server 來源, AWS DMS 3.5.2 及更低版本僅支援使用作用中交易日誌的持續複寫 (CDC),因為 DMS 無法存取使用 CDC 的備份日誌。如果 RDS for SQL Server 從作用中交易日誌封存到備份日誌,或在 DMS 讀取之前從作用中交易日誌截斷它們,您可能會遺失事件。此限制不適用於 3.5.3 版及更高 AWS DMS 版本。
SQL Server 任務的許可
僅限完全載入任務的許可
若要執行僅限完全載入任務,需要下列許可。請注意, AWS DMS 不會建立dms_user
登入。如需建立 SQL Server 登入的相關資訊,請參閱建立 Microsoft SQL 伺服器的資料庫使用者。
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;
具有進行中複寫之任務的許可
您可以使用 DMS 設定自我管理的 SQL Server 執行個體,以持續複寫,無論是否使用 sysadmin
角色。對於無法授予sysadmin
角色的 SQL Server 執行個體,請確定 DMS 使用者具有如下所述的權限。
從自我管理的 SQL Server 資料庫設定持續複寫的許可
使用 SQL Server Management Studio (SSMS) 或如先前所述,使用密碼身分驗證建立新的 SQL Server 帳戶僅限完全載入任務的許可,例如
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 Server 上設定進行中複寫:而不使用 sysadmin 角色或 中所述在獨立 SQL Server 上設定進行中複寫:沒有 sysadmin 角色,取決於您的來源組態。
從雲端 SQL Server 資料庫設定持續複寫的許可
雲端託管 SQL Server 執行個體是在 Amazon RDS for Microsoft SQL Server、Azure SQL 受管執行個體或 DMS 支援的任何其他受管雲端 SQL Server 執行個體上執行的執行個體。
使用 SQL Server Management Studio (SSMS) 或如先前所述,使用密碼身分驗證建立新的 SQL Server 帳戶僅限完全載入任務的許可,例如 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 能夠存取日誌備份,除了上述之外,還可以在 RDS SQL Server 來源上授予master
使用者權限或下列權限:
//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)。
在 SQL Server 資料庫做為 AWS DMS時使用進行中複寫,會特別提出下列要求:
-
您必須針對完整備份設定 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 伺服器上設定進行中複寫。
在 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。如需詳細資訊,請參閱 使用自己的內部部署名稱伺服器。
請將下列連線額外屬性新增至來源端點。
額外連線屬性 Value 備註 applicationIntent
ReadOnly
如果沒有此 ODBC 設定,會將複寫任務路由至主要可用群組複本。如需詳細資訊,請參閱 SQL Server 文件中的高可用性、災難復原的 SQL Server 原生用戶端支援 。 multiSubnetFailover
yes
如需詳細資訊,請參閱 SQL Server 文件中的高可用性、災難復原的 SQL Server 原生用戶端支援 。 alwaysOnSharedSynchedBackupIsEnabled
false
如需詳細資訊,請參閱使用 SQL Server 做為 來源時的端點設定 AWS DMS。 activateSafeguard
false
如需詳細資訊,請參閱下列 限制。 setUpMsCdcForTables
false
如需詳細資訊,請參閱下列 限制。 啟用可用群組中所有複本上之分佈選項。將所有節點新增至分發者清單。如需詳細資訊,請參閱設定分佈。
在主要讀寫複本上執行下列查詢,以啟用資料庫的發布功能。您只針對資料庫執行一次此查詢。
sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';
限制
下列是使用次要可用群組複本的限制:
AWS DMS 使用唯讀可用性群組複本做為來源時, 不支援保護。如需詳細資訊,請參閱使用 SQL Server 做為 來源時的端點設定 AWS DMS。
AWS DMS 使用唯讀可用性群組複本做為來源時, 不支援
setUpMsCdcForTables
額外的連線屬性。如需詳細資訊,請參閱使用 SQL Server 做為 來源時的端點設定 AWS DMS。-
AWS DMS 可以使用自我管理的次要可用性群組複本做為來源資料庫,以便從 3.4.7 版開始持續複寫 (變更資料擷取或 CDC)。不支援 Cloud SQL Server 異地同步備份僅供讀取複本。如果您使用舊版 AWS DMS,請務必使用主要可用性群組複本做為 CDC 的來源資料庫。
容錯移轉至其他節點
如果您將端點ApplicationIntent
的額外連線屬性設定為 ReadOnly
,您的 AWS DMS 任務會連線至具有最高唯讀路由優先順序的唯讀節點。然後,當優先順序最高的唯讀節點無法使用時,其會容錯移轉至可用群組中的其他唯讀節點。如果您未設定 ApplicationIntent
,您的 AWS DMS 任務只會連線到可用性群組中的主節點 (讀取/寫入)。
使用 SQL Server 做為 來源時的端點設定 AWS DMS
您可以使用端點設定來設定 SQL Server 來源資料庫,類似於使用額外的連線屬性。當您使用 AWS DMS 主控台或使用 中的 create-endpoint
命令搭配 --microsoft-sql-server-settings '{"
JSON 語法來建立來源端點時AWS CLI,您可以指定設定。EndpointSetting"
: "value"
, ...
}'
下列資料表顯示您可以在將 SQL Server 作為來源搭配使用的端點設定。
名稱 | 描述 |
---|---|
|
此屬性會開啟或關閉「保護」。如需「保護」的相關資訊,請參閱下列 預設值: 有效值:{ 範例: |
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 伺服器上設定進行中複寫時,請使用此端點設定。3.4.7 版和更新 AWS DMS 版本支援此參數。如需在獨立 SQL 伺服器上設定進行中複寫的相關資訊,請參閱從 SQL Server 擷取持續複寫的資料變更。 預設值: 有效值: 範例: |
|
使用這個額外連線屬性 (ECA),來設定 SQL Server 執行個體的用戶端陳述式逾時 (以秒為單位)。預設值為 60 秒。 範例: |
|
當設定為 預設值: 有效值: 範例: |
|
對內嵌 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 資料類型。下表顯示使用 時支援的 SQL Server 來源資料類型, AWS DMS 以及來自 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 資料表,即使 UPDATE 陳述式不會變更 SQL Server 中 LOB 資料欄的值, 也會 AWS DMS 更新目標中的 LOB 資料欄。 在 CDC 期間, 僅在包含主索引鍵的資料表中 AWS DMS 支援 CLOB 資料類型。 |
NCHAR |
WSTRING |
NVARCHAR (長度) |
WSTRING |
NVARCHAR (max) |
NCLOB NTEXT 若要搭配 使用此資料類型 AWS DMS,您必須啟用對特定任務的 SupportLobs 使用。如需啟用 Lob 支援的詳細資訊,請參閱設定 AWS DMS 任務中來源資料庫的 LOB 支援。 對於 SQL Server 資料表,即使 UPDATE 陳述式不會變更 SQL Server 中 LOB 資料欄的值, 也會 AWS DMS 更新目標中的 LOB 資料欄。 在 CDC 期間, 僅在包含主索引鍵的資料表中 AWS DMS 支援 CLOB 資料類型。 |
BINARY |
BYTES |
VARBINARY |
BYTES |
VARBINARY (max) |
BLOB IMAGE 對於 SQL Server 資料表,即使 UPDATE 陳述式不會變更 SQL Server 中 LOB 資料欄的值, 也會 AWS DMS 更新目標中的 LOB 資料欄。 若要搭配此資料類型使用 AWS DMS,您必須針對特定任務啟用使用 BLOB 資料類型。 AWS DMS 僅支援包含主索引鍵的資料表中的 BLOB 資料類型。 |
TIMESTAMP |
BYTES |
UNIQUEIDENTIFIER |
STRING |
HIERARCHYID |
複寫到 SQL Server 目標端點時請使用 HIERARCHYID。 複寫到所有其他目標端點時使用 WSTRING (250)。 |
XML |
NCLOB 對於 SQL Server 資料表,即使 UPDATE 陳述式不會變更 SQL Server 中 LOB 資料欄的值, 也會 AWS DMS 更新目標中的 LOB 資料欄。 若要搭配此資料類型使用 AWS DMS,您必須針對特定任務啟用 NCLOB 資料類型的使用。 在 CDC 期間, 僅在包含主索引鍵的資料表中 AWS DMS 支援 NCLOB 資料類型。 |
GEOMETRY |
複寫到支援此資料類型的目標端點時,請使用 GEOMETRY。 複寫到不支援此資料類型的目標端點時,請使用 CLOB。 |
GEOGRAPHY |
複寫到支援此資料類型的目標端點時,請使用 GEOGRAPHY。 複寫到不支援此資料類型的目標端點時,請使用 CLOB。 |
AWS DMS 不支援包含具有下列資料類型之欄位的資料表。
-
CURSOR
-
SQL_VARIANT
-
TABLE
注意
使用者定義的資料類型是否受支援,依其基本類型而定。例如,以 DATETIME 為基礎的使用者定義資料類型,視為 DATETIME 資料類型處理。