

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 個別評估
<a name="CHAP_Tasks.AssessmentReport.Assessments"></a>

本節說明個別預遷移評估。

若要使用 AWS DMS API 建立個別預遷移評估，請針對 [ StartReplicationTaskAssessmentRun](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html) 動作的 `IncludeOnly` 參數使用列出的 API 金鑰。

**Topics**
+ [所有端點類型的評估](CHAP_Tasks.AssessmentReport.Assessments.All.md)
+ [Oracle 評估](CHAP_Tasks.AssessmentReport.Oracle.md)
+ [Sql 伺服器評估](CHAP_Tasks.AssessmentReport.SqlServer.md)
+ [MySQL 評估](CHAP_Tasks.AssessmentReport.MySQL.md)
+ [MariaDB 評估](CHAP_Tasks.AssessmentReport.MariaDB.md)
+ [PostgreSQL 評估](CHAP_Tasks.AssessmentReport.PG.md)
+ [Db2 LUW 評估](CHAP_Tasks.AssessmentReport.Db2.md)

# 所有端點類型的評估
<a name="CHAP_Tasks.AssessmentReport.Assessments.All"></a>

本節說明所有端點類型的個別預遷移評估。

**Topics**
+ [不受支援的資料類型](#CHAP_Tasks.AssessmentReport.Assessments.All.UnsupportedDataTypes)
+ [使用大型物件 LOBs)，但目標 LOB 資料欄不可為 null](#CHAP_Tasks.AssessmentReport.Assessments.All.LOBsColsNotNullable)
+ [具有大型物件 (LOBs來源資料表](#CHAP_Tasks.AssessmentReport.Assessments.All.LOBsNoPrimaryKey)
+ [僅 CDC 或完全載入和 CDC 任務沒有主索引鍵的來源資料表](#CHAP_Tasks.AssessmentReport.Assessments.All.CDCNoPrimaryKey)
+ [僅針對 CDC 任務沒有主索引鍵的目標資料表](#CHAP_Tasks.AssessmentReport.Assessments.All.CDCOnlyNoPrimaryKey)
+ [不支援的來源主索引鍵類型 - 複合主索引鍵](#CHAP_Tasks.AssessmentReport.Assessments.All.CompositeNoPrimaryKey)

## 不受支援的資料類型
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.UnsupportedDataTypes"></a>

**API 金鑰：**`unsupported-data-types-in-source`

在 DMS 不支援的來源端點中檢查資料類型。並非所有資料類型都可以在引擎之間遷移。

## 使用大型物件 LOBs)，但目標 LOB 資料欄不可為 null
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.LOBsColsNotNullable"></a>

**API 金鑰：**`full-lob-not-nullable-at-target`

當複寫使用完整 LOB 模式或內嵌 LOB 模式時，檢查目標中 LOB 資料欄的 nullability。DMS 要求 LOB 欄在使用這些 LOB 模式時為 null。此評估需要來源和目標資料庫是關聯式的。

## 具有大型物件 (LOBs來源資料表
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.LOBsNoPrimaryKey"></a>

**API 金鑰：**`table-with-lob-but-without-primary-key-or-unique-constraint`

 檢查是否存在包含 LOB 但沒有主索引鍵或唯一索引鍵的來源資料表。資料表必須具有主索引鍵或唯一索引鍵，DMS 才能遷移 LOBs。此評估需要來源資料庫是關聯式的。

## 僅 CDC 或完全載入和 CDC 任務沒有主索引鍵的來源資料表
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CDCNoPrimaryKey"></a>

**API 金鑰：**`table-with-no-primary-key-or-unique-constraint`

 檢查來源資料表中是否存在主索引鍵或唯一索引鍵，以進行完全載入和變更資料擷取 (CDC) 遷移或僅限 CDC 遷移。缺少主索引鍵或唯一索引鍵可能會導致 CDC 遷移期間的效能問題。此評估需要來源資料庫是關聯式的，而遷移類型是包含 CDC。

## 僅針對 CDC 任務沒有主索引鍵的目標資料表
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CDCOnlyNoPrimaryKey"></a>

**API 金鑰：**`target-table-has-unique-key-or-primary-key-for-cdc`

 檢查已建立的目標資料表中是否存在主索引鍵或唯一索引鍵，以進行僅限 CDC 遷移。當 DMS 套用更新和刪除時，缺少主索引鍵或唯一索引鍵可能會導致目標中的完整資料表掃描。這可能會導致 CDC 遷移期間的效能問題。此評估需要目標資料庫是關聯式的，而遷移類型是包含 CDC。

## 不支援的來源主索引鍵類型 - 複合主索引鍵
<a name="CHAP_Tasks.AssessmentReport.Assessments.All.CompositeNoPrimaryKey"></a>

**API 金鑰：**`unsupported-source-pk-type-for-elasticsearch-target`

遷移至 Amazon OpenSearch Service 時，檢查來源資料表中是否存在複合主索引鍵。來源資料表的主索引鍵必須由單一資料行構成。此評估需要來源資料庫是關聯式的，而目標資料庫是 DynamoDB。

**注意**  
DMS 支援將來源資料庫遷移至來源主索引鍵包含多個資料欄的 OpenSearch Service 目標。

# Oracle 評估
<a name="CHAP_Tasks.AssessmentReport.Oracle"></a>

如需使用 Oracle 做為來源時許可的詳細資訊，請參閱 [的自我管理 Oracle 來源所需的使用者帳戶權限 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Privileges)或 [AWS受管 Oracle 來源所需的使用者帳戶權限 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed)。

**注意**  
本節說明使用 Oracle 做為來源或目標之遷移任務的個別預遷移評估 AWS DMS。  
如果您使用自我管理的 Oracle 資料庫做為 的來源 AWS DMS，請使用下列許可集：  

```
grant select on gv_$parameter to dms_user;
                    grant select on v_$instance to dms_user;
                    grant select on v_$version to dms_user;
                    grant select on gv_$ASM_DISKGROUP to dms_user;
                    grant select on gv_$database to dms_user;
                    grant select on DBA_DB_LINKS to to dms_user;
                    grant select on gv_$log_History to dms_user;
                    grant select on gv_$log to dms_user;
                    grant select on dba_types to dms_user;
                    grant select on dba_users to dms_user;
                    grant select on dba_directories to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
如果您使用自我管理的 Oracle 資料庫做為 AWS DMS Serverless 來源，則需要其他許可：  

```
grant select on dba_segments to dms_user;
                    grant select on v_$tablespace to dms_user;
                    grant select on dba_tab_subpartitions to dms_user;
                    grant select on dba_extents to dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 的來源 AWS DMS，請使用下列一組許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$PARAMETER', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$VERSION','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$ASM_DISKGROUP','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$DATABASE','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DB_LINKS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG_HISTORY','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TYPES','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_USERS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DIRECTORIES','dms_user', 'SELECT');
                    GRANT SELECT ON RDSADMIN.RDS_CONFIGURATION to dms_user;
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 AWS DMS Serverless 的來源，則需要其他許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_SEGMENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TAB_SUBPARTITIONS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_EXTENTS','dms_user', 'SELECT');
                    EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$TABLESPACE','dms_user', 'SELECT');
```
如果您使用自我管理的 Oracle 資料庫做為 的目標 AWS DMS，請使用下列一組許可：  

```
grant select on v_$instance to dms_user;
                    grant execute on SYS.DBMS_XMLGEN to dms_user;
```
如果您使用 AWS受管 Oracle 資料庫做為 的目標 AWS DMS，請使用下列一組許可：  

```
EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT');
                    GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
```

**Topics**
+ [驗證只在啟用`BatchApplyEnabled`時才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode)
+ [驗證來源上的資料表是否具有未為數字資料類型指定擴展的資料欄](#CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale)
+ [驗證目標資料庫上的觸發條件](#CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase)
+ [驗證來源是否將封存日誌`DEST_ID`設定為 0](#CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue)
+ [驗證是否在完全載入期間在目標資料庫上啟用次要索引](#CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled)
+ [驗證搭配 BatchApplyEnabled 用於 DMS 任務範圍的資料表是否有超過 999 個資料欄](#CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue)
+ [檢查資料庫層級的補充日誌](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging)
+ [驗證所需的資料庫連結是否已建立待命](#CHAP_Tasks.AssessmentReport.Oracle.DbLink)
+ [LOB 資料類型以及是否已設定 Binary Reader 的 Oracle 驗證](#CHAP_Tasks.AssessmentReport.Oracle.Lob)
+ [驗證資料庫是否為 CDB](#CHAP_Tasks.AssessmentReport.Oracle.Cdb)
+ [檢查 Oracle 資料庫版本](#CHAP_Tasks.AssessmentReport.Oracle.Express)
+ [驗證 DMS 的 Oracle CDC 方法](#CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations)
+ [驗證 DMS 的 Oracle RAC 組態](#CHAP_Tasks.AssessmentReport.Oracle.Rac)
+ [驗證 DMS 使用者是否具有目標的許可](#CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions)
+ [驗證是否需要所有資料欄的補充記錄](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns)
+ [驗證是否在具有主索引鍵或唯一索引鍵的資料表上啟用補充記錄](#CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes)
+ [驗證是否有 SecureFile LOBs且任務已設定為完整 LOB 模式](#CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs)
+ [驗證是否在任務範圍中包含的資料表內使用以函數為基礎的索引。](#CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes)
+ [驗證是否在任務範圍中包含的資料表上使用全域暫時資料表。](#CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables)
+ [驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。](#CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables)
+ [驗證是否在任務範圍中包含的資料表上使用多層巢狀資料表。](#CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables)
+ [驗證任務範圍中包含的資料表是否使用隱藏資料欄。](#CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns)
+ [驗證任務範圍中包含的資料表是否使用以 ROWID 欄為基礎的具體化視觀表。](#CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews)
+ [驗證是否使用 Active Data Guard DML 重新導向功能。](#CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard)
+ [驗證是否使用混合分割資料表。](#CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables)
+ [驗證是否使用僅限結構描述的 Oracle 帳戶](#CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly)
+ [驗證是否使用虛擬資料欄](#CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns)
+ [驗證任務範圍中定義的資料表名稱是否包含撇號。](#CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes)
+ [驗證任務範圍中定義的資料欄是否具有 `XMLType`、 或 `Long Raw`資料類型`Long`，並在任務設定中驗證 LOB 模式組態。](#CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes)
+ [驗證來源 Oracle 版本是否受支援 AWS DMS。](#CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion)
+ [驗證是否支援目標 Oracle 版本 AWS DMS。](#CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion)
+ [驗證 DMS 使用者是否具有使用資料驗證所需的許可。](#CHAP_Tasks.AssessmentReport.Oracle.DataValidation)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle ASM 的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle 非 ASM 的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM)
+ [驗證 DMS 使用者是否具有使用 Binary Reader 搭配 CopyToTempFolder 方法的許可](#CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp)
+ [驗證 DMS 使用者是否具有使用 Oracle Standby 做為來源的許可](#CHAP_Tasks.AssessmentReport.Oracle.StandbySource)
+ [驗證 DMS 來源是否已連線至應用程式容器 PDB](#CHAP_Tasks.AssessmentReport.Oracle.AppPdb)
+ [驗證資料表是否包含任務範圍中的 XML 資料類型。](#CHAP_Tasks.AssessmentReport.Oracle.XmlColumns)
+ [驗證來源資料庫是否已啟用封存日誌模式。](#CHAP_Tasks.AssessmentReport.Oracle.Archivelog)
+ [驗證 RDS Oracle 的 archivelog 保留。](#CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention)
+ [驗證資料表是否包含任務範圍中的擴充資料類型。](#CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns)
+ [驗證任務範圍中包含的物件名稱長度。](#CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit)
+ [驗證 DMS 來源是否已連線至 Oracle PDB](#CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled)
+ [驗證資料表是否在任務範圍中包含空間資料欄。](#CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns)
+ [驗證 DMS 來源是否已連線至 Oracle 待命。](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [驗證來源資料庫資料表空間是否使用 TDE 加密。](#CHAP_Tasks.AssessmentReport.Oracle.StandbyDB)
+ [驗證來源資料庫是否使用自動儲存管理 (ASM)](#CHAP_Tasks.AssessmentReport.Oracle.ASMSource)
+ [驗證是否已啟用批次套用，以及目標 Oracle 資料庫上的資料表是否已在資料表或索引層級啟用平行處理](#CHAP_Tasks.AssessmentReport.Oracle.batchapply)
+ [透過驗證任務範圍內的資料表來建議「大量陣列大小」參數](#CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize)
+ [驗證是否已設定 HandleCollationDiff 任務設定](#CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff)
+ [驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態為 VALID](#CHAP_Tasks.AssessmentReport.Oracle.pkvalidity)
+ [驗證 Binary Reader 是否用於 Oracle Standby 做為來源](#CHAP_Tasks.AssessmentReport.Oracle.binaryreader)
+ [驗證 AWS DMS 使用者是否具有從 Oracle RDS Standby 資料庫複寫資料所需的目錄許可。](#CHAP_Tasks.AssessmentReport.Oracle.directorypermissions)
+ [驗證用於複寫的 Oracle Standby 類型](#CHAP_Tasks.AssessmentReport.Oracle.physicalstandby)
+ [驗證是否已為 RDS Oracle 待命建立必要的目錄](#CHAP_Tasks.AssessmentReport.Oracle.rdsstandby)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget)
+ [驗證是否將不支援的 HCC 層級用於完整載入](#CHAP_Tasks.AssessmentReport.Oracle.hccfullload)
+ [透過 CDC 驗證是否將不支援的 HCC 層級用於 Full Load](#CHAP_Tasks.AssessmentReport.Oracle.hccandcdc)
+ [驗證 CDC 是否使用不支援的 HCC 壓縮](#CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc)
+ [以來源壓縮方法為基礎的 CDC 建議](#CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression)
+ [檢查是否已啟用批次套用，並驗證資料表是否有超過 999 個資料欄](#CHAP_Tasks.AssessmentReport.Oracle.batchapplylob)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Oracle.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask)
+ [驗證對串流目標的複寫不包含 LOBs或延伸資料類型資料欄](#CHAP_Tasks.AssessmentReport.Oracle.streaming-target)
+ [驗證僅限 CDC 的任務已設定為使用`OpenTransactionWindow`端點設定](#CHAP_Tasks.AssessmentReport.Oracle.open.tx.window)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules)
+ [驗證目標外部金鑰限制已停用以進行遷移](#CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check)
+ [驗證 Oracle 資料庫和 AWS DMS 版本是否相容](#CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints)
+ [驗證工作階段逾時設定 (`IDLE_TIME`) 已設定為 `UNLIMITED`](#CHAP_Tasks.AssessmentReport.Oracle.check.idle.time)
+ [驗證 AWS DMS 使用者是否具有來源資料庫的所有必要許可](#CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source)
+ [使用 Oracle LogMiner 時，驗證 `XMLTYPE`或 LOB 資料欄是否存在](#CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.Oracle.read.replica)
+ [使用直接路徑載入時，驗證 Oracle 目標沒有 CONTEXT 索引](#CHAP_Tasks.AssessmentReport.Oracle.directpath.index)
+ [驗證`FailTasksOnLobTruncation`在現有 LOB 資料欄使用有限 LOB 模式時啟用](#CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation)
+ [驗證`EnableHomogenousPartitionOps`端點設定是否已啟用](#CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition)

## 驗證只在啟用`BatchApplyEnabled`時才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.Oracle.LimitedLOBMode"></a>

**API 金鑰：**`oracle-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務中的資料表是否包含 LOB 資料欄。如果任務範圍中包含 LOB 資料欄，則只能`BatchApplyEnabled`搭配有限的 LOB 模式使用 。

如需詳細資訊，請參閱[目標中繼資料任務設定](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.html)。

## 驗證來源上的資料表是否具有未為數字資料類型指定擴展的資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.NumberTypeWithoutScale"></a>

**API 金鑰：**`oracle-number-columns-without-scale`

此預遷移評估會驗證 DMS 任務是否包含未指定擴展的 NUMBER 資料類型資料欄。建議您將端點設定`NumberDataTypeScale`設定為評估報告中指定的值。

如需詳細資訊，請參閱[使用 Oracle 做為來源時的端點設定 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib)。

## 驗證目標資料庫上的觸發條件
<a name="CHAP_Tasks.AssessmentReport.Oracle.TriggersOnTargetDatabase"></a>

**API 金鑰：**`oracle-target-triggers-are-enabled`

此預遷移評估會驗證是否在目標資料庫上啟用觸發。如果啟用觸發，評估將會失敗。我們建議您在遷移期間停用或移除觸發條件。

如需詳細資訊，請參閱 [ 如需詳細資訊，請參閱 DMS 最佳實務](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 驗證來源是否將封存日誌`DEST_ID`設定為 0
<a name="CHAP_Tasks.AssessmentReport.Oracle.UseZeroDestIDTrue"></a>

**API 金鑰：**`oracle-zero-archive-log-dest-id`

如果封存的日誌設定為 `DEST_ID`0`useZeroDestid=true`，則此預遷移評估會驗證是否為來源設定端點額外連線屬性。

如需詳細資訊，請參閱[在容錯移轉案例中搭配 Oracle 資料庫使用時如何處理 AWS DMS 複寫](https://aws.amazon.com/blogs/database/how-to-handle-aws-dms-replication-when-used-with-oracle-database-in-fail-over-scenarios/)。

## 驗證是否在完全載入期間在目標資料庫上啟用次要索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecondaryIndexesEnabled"></a>

**API 金鑰：**`oracle-check-secondary-indexes`

此預遷移評估會驗證是否在目標資料庫的完全載入期間啟用次要索引。建議您在完全載入期間停用或移除次要索引。

如需詳細資訊，[請參閱 的最佳實務 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 驗證搭配 BatchApplyEnabled 用於 DMS 任務範圍的資料表是否有超過 999 個資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SetBatchApplyEnabledTrue"></a>

**API 金鑰：**`oracle-batch-apply-lob-999`

啟用批次最佳化套用模式的資料表總計不能超過 999 個資料欄。超過 999 個資料欄的資料表會導致 逐一 AWS DMS 處理批次，進而增加延遲。DMS 使用公式 **2 \$1 column\$1in\$1original\$1table \$1 column\$1in\$1primary\$1key <= 999** 來計算批次最佳化套用模式中每個資料表支援的欄總數。

如需詳細資訊，請參閱 [ Oracle 做為目標的限制 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Limitations)。

## 檢查資料庫層級的補充日誌
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLogging"></a>

**API 金鑰：**`oracle-supplemental-db-level`

此預遷移評估會驗證資料庫層級是否已啟用最低補充日誌。您必須啟用補充記錄日誌，才能使用 Oracle 資料庫作為遷移來源。

若要啟用補充日誌，請執行下列查詢：

```
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
```

如需詳細資訊，請參閱[設定補充記錄](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證所需的資料庫連結是否已建立待命
<a name="CHAP_Tasks.AssessmentReport.Oracle.DbLink"></a>

**API 金鑰：**`oracle-validate-standby-dblink`

此預遷移評估會驗證是否已針對 Oracle 待命資料庫來源建立 Dblink。AWSDMS\$1DBLINK 是使用待命資料庫作為來源的先決條件。使用 Oracle 待命管理系統作為來源時， AWS DMS 依預設不會驗證已開啟的交易。

如需詳細資訊，請參閱[使用自我管理的 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## LOB 資料類型以及是否已設定 Binary Reader 的 Oracle 驗證
<a name="CHAP_Tasks.AssessmentReport.Oracle.Lob"></a>

**API 金鑰：**`oracle-binary-lob-source-validation`

此預遷移評估會驗證 Oracle LogMiner 是否用於 Oracle 資料庫端點版本 12c 或更新版本。 AWS DMS 不支援從 Oracle LogMiner 資料庫版本 12c 進行 LOB 資料欄遷移。此評估也會檢查 LOB 資料欄是否存在，並提供適當的建議。

若要將您的遷移設定為不使用 Oracle LogMiner，請將下列組態新增至來源端點：

```
useLogMinerReader=N;useBfile=Y;
```

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證資料庫是否為 CDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.Cdb"></a>

**API 金鑰：**`oracle-validate-cdb`

此預遷移評估會驗證資料庫是否為容器資料庫。 AWS DMS 不支援多租用戶容器根資料庫 (CDB\$1ROOT)。

**注意**  
只有 Oracle 12.1.0.1 或更新版本需要此評估。此評估不適用於 Oracle 12.1.0.1 之前的版本。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 檢查 Oracle 資料庫版本
<a name="CHAP_Tasks.AssessmentReport.Oracle.Express"></a>

**API 金鑰：**`oracle-check-cdc-support-express-edition`

此預遷移評估會驗證 Oracle 來源資料庫是否為 Express Edition。 AWS DMS 對於 Oracle Express Edition (Oracle 資料庫 XE) 18.0 及更新版本不支援 CDC。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證 DMS 的 Oracle CDC 方法
<a name="CHAP_Tasks.AssessmentReport.Oracle.CdcConfigurations"></a>

**API 金鑰：**`oracle-recommendation-cdc-method`

此預遷移評估會驗證過去七天的重做日誌產生，並建議是否針對 CDC 使用 AWS DMS Binary Reader 或 Oracle LogMiner。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需判斷應使用哪種 CDC 方法的詳細資訊，請參閱：[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證 DMS 的 Oracle RAC 組態
<a name="CHAP_Tasks.AssessmentReport.Oracle.Rac"></a>

**API 金鑰：**`oracle-check-rac`

此預遷移評估會驗證 Oracle 資料庫是否為 Real Application Cluster。Real Application Cluster 資料庫必須正確設定。如果資料庫是以 RAC 為基礎，我們建議您使用適用於 CDC 的 AWS DMS Binary Reader，而不是 Oracle LogMiner。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證 DMS 使用者是否具有目標的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetPermissions"></a>

**API 金鑰：**`oracle-validate-permissions-on-target`

此預遷移評估會驗證 DMS 使用者是否擁有目標資料庫所需的所有必要許可。

## 驗證是否需要所有資料欄的補充記錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingColumns"></a>

**API 金鑰：**`oracle-validate-supplemental-logging-all-columns`

此預遷移評估會針對任務範圍中提到的資料表，驗證是否已將補充記錄新增至資料表的所有資料欄，而不需要主索引鍵或唯一索引鍵。如果資料表缺少主索引鍵或唯一索引鍵的所有資料欄沒有補充記錄，則還原日誌中將不會提供資料的before-and-after影像。DMS 需要沒有主索引鍵或唯一索引鍵的資料表補充記錄，才能產生 DML 陳述式。

## 驗證是否在具有主索引鍵或唯一索引鍵的資料表上啟用補充記錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.SupplementalLoggingIndexes"></a>

**API 金鑰：**`oracle-validate-supplemental-logging-for-pk`

 此預遷移評估會驗證是否為具有主索引鍵或唯一索引的資料表啟用補充記錄，並檢查是否在端點層級`AddSupplementalLogging`啟用。為了確保 DMS 可以複寫變更，您可以根據主索引鍵或唯一索引鍵在資料表層級手動新增補充記錄，或`AddSupplementalLogging = true`對任何複寫資料表具有 ALTER 許可的 DMS 使用者使用端點設定。

## 驗證是否有 SecureFile LOBs且任務已設定為完整 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.Oracle.SecureFileLOBs"></a>

**API 金鑰：**`oracle-validate-securefile-lobs`

此預遷移評估會檢查任務範圍內資料表中是否存在 SecureFile LOBs，並驗證其 LOB 設定。請考慮將 LOB 資料表指派給個別任務以增強效能，因為在完整 LOB 模式下執行任務可能會導致效能變慢。

## 驗證是否在任務範圍中包含的資料表內使用以函數為基礎的索引。
<a name="CHAP_Tasks.AssessmentReport.Oracle.FunctionBasedIndexes"></a>

**API 金鑰：**`oracle-validate-function-based-indexes`

此預遷移評估會檢查任務範圍內資料表上的函數型索引。請注意， AWS DMS 不支援複寫以函數為基礎的索引。請考慮在遷移目標資料庫之後建立索引。

## 驗證是否在任務範圍中包含的資料表上使用全域暫時資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.GlobalTemporaryTables"></a>

**API 金鑰：**`oracle-validate-global-temporary-tables`

此預遷移評估會檢查是否在任務資料表映射範圍內使用全域暫時資料表。請注意， AWS DMS 不支援遷移或複寫全域暫時資料表。

## 驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.IndexOrganizedTables"></a>

**API 金鑰：**`oracle-validate-iot-overflow-segments`

驗證是否在任務範圍中包含的資料表上使用具有溢位區段的索引組織資料表。 AWS DMS 對於具有溢位區段的索引組織資料表， 不支援 CDC。

## 驗證是否在任務範圍中包含的資料表上使用多層巢狀資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.MultilevelNestingTables"></a>

**API 金鑰：**`oracle-validate-more-than-one-nesting-table-level`

此預遷移評估會檢查任務範圍上使用之巢狀資料表的巢狀層級。 僅 AWS DMS 支援單一層級的資料表巢狀。

## 驗證任務範圍中包含的資料表是否使用隱藏資料欄。
<a name="CHAP_Tasks.AssessmentReport.Oracle.InvisibleColumns"></a>

**API 金鑰：**`oracle-validate-invisible-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有隱藏資料欄。 AWS DMS 不會從來源資料庫中的隱藏資料欄遷移資料。若要遷移隱藏的資料欄，您需要修改它們才能顯示。

## 驗證任務範圍中包含的資料表是否使用以 ROWID 欄為基礎的具體化視觀表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.RowIDMaterialViews"></a>

**API 金鑰：**`oracle-validate-rowid-based-materialized-views`

此預遷移評估會驗證遷移中使用的具體化視觀表是否根據 ROWID 資料欄建立。 AWS DMS 不支援根據 ROWID 資料欄建立 ROWID 資料類型或具體化視觀表。

## 驗證是否使用 Active Data Guard DML 重新導向功能。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ActiveDataGuard"></a>

**API 金鑰：**`oracle-validate-adg-redirect-dml`

此預遷移評估會驗證是否使用 Active Data Guard DML 重新導向功能。使用 Oracle 19.0 做為來源時， AWS DMS 不支援 Data Guard DML 重新導向功能。

## 驗證是否使用混合分割資料表。
<a name="CHAP_Tasks.AssessmentReport.Oracle.HybridPartitionedTables"></a>

**API 金鑰：**`oracle-validate-hybrid-partitioned-tables`

此預遷移評估會驗證混合分割資料表是否用於任務範圍中定義的資料表。

## 驗證是否使用僅限結構描述的 Oracle 帳戶
<a name="CHAP_Tasks.AssessmentReport.Oracle.SchemaOnly"></a>

**API 金鑰：**`oracle-validate-schema-only-accounts`

此預遷移評估會驗證是否在任務範圍內找到僅限結構描述的帳戶。

## 驗證是否使用虛擬資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.VirtualColumns"></a>

**API 金鑰：**`oracle-validate-virtual-columns`

此預遷移評估會驗證 Oracle 執行個體在任務範圍內的資料表中是否有虛擬資料欄。

## 驗證任務範圍中定義的資料表名稱是否包含撇號。
<a name="CHAP_Tasks.AssessmentReport.Oracle.NamesWithApostrophes"></a>

**API 金鑰：**`oracle-validate-names-with-apostrophes`

此預遷移評估會驗證任務範圍中使用的資料表是否包含撇號。 AWS DMS 不會複寫名稱包含撇號的資料表。如果已識別，請考慮重新命名此類資料表。或者，您可以建立檢視或具體化檢視，而無需撇號來載入這些資料表。

## 驗證任務範圍中定義的資料欄是否具有 `XMLType`、 或 `Long Raw`資料類型`Long`，並在任務設定中驗證 LOB 模式組態。
<a name="CHAP_Tasks.AssessmentReport.Oracle.XMLLongRawDatatypes"></a>

**API 金鑰：**`oracle-validate-limited-lob-mode-for-longs`

此預遷移評估會驗證任務範圍中定義的資料表是否具有資料類型 `XMLType`、 `Long`或 `Long Raw`，並檢查任務設定是否設定為使用有限大小 LOB 模式。 AWS DMS 不支援使用 FULL LOB 模式複寫這些資料類型。在識別具有此類資料類型的資料表時，請考慮將任務設定變更為使用有限大小 LOB 模式。

## 驗證來源 Oracle 版本是否受支援 AWS DMS。
<a name="CHAP_Tasks.AssessmentReport.Oracle.SourceOracleVersion"></a>

**API 金鑰：**`oracle-validate-supported-versions-of-source`

 此預遷移評估會驗證來源 Oracle 執行個體版本是否受到支援 AWS DMS。

## 驗證是否支援目標 Oracle 版本 AWS DMS。
<a name="CHAP_Tasks.AssessmentReport.Oracle.TargetOracleVersion"></a>

**API 金鑰：**`oracle-validate-supported-versions-of-target`

此預遷移評估會驗證是否支援目標 Oracle 執行個體版本 AWS DMS。

## 驗證 DMS 使用者是否具有使用資料驗證所需的許可。
<a name="CHAP_Tasks.AssessmentReport.Oracle.DataValidation"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-validation-feature`

此預遷移評估會驗證 DMS 使用者是否具有使用 DMS 資料驗證的必要權限。如果您不打算使用資料驗證，可以忽略啟用此驗證。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle ASM 的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesASM"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-asm`

此預遷移評估會驗證 DMS 使用者是否具有在 Oracle ASM 執行個體上使用 Binary Reader 的必要權限。如果您的來源不是 Oracle ASM 執行個體，或者您沒有使用適用於 CDC 的 Binary Reader，您可以忽略啟用此評估。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 Oracle 非 ASM 的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderPrivilegesNonASM"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-non-asm`

此預遷移評估會驗證 DMS 使用者是否具有在 Oracle 非 ASM 執行個體上使用 Binary Reader 的必要權限。此評估只有在您有 Oracle 非 ASM 執行個體時才有效。

## 驗證 DMS 使用者是否具有使用 Binary Reader 搭配 CopyToTempFolder 方法的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.BinaryReaderTemp"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-binary-reader-copy-to-temp-folder`

此預遷移評估會驗證 DMS 使用者是否具有使用 Binary Reader 與「複製到 Temp Folder」方法的必要權限。只有在您計劃在使用 Binary Reader 時使用 CopyToTempFolder 讀取 CDC 變更，並將 ASM 執行個體連接到來源時，此評估才相關。如果您不打算使用 CopyToTempFolder 功能，您可以忽略啟用此評估。

我們建議您不要使用 CopyToTempFolder 功能，因為它已棄用。

## 驗證 DMS 使用者是否具有使用 Oracle Standby 做為來源的許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbySource"></a>

**API 金鑰：**`oracle-prerequisites-privileges-of-standby-as-source`

此預遷移評估會驗證 DMS 使用者是否具有使用 StandBy Oracle 執行個體做為來源的必要權限。如果您不打算使用 StandBy Oracle 執行個體做為來源，您可以忽略啟用此評估。

## 驗證 DMS 來源是否已連線至應用程式容器 PDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.AppPdb"></a>

**API 金鑰：**`oracle-check-app-pdb`

此預遷移評估會驗證 DMS 來源是否連線至應用程式容器 PDB。DMS 不支援從應用程式容器 PDB 複寫。

## 驗證資料表是否包含任務範圍中的 XML 資料類型。
<a name="CHAP_Tasks.AssessmentReport.Oracle.XmlColumns"></a>

**API 金鑰：**`oracle-check-xml-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有 XML 資料類型。當資料表包含 XML 資料類型時，也會檢查任務是否設定為有限 LOB 模式。DMS 僅支援用於遷移 Oracle XML 資料欄的有限 LOB 模式。

## 驗證來源資料庫是否已啟用封存日誌模式。
<a name="CHAP_Tasks.AssessmentReport.Oracle.Archivelog"></a>

**API 金鑰：**`oracle-check-archivelog-mode`

此預遷移評估會驗證來源資料庫上是否已啟用封存日誌模式。在來源資料庫上啟用封存日誌模式是 DMS 複寫變更的必要條件。

## 驗證 RDS Oracle 的 archivelog 保留。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ArchivelogRetention"></a>

**API 金鑰：**`oracle-check-archivelog-retention-rds`

此預遷移評估會驗證 RDS Oracle 資料庫上的封存日誌保留是否已設定至少 24 小時。

## 驗證資料表是否包含任務範圍中的擴充資料類型。
<a name="CHAP_Tasks.AssessmentReport.Oracle.ExtendedColumns"></a>

**API 金鑰：**`oracle-check-extended-columns`

此預遷移評估會驗證任務範圍中使用的資料表是否具有擴充的資料類型。請注意，擴充資料類型僅支援 DMS 3.5 版或更新版本。

## 驗證任務範圍中包含的物件名稱長度。
<a name="CHAP_Tasks.AssessmentReport.Oracle.30ByteLimit"></a>

**API 金鑰：**`oracle-check-object-30-bytes-limit`

此預遷移評估會驗證物件名稱的長度是否超過 30 個位元組。DMS 不支援長物件名稱 （超過 30 個位元組）。

## 驗證 DMS 來源是否已連線至 Oracle PDB
<a name="CHAP_Tasks.AssessmentReport.Oracle.PDBEnabled"></a>

**API 金鑰：**`oracle-check-pdb-enabled`

此預遷移評估會驗證 DMS 來源是否連線至 PDB。DMS 只有在使用 Binary Reader 搭配 Oracle PDB 做為來源時，才支援 CDC。評估也會評估 DMS 連線至 Oracle PDB 時，任務是否設定為使用二進位讀取器。

## 驗證資料表是否在任務範圍中包含空間資料欄。
<a name="CHAP_Tasks.AssessmentReport.Oracle.SpatialColumns"></a>

**API 金鑰：**`oracle-check-spatial-columns`

此預遷移評估會驗證資料表是否包含於任務範圍內的空間欄。DMS 僅支援使用完整 LOB 模式的空間資料類型。當 DMS 識別空間資料欄時，評估也會評估任務是否設定為使用完整 LOB 模式。

## 驗證 DMS 來源是否已連線至 Oracle 待命。
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API 金鑰：**`oracle-check-standby-db`

此預遷移評估會驗證來源是否連線至 Oracle 待命。DMS 只有在使用二進位讀取器搭配 Oracle Standby 做為來源時，才支援 CDC。評估也會評估 DMS 連線至 Oracle Standby 時，任務是否設定為使用二進位讀取器。

## 驗證來源資料庫資料表空間是否使用 TDE 加密。
<a name="CHAP_Tasks.AssessmentReport.Oracle.StandbyDB"></a>

**API 金鑰：**`oracle-check-tde-enabled`

此預遷移評估會驗證來源是否已在資料表空間上啟用 TDE 加密。DMS 在使用 Oracle LogMiner for RDS Oracle 時，僅支援具有加密資料表空間的 TDE。

## 驗證來源資料庫是否使用自動儲存管理 (ASM)
<a name="CHAP_Tasks.AssessmentReport.Oracle.ASMSource"></a>

**API 金鑰：**`oracle-check-asm`

此預遷移評估會偵測您的來源資料庫是否使用 ASM。為了獲得最佳效能，請在端點設定中使用 `parallelASMReadThreads`和 `readAheadBlocks` 參數來設定 Binary Reader。這些設定可增強使用 ASM 儲存時的資料擷取效能

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 驗證是否已啟用批次套用，以及目標 Oracle 資料庫上的資料表是否已在資料表或索引層級啟用平行處理
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapply"></a>

**API 金鑰：**`oracle-check-degree-of-parallelism`

AWS DMS 會驗證目標資料庫中的資料表是否已啟用任何平行處理。在目標資料庫上啟用平行處理會導致批次程序失敗。因此，使用批次套用功能時，需要在資料表或索引層級停用平行處理。

## 透過驗證任務範圍內的資料表來建議「大量陣列大小」參數
<a name="CHAP_Tasks.AssessmentReport.Oracle.bulkarraysize"></a>

**API 金鑰：**`oracle-check-bulk-array-size`

如果任務範圍內找不到具有 LOB （大型物件） 資料類型的資料表，則此評估建議設定 `BulkArraySize` ECA （額外連線屬性）。設定 `BulkArraySize` ECA 可以改善遷移完整載入階段的效能。您可以使用來源/目標端點上的 ECA 設定大量陣列大小，以在遷移的完整載入階段取得最佳效能。

## 驗證是否已設定 HandleCollationDiff 任務設定
<a name="CHAP_Tasks.AssessmentReport.Oracle.handlecollationdiff"></a>

**API 金鑰：**`oracle-check-handlecollationdiff`

此評估會驗證 DMS 任務是否已設定為驗證，並建議`HandleCollationDiff`任務設定，以避免在驗證 Oracle 和 PostgreSQL 之間的資料時產生任何不正確的驗證結果。

如需詳細資訊，請參閱[資料驗證任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)。

## 驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態為 VALID
<a name="CHAP_Tasks.AssessmentReport.Oracle.pkvalidity"></a>

**API 金鑰：**`oracle-check-pk-validity`

資料驗證要求資料表在來源和目標上都有主索引鍵或唯一索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證 Binary Reader 是否用於 Oracle Standby 做為來源
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreader"></a>

**API 金鑰：**`oracle-check-binary-reader`

此評估會驗證來源資料庫是否為待命資料庫，並使用 Binary Reader for Change Data Capture (CDC)。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md)。

## 驗證 AWS DMS 使用者是否具有從 Oracle RDS Standby 資料庫複寫資料所需的目錄許可。
<a name="CHAP_Tasks.AssessmentReport.Oracle.directorypermissions"></a>

**API 金鑰：**`oracle-check-directory-permissions`

當來源資料庫為 Oracle RDS 待命時，此評估會驗證 AWS DMS 使用者在 `ARCHIVELOG_DIR_%`和 `ONLINELOG_DIR_%` 目錄上是否具有必要的讀取權限。

如需詳細資訊，請參閱[使用 受 AWS管 Oracle 資料庫做為 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed)。

## 驗證用於複寫的 Oracle Standby 類型
<a name="CHAP_Tasks.AssessmentReport.Oracle.physicalstandby"></a>

**API 金鑰：**`oracle-check-physical-standby-with-apply`

此評估會驗證用於 AWS DMS 複寫的 Oracle 待命資料庫類型。 AWS DMS 僅支援實體待命資料庫，必須以唯讀模式開啟，並自動套用重做日誌。 AWS DMS 不支援快照或邏輯待命資料庫進行複寫。

如需詳細資訊，請參閱[在 中使用自我管理的 Oracle 待命做為來源與適用於 CDC 的 Binary Reader AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Self-Managed.BinaryStandby)。

## 驗證是否已為 RDS Oracle 待命建立必要的目錄
<a name="CHAP_Tasks.AssessmentReport.Oracle.rdsstandby"></a>

**API 金鑰：**`oracle-check-rds-standby-directories`

此評估會驗證是否為 RDS 待命執行個體上的封存日誌和線上日誌建立所需的 Oracle 目錄。

如需詳細資訊，請參閱[在 中使用 Amazon RDS Oracle Standby （僅供讀取複本） 作為搭配適用於 CDC 的 Binary Reader 的來源 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Amazon-Managed.StandBy)。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkui"></a>

**API 金鑰：**`oracle-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.Oracle.md)。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplypkuitarget"></a>

**API 金鑰：**`oracle-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用 Oracle 資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.Oracle.md)。

## 驗證是否將不支援的 HCC 層級用於完整載入
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccfullload"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-full-load`

Oracle 來源端點設定為使用 Binary Reader，僅完全載入任務支援 HCC 壓縮方法的低查詢層級。

如需詳細資訊，請參閱[支援使用 Oracle 做為 來源的壓縮方法 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression)。

## 透過 CDC 驗證是否將不支援的 HCC 層級用於 Full Load
<a name="CHAP_Tasks.AssessmentReport.Oracle.hccandcdc"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-full-load-and-cdc`

Oracle 來源端點設定為使用 Binary Reader，僅 Full Load 任務支援查詢較低的 HCC。

[支援使用 Oracle 做為 來源的壓縮方法 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Compression)

## 驗證 CDC 是否使用不支援的 HCC 壓縮
<a name="CHAP_Tasks.AssessmentReport.Oracle.binaryreaderhcccdc"></a>

**API 金鑰：**`oracle-check-binary-reader-hcc-cdc`

Oracle 來源端點設定為使用 Binary Reader。Binary Reader 不支援針對使用 CDC 的任務查詢低。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 以來源壓縮方法為基礎的 CDC 建議
<a name="CHAP_Tasks.AssessmentReport.Oracle.cdcmethodbycompression"></a>

**API 金鑰：**`oracle-recommend-cdc-method-by-compression`

偵測到壓縮的物件。請導覽至特定評估的結果區段，以取得進一步建議。

如需詳細資訊，請參閱[使用 Oracle LogMiner 或 AWS DMS Binary Reader for CDC](CHAP_Source.Oracle.md#CHAP_Source.Oracle.CDC)。

## 檢查是否已啟用批次套用，並驗證資料表是否有超過 999 個資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.batchapplylob"></a>

**API 金鑰：**`oracle-batch-apply-lob-999`

DMS 使用 `2 * columns_in_original_table + columns_in_primary_key` 公式來判斷客戶資料表上的資料欄數。根據此公式，我們已識別超過 999 個資料欄的資料表。這會影響批次程序，導致批次程序失敗並切換到one-by-one模式。

如需詳細資訊，請參閱[Oracle 做為 目標的限制 AWS Database Migration Service](CHAP_Target.Oracle.md#CHAP_Target.Oracle.Limitations)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.randomize"></a>

**API 金鑰：**`oracle-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.digits.mask"></a>

**API 金鑰：**`oracle-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Oracle.hash.mask"></a>

**API 金鑰：**`oracle-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 驗證對串流目標的複寫不包含 LOBs或延伸資料類型資料欄
<a name="CHAP_Tasks.AssessmentReport.Oracle.streaming-target"></a>

**API 金鑰：**`oracle-validate-lob-to-streaming-target`

此評估可識別將 LOB 或延伸資料類型遷移至串流目標端點 （例如 S3、Kinesis 或 Kafka) 時的潛在資料遺失。Oracle 資料庫不會追蹤日誌檔案中這些資料類型的變更，導致 DMS 將`NULL`值寫入串流目標。為了防止資料遺失，您可以在來源資料庫上實作 '`before`' 觸發，強制 Oracle 記錄這些變更。

## 驗證僅限 CDC 的任務已設定為使用`OpenTransactionWindow`端點設定
<a name="CHAP_Tasks.AssessmentReport.Oracle.open.tx.window"></a>

**API 金鑰：**`oracle-check-cdc-open-tx-window`

對於僅限 CDC 的任務，請使用 `OpenTransactionWindow` 來避免遺失資料。如需詳細資訊，請參閱[使用 建立持續複寫的任務 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.source.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證目標外部金鑰限制已停用以進行遷移
<a name="CHAP_Tasks.AssessmentReport.Oracle.target.foreign.key.constraints.check"></a>

**API 金鑰：**`oracle-target-foreign-key-constraints-check`

此預遷移評估會偵測目標資料庫上可能導致遷移失敗的作用中外部金鑰限制條件 (ORA-02291)。

## 驗證 Oracle 資料庫和 AWS DMS 版本是否相容
<a name="CHAP_Tasks.AssessmentReport.Oracle.dms.compatibility.version.check"></a>

**API 金鑰：**`oracle-dms-compatibility-version-check`

此預遷移評估會偵測您的 Oracle 資料庫版本是否與您的 AWS DMS 版本不相容。由於不支援的 Oracle Redo 相容性設定，此不相符可能會導致任務失敗。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.Oracle.all.check.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

## 驗證工作階段逾時設定 (`IDLE_TIME`) 已設定為 `UNLIMITED`
<a name="CHAP_Tasks.AssessmentReport.Oracle.check.idle.time"></a>

**API 金鑰：**`oracle-check-idle-time`

此預遷移評估會驗證`UNLIMITED` AWS DMS 使用者的 Oracle 資料庫`IDLE_TIME`參數是否設定為 。有限的工作階段逾時可能會因為連線逾時而導致遷移任務失敗。

## 驗證 AWS DMS 使用者是否具有來源資料庫的所有必要許可
<a name="CHAP_Tasks.AssessmentReport.Oracle.validate.permissions.on.source"></a>

**API 金鑰：**`oracle-validate-permissions-on-source`

此預遷移評估會驗證 AWS DMS 使用者是否已設定來源資料庫的所有必要許可。

## 使用 Oracle LogMiner 時，驗證 `XMLTYPE`或 LOB 資料欄是否存在
<a name="CHAP_Tasks.AssessmentReport.Oracle.update.lob.columns"></a>

**API 金鑰：**`oracle-update-lob-columns`

當使用 Oracle LogMiner 時，此預遷移評估會警告來源資料庫中存在 `XMLTYPE`或 LOB 資料欄。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.Oracle.read.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 使用直接路徑載入時，驗證 Oracle 目標沒有 CONTEXT 索引
<a name="CHAP_Tasks.AssessmentReport.Oracle.directpath.index"></a>

**API 金鑰：**`oracle-check-direct-path-context-indexes`

此預遷移評估會驗證目標 Oracle 資料表是否包含 CONTEXT 索引。在完全載入模式下使用直接路徑時 AWS DMS ， 不支援 CONTEXT 索引。若要避免失敗，請在載入之前停用直接路徑完全載入模式或移除 CONTEXT 索引。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。

## 驗證`FailTasksOnLobTruncation`在現有 LOB 資料欄使用有限 LOB 模式時啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.FailTasksOnLobTruncation"></a>

**API 金鑰：**`oracle-pg-lobs-with-failtasksonlobtruncation`

此預遷移評估會在選取的資料表中存在 LOB 資料欄並指定有限的 LOB 模式時，驗證`FailTasksOnLobTruncation`額外的連線屬性是否設為 true。如果在遷移期間截斷任何 LOB 資料，以防止無提示資料遺失，此設定會失敗任務。

如需詳細資訊，請參閱[使用 Oracle 做為 來源時的端點設定 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.ConnectionAttrib)。

## 驗證`EnableHomogenousPartitionOps`端點設定是否已啟用
<a name="CHAP_Tasks.AssessmentReport.Oracle.Homogenous.partition"></a>

**API 金鑰：**`oracle-homogenous-partition-ops`

此預遷移評估會驗證是否為 Oracle 同質遷移啟用`EnableHomogenousPartitionOps`端點設定。需要此設定 AWS DMS 才能複寫 Oracle 分割區和子分割區 DDL 操作。

如需詳細資訊，請參閱[使用 Oracle 做為 來源的限制 AWS DMS](CHAP_Source.Oracle.md#CHAP_Source.Oracle.Limitations)。

# Sql 伺服器評估
<a name="CHAP_Tasks.AssessmentReport.SqlServer"></a>

本節說明使用 Microsoft SQL Server 來源端點的遷移任務個別預遷移評估。

**Topics**
+ [驗證是否在完全載入期間在目標資料庫上啟用次要索引](#CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled)
+ [驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode)
+ [驗證目標資料庫是否在任務範圍內的資料表上啟用了任何觸發](#CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled)
+ [檢查任務範圍中的資料表是否包含計算資料欄](#CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns)
+ [檢查任務範圍中的資料表是否具有資料欄儲存區索引](#CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes)
+ [檢查記憶體最佳化資料表是否屬於任務範圍](#CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized)
+ [檢查暫時資料表是否屬於任務範圍](#CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables)
+ [檢查資料庫層級是否啟用延遲耐久性](#CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability)
+ [檢查資料庫層級是否啟用資料復原加速](#CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery)
+ [檢查資料表映射是否有超過 10,000 個具有主索引鍵的資料表](#CHAP_Tasks.AssessmentReport.SqlServer.TableMapping)
+ [檢查來源資料庫是否有具有特殊字元的資料表或結構描述名稱。](#CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters)
+ [檢查來源資料庫是否具有具有遮罩資料的資料欄名稱](#CHAP_Tasks.AssessmentReport.SqlServer.MaskedData)
+ [檢查來源資料庫是否已加密備份](#CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups)
+ [檢查來源資料庫是否有存放在 URL 或 Windows Azure 上的備份。](#CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups)
+ [檢查來源資料庫是否在多個磁碟上有備份](#CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks)
+ [檢查來源資料庫是否具有至少一個完整備份](#CHAP_Tasks.AssessmentReport.SqlServer.FullBackup)
+ [檢查來源資料庫是否具有稀疏資料欄和單欄式結構壓縮。](#CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression)
+ [檢查來源資料庫執行個體是否有 SQL Server 2008 或 SQL Server 2008 R2 的伺服器層級稽核](#CHAP_Tasks.AssessmentReport.SqlServer.Audit)
+ [檢查來源資料庫是否有完整 LOB 模式的幾何資料欄](#CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns)
+ [檢查來源資料庫是否有具有 Identity 屬性的資料欄。](#CHAP_Tasks.AssessmentReport.SqlServer.Identity)
+ [檢查 DMS 使用者是否具有完整 LOAD 許可](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions)
+ [檢查 DMS 使用者是否具有完整 LOAD 和 CDC 或僅限 CDC 許可](#CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions)
+ [檢查現場部署或 EC2 資料庫上的 CDC 是否已啟用 MS-Replication。](#CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement)
+ [檢查 DMS 使用者是否具有 VIEW DEFINITION 許可。](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition)
+ [檢查 DMS 使用者是否對沒有 Sysadmin 角色的使用者具有主資料庫的 VIEW DATABASE STATE 許可。](#CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState)
+ [檢查 DMS 使用者是否具有 VIEW SERVER STATE 許可。](#CHAP_Tasks.AssessmentReport.SqlServer.)
+ [驗證文字複本大小參數是否不受限制](#CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapply)
+ [驗證啟用批次套用時，目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously)
+ [啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation)
+ [驗證 AWS DMS 使用者是否具有目標的必要權限](#CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges)
+ [使用 MaxFullLoadSubTasks 設定的建議](#CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.Sqlserver.target.replica)
+ [驗證備份鏈](#CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain)
+ [檢查資料庫使用者套用`EXCLUSIVE_AUTOMATIC_TRUNCATION`保護政策的許可](#CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission)
+ [驗證 AWS DMS 來源端點的次要節點連線和必要的防護屬性](#CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy)
+ [當 AWS DMS 連接到次要節點時，驗證端點具有所有必要的額外連線屬性 (ECAs)](#CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca)

## 驗證是否在完全載入期間在目標資料庫上啟用次要索引
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SecondaryIndexesEnabled"></a>

**API 金鑰：**`sqlserver-check-secondary-indexes`

此預遷移評估會驗證在目標資料庫完全載入期間是否啟用次要索引。建議您停用或移除次要索引。

如需詳細資訊，[請參閱 的最佳實務 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.SqlServer.LimitedLOBMode"></a>

**API 金鑰：**`sqlserver-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務是否包含 LOB 資料欄。如果 LOB 資料欄包含在任務範圍中，則只能與有限的 LOB 模式`BatchApplyEnabled`一起使用。我們建議您為此類資料表建立個別任務，並改用交易套用模式。

如需詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證目標資料庫是否在任務範圍內的資料表上啟用了任何觸發
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TargetDatabaseTriggersEnabled"></a>

**API 金鑰：**`sqlserver-check-for-triggers`

AWS DMS 已識別目標資料庫中可能影響完整載入 DMS 任務效能和目標延遲的觸發條件。請確定在任務執行期間停用這些觸發，並在切換期間啟用。

## 檢查任務範圍中的資料表是否包含計算資料欄
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ComputedColumns"></a>

**API 金鑰：**`sqlserver-check-for-computed-fields`

此預遷移評估會檢查運算資料欄是否存在。 AWS DMS 不支援從 SQL Server 運算資料欄複寫變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查任務範圍中的資料表是否具有資料欄儲存區索引
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ColumnstoreIndexes"></a>

**API 金鑰：**`sqlserver-check-for-columnstore-indexes`

此預遷移評估會檢查是否存在具有資料欄存放區索引的資料表。 AWS DMS 不支援從具有資料欄存放區索引的 SQL Server 資料表複寫變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查記憶體最佳化資料表是否屬於任務範圍
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MemoryOptimized"></a>

**API 金鑰：**`sqlserver-check-for-memory-optimized-tables`

此預遷移評估會檢查是否存在記憶體最佳化資料表。 AWS DMS 不支援從記憶體最佳化資料表複寫變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查暫時資料表是否屬於任務範圍
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TemporalTables"></a>

**API 金鑰：**`sqlserver-check-for-temporal-tables`

此預遷移評估會檢查是否存在暫時資料表。 AWS DMS 不支援從暫時資料表複寫變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查資料庫層級是否啟用延遲耐久性
<a name="CHAP_Tasks.AssessmentReport.SqlServer.DelayedDurability"></a>

**API 金鑰：**`sqlserver-check-for-delayed-durability`

此預遷移評估會檢查是否存在延遲的耐久性。 AWS DMS 不支援從使用延遲耐久性的交易複寫變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查資料庫層級是否啟用資料復原加速
<a name="CHAP_Tasks.AssessmentReport.SqlServer.AcceleratedRecovery"></a>

**API 金鑰：**`sqlserver-check-for-accelerated-data-recovery`

此預遷移評估會檢查是否存在加速資料復原。 AWS DMS 不支援使用加速資料復原複寫來自資料庫的變更。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查資料表映射是否有超過 10,000 個具有主索引鍵的資料表
<a name="CHAP_Tasks.AssessmentReport.SqlServer.TableMapping"></a>

**API 金鑰：**`sqlserver-large-number-of-tables`

此預遷移評估會檢查是否存在超過 10,000 個具有主索引鍵的資料表。如果具有主索引鍵的資料表過多，使用 MS 複寫設定的資料庫可能會遭遇任務失敗。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需設定 MS 複寫的詳細資訊，請參閱：[從 SQL Server 擷取持續複寫的資料變更](CHAP_Source.SQLServer.CDC.md)。

## 檢查來源資料庫是否有具有特殊字元的資料表或結構描述名稱。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SpecialCharacters"></a>

**API 金鑰：**`sqlserver-check-for-special-characters`

此預遷移評估會驗證來源資料庫是否具有包含下列集合中字元的資料表或結構描述名稱：

```
\\ -- \n \" \b \r ' \t ;
```

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否具有具有遮罩資料的資料欄名稱
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MaskedData"></a>

**API 金鑰：**`sqlserver-check-for-masked-data`

此預遷移評估會驗證來源資料庫是否已遮罩資料。 會 AWS DMS 遷移遮罩資料而不遮罩。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否已加密備份
<a name="CHAP_Tasks.AssessmentReport.SqlServer.EncryptedBackups"></a>

**API 金鑰：**`sqlserver-check-for-encrypted-backups`

此預遷移評估會驗證來源資料庫是否已加密備份。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否有存放在 URL 或 Windows Azure 上的備份。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.RemoteBackups"></a>

**API 金鑰：**`sqlserver-check-for-backup-url`

此預遷移評估會驗證來源資料庫是否有存放在 URL 或 Windows Azure 上的備份。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否在多個磁碟上有備份
<a name="CHAP_Tasks.AssessmentReport.SqlServer.MultipleDisks"></a>

**API 金鑰：**`sqlserver-check-for-backup-multiple-stripes`

此預遷移評估會驗證來源資料庫是否在多個磁碟上有備份。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否具有至少一個完整備份
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullBackup"></a>

**API 金鑰：**`sqlserver-check-for-full-backup`

此預遷移評估會驗證來源資料庫是否具有至少一個完整備份。SQL Server 必須設定為完整備份，而且您必須在複寫資料之前執行備份。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否具有稀疏資料欄和單欄式結構壓縮。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.SparseOrStructureCompression"></a>

**API 金鑰：**`sqlserver-check-for-sparse-columns`

此預遷移評估會驗證來源資料庫是否具有稀疏資料欄和單欄式結構壓縮。DMS 不支援稀疏資料欄和單欄式結構壓縮。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫執行個體是否有 SQL Server 2008 或 SQL Server 2008 R2 的伺服器層級稽核
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Audit"></a>

**API 金鑰：**`sqlserver-check-for-audit-2008`

此預遷移評估會驗證來源資料庫是否已啟用 SQL Server 2008 或 SQL Server 2008 R2 的伺服器層級稽核。DMS 與 SQL Server 2008 和 2008 R2 有相關的已知問題。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否有完整 LOB 模式的幾何資料欄
<a name="CHAP_Tasks.AssessmentReport.SqlServer.GeometryColumns"></a>

**API 金鑰：**`sqlserver-check-for-geometry-columns`

此預遷移評估會在使用 SQL Server 做為來源時，驗證來源資料庫是否具有完整大型物件 (LOB) 模式的幾何資料欄。我們建議您使用有限的 LOB 模式，或將`InlineLobMaxSize`任務設定設定為在資料庫包含幾何資料欄時使用內嵌 LOB 模式。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查來源資料庫是否有具有 Identity 屬性的資料欄。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.Identity"></a>

**API 金鑰：**`sqlserver-check-for-identity-columns`

此預遷移評估會驗證來源資料庫是否具有具有 `IDENTITY` 屬性的資料欄。DMS 不會將此屬性遷移至對應的目標資料庫資料欄。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查 DMS 使用者是否具有完整 LOAD 許可
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadPermissions"></a>

**API 金鑰：**`sqlserver-check-user-permission-for-full-load-only`

此預遷移評估會驗證 DMS 任務的使用者是否具有在 FULL LOAD 模式下執行任務的許可。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查 DMS 使用者是否具有完整 LOAD 和 CDC 或僅限 CDC 許可
<a name="CHAP_Tasks.AssessmentReport.SqlServer.FullLoadCDCPermissions"></a>

**API 金鑰：**`sqlserver-check-user-permission-for-cdc`

此預遷移評估會驗證 DMS 使用者是否具有在 `FULL LOAD and CDC`或 `CDC only` 模式中執行任務的許可。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查現場部署或 EC2 資料庫上的 CDC 是否已啟用 MS-Replication。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.IgnoreMsReplicationEnablement"></a>

**API 金鑰：**`sqlserver-check-attribute-for-enable-ms-cdc-onprem`

檢查現場部署或 EC2 資料庫上的 CDC 是否已啟用 MS-Replication。

如需設定 MS 複寫的詳細資訊，請參閱：[在內部部署或 Amazon EC2 上擷取自我管理 SQL Server 的資料變更](CHAP_Source.SQLServer.CDC.md#CHAP_Source.SQLServer.CDC.Selfmanaged)。

## 檢查 DMS 使用者是否具有 VIEW DEFINITION 許可。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDefinition"></a>

**API 金鑰：**`sqlserver-check-user-permission-on-view-definition`

此預遷移評估會驗證端點設定中指定的使用者是否具有 `VIEW DEFINITION`許可。DMS 需要檢視物件定義的`VIEW DEFINITION`許可。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查 DMS 使用者是否對沒有 Sysadmin 角色的使用者具有主資料庫的 VIEW DATABASE STATE 許可。
<a name="CHAP_Tasks.AssessmentReport.SqlServer.ViewDatabaseState"></a>

**API 金鑰：**`sqlserver-check-user-permission-on-view-database-state`

此預遷移評估會驗證端點設定中指定的使用者是否具有 `VIEW DATABASE STATE`許可。DMS 需要此許可才能存取 MASTER 資料庫中的資料庫物件。當使用者沒有 sysadmin 權限時，DMS 也需要此許可。DMS 需要此許可才能建立函數、憑證和登入，以及授予登入資料。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 檢查 DMS 使用者是否具有 VIEW SERVER STATE 許可。
<a name="CHAP_Tasks.AssessmentReport.SqlServer."></a>

**API 金鑰：**`sqlserver-check-user-permission-on-view-server-state`

此預遷移評估會檢查額外連線屬性 (ECA) 中指定的使用者是否具有 `VIEW SERVER STATE`許可。 `VIEW SERVER STATE` 是一種伺服器層級許可，可讓使用者檢視整個伺服器的資訊和狀態。此許可可讓您存取動態管理檢視 DMVs) 和動態管理函數 (DMFs)，以公開 SQL Server 執行個體的相關資訊。DMS 使用者需要此許可才能存取 CDC 資源。在 `FULL LOAD and CDC`或 `CDC only` 模式下執行 DMS 任務需要此許可。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 驗證文字複本大小參數是否不受限制
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.replsizeparameter"></a>

**API 金鑰：**`sqlserver-check-for-max-text-repl-size`

在資料庫上設定文字複本大小上限參數可能會導致 LOB 資料欄的資料遷移錯誤。DMS 強烈建議將其設定為 -1。

如需詳細資訊，請參閱[對 Microsoft SQL Server 的問題進行疑難排解](CHAP_Troubleshooting.md#CHAP_Troubleshooting.SQLServer)。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapply"></a>

**API 金鑰：**`sqlserver-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 驗證啟用批次套用時，目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.batchapplysimultaneously"></a>

**API 金鑰：**`sqlserver-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵或主索引鍵，並在遷移時重建它。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源的限制 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.Limitations)。

## 啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsvalidation"></a>

**API 金鑰：**`sqlserver-check-pk-validity`

資料驗證要求資料表在來源和目標上都有主索引鍵或唯一索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證 AWS DMS 使用者是否具有目標的必要權限
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.dmsprivileges"></a>

**API 金鑰：**`sqlserver-check-target-privileges`

 AWS DMS 使用者必須至少擁有目標資料庫上的 db\$1owner 使用者角色。

如需詳細資訊，請參閱[使用 SQL Server 做為 目標時的安全需求 AWS Database Migration Service](CHAP_Target.SQLServer.md#CHAP_Target.SQLServer.Security)。

## 使用 MaxFullLoadSubTasks 設定的建議
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.maxfullloadsubtask"></a>

**API 金鑰：**`sqlserver-tblnum-for-max-fullload-subtasks`

此評估會檢查任務中包含的資料表數量，並建議在完整載入程序期間增加 `MaxFullLoadSubTasks` 參數以獲得最佳效能。根據預設， 會同時 AWS DMS 遷移 8 個資料表。將 `MaxFullLoadSubTasks` 參數變更為較高的值可改善完全載入效能。

如需詳細資訊，請參閱[完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.gigits.randomise"></a>

**API 金鑰：**`sqlserver-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.digits.mask"></a>

**API 金鑰：**`sqlserver-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.hash.mask"></a>

**API 金鑰：**`sqlserver-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digits.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.target.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 驗證備份鏈
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.backup.chain"></a>

**API 金鑰：**`sqlserver-check-for-backup-broken-chain`

此預遷移評估會驗證來源資料庫備份鏈是否未中斷。中斷的備份鏈可防止 AWS DMS 存取 CDC 複寫所需的交易日誌。

## 檢查資料庫使用者套用`EXCLUSIVE_AUTOMATIC_TRUNCATION`保護政策的許可
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.safeguard.permission"></a>

**API 金鑰：**`sqlserver-safeguard-permissions`

此預遷移評估會驗證資料庫使用者是否具有使用`EXCLUSIVE_AUTOMATIC_TRUNCATION`保護政策所需的許可。使用者必須將 `dbo.syscategories`和`dbo.sysjobs`系統物件的 SELECT 許可授予 dmsuser。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源時的端點設定 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib)。

## 驗證 AWS DMS 來源端點的次要節點連線和必要的防護屬性
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.safeguard.policy"></a>

**API 金鑰：**`sqlserver-check-sec-node-sg-policy`

此預遷移評估會驗證來源端點在連線至已啟用防護的次要節點時，是否已設定必要的額外連線屬性 (ECAs)。

如需詳細資訊，請參閱[使用 SQL Server 做為 來源時的端點設定 AWS DMS](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.ConnectionAttrib)。

## 當 AWS DMS 連接到次要節點時，驗證端點具有所有必要的額外連線屬性 (ECAs)
<a name="CHAP_Tasks.AssessmentReport.Sqlserver.node.without.eca"></a>

**API 金鑰：**`sqlserver-check-sec-node-without-eca`

此預遷移評估會驗證在來源端點連線至次要節點時，是否已設定所有必要的額外連線屬性 (ECAs)

如需詳細資訊，請參閱[使用自我管理 SQL Server AlwaysOn 可用群組](CHAP_Source.SQLServer.md#CHAP_Source.SQLServer.AlwaysOn)。

# MySQL 評估
<a name="CHAP_Tasks.AssessmentReport.MySQL"></a>

本節說明使用 MySQL、Aurora MySQL 相容版本或 Aurora MySQL 相容版本無伺服器來源端點之遷移任務的個別預遷移評估。

**Topics**
+ [驗證二進位日誌交易壓縮是否已停用](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction)
+ [驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 許可](#CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions)
+ [驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可](#CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions)
+ [驗證來源資料庫中的 server\$1id 是否設定為 1 或更高](#CHAP_Tasks.AssessmentReport.MySQL.ServerID)
+ [驗證 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可](#CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions)
+ [驗證是否已為來源資料庫設定自動移除二進位日誌](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval)
+ [驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode)
+ [驗證資料表是否使用 Innodb 以外的儲存引擎](#CHAP_Tasks.AssessmentReport.MySQL.Innodb)
+ [驗證是否在用於遷移的任何資料表上啟用自動遞增](#CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement)
+ [驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MySQL.BinlogImage)
+ [驗證來源資料庫是否為 MySQL 僅供讀取複本](#CHAP_Tasks.AssessmentReport.MySQL.ReadReplica)
+ [驗證資料表是否有分割區，並建議`target_table_prep_mode`完整載入任務設定](#CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings)
+ [驗證 DMS 是否支援資料庫版本](#CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion)
+ [驗證目標資料庫是否已設定為 `local_infile` 1](#CHAP_Tasks.AssessmentReport.MySQL.LocalInfile)
+ [驗證目標資料庫是否有具有外部索引鍵的資料表](#CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys)
+ [驗證任務範圍內的來源資料表是否有階層限制](#CHAP_Tasks.AssessmentReport.MySQL.Cascade)
+ [驗證逾時值是否適合 MySQL 來源或目標](#CHAP_Tasks.AssessmentReport.MySQL.Timeout)
+ [驗證`max_statement_time`資料庫參數](#CHAP_Tasks.AssessmentReport.MySQL.max_statement_time)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul)
+ [驗證次要索引是否在目標資料庫完全載入期間啟用](#CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes)
+ [啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.pk_validity)
+ [使用 `MaxFullLoadSubTasks`設定的建議](#CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.MySQL.digits.randomise)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MySQL.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MYSQL.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask)
+ [檢查來源 Amazon Aurora MySQL 執行個體是否不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.MYSQL.read.only)
+ [檢查二進位日誌保留時間是否已正確設定](#CHAP_Tasks.AssessmentReport.MYSQL.retention.time)
+ [檢查來源資料表是否沒有隱藏的資料欄。](#CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns)
+ [驗證資料庫 Binlog 格式是否設定為 ROW 以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MYSQL.binlog.format)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.MYSQL.selection.rules)
+ [驗證來源資料庫中是否存在具有產生資料欄的資料表](#CHAP_Tasks.AssessmentReport.MYSQL.generated.columns)
+ [驗證已為分割資料表啟用 skipTableSuspensionForPartitionDdl](#CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl)
+ [驗證 max\$1allowed\$1packet 大小是否可以處理來源 LOB 資料欄](#CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints)

## 驗證二進位日誌交易壓縮是否已停用
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction"></a>

**API 金鑰：**`mysql-check-binlog-compression`

此預遷移評估會驗證二進位日誌交易壓縮是否已停用。 AWS DMS 不支援二進位日誌交易壓縮。

如需詳細資訊，請參閱[使用 MySQL 資料庫做為來源的限制 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions"></a>

**API 金鑰：**`mysql-check-replication-privileges`

如果 DMS 任務遷移類型為 CDC 或完全載入 \$1 CDC，則此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有 `REPLICATION CLIENT`和來源資料庫的`REPLICATION SLAVE`許可。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions"></a>

**API 金鑰：**`mysql-check-select-privileges`

此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證來源資料庫中的 server\$1id 是否設定為 1 或更高
<a name="CHAP_Tasks.AssessmentReport.MySQL.ServerID"></a>

**API 金鑰：**`mysql-check-server-id`

此預遷移評估會驗證 CDC 遷移類型的來源資料庫中的`server_id`伺服器變數是否設定為 1 或更高。

如需 來源的詳細資訊 AWS DMS，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions"></a>

**API 金鑰：**`mysql-check-target-privileges`

此預遷移評估會驗證目標端點連線設定中指定的 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可。

如需 MySQL 來源端點先決條件的詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證是否已為來源資料庫設定自動移除二進位日誌
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval"></a>

**API 金鑰：**`mysql-check-expire-logs-days`

此預遷移評估會驗證資料庫是否設定為自動移除二進位日誌。`EXPIRE_LOGS_DAYS` 或 `BINLOG_EXPIRE_LOGS_SECONDS`全域系統變數的值應大於零，以防止遷移期間過度使用磁碟空間。

如需 來源的詳細資訊 AWS DMS，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode"></a>

**API 金鑰：**`mysql-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務是否包含 LOB 資料欄。如果 LOB 資料欄包含在任務範圍中，則只能與有限的 LOB 模式`BatchApplyEnabled`一起使用。

如需`BatchApplyEnabled`設定的詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證資料表是否使用 Innodb 以外的儲存引擎
<a name="CHAP_Tasks.AssessmentReport.MySQL.Innodb"></a>

**API 金鑰：**`mysql-check-table-storage-engine`

此預遷移評估會驗證用於來源 MySQL 資料庫中任何資料表的儲存引擎是否為 Innodb 以外的引擎。根據預設，DMS 會使用 InnoDB 儲存引擎建立目標資料表。如果您需要使用 InnoDB 以外的儲存引擎，您必須在目標資料庫上手動建立資料表，並將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。如需完整載入任務設定的詳細資訊，請參閱 [完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

**注意**  
此預遷移評估不適用於 Aurora MySQL 相容版本或 Aurora MySQL 相容版本 Serverless。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證是否在用於遷移的任何資料表上啟用自動遞增
<a name="CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement"></a>

**API 金鑰：**`mysql-check-auto-increment`

此預遷移評估會驗證任務中使用的來源資料表是否已啟用自動遞增。DMS 不會將資料欄上的 AUTO\$1INCREMENT 屬性遷移至目標資料庫。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。如需有關在 MySQL 中處理身分資料欄的資訊，請參閱[處理 IDENTITY 資料欄 AWS DMS：第 2 部分](https://aws.amazon.com/blogs/database/handle-identity-columns-in-aws-dms-part-2/)。

## 驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinlogImage"></a>

**API 金鑰：**`mysql-check-binlog-image`

此預遷移評估會檢查來源資料庫的 binlog 映像是否設定為 `FULL`。在 MySQL 中，`binlog_row_image`變數決定使用 `ROW` 格式時如何寫入二進位日誌事件。若要確保與 DMS 的相容性並支援 CDC，請將 `binlog_row_image`變數設定為 `FULL`。此設定可確保 DMS 收到足夠的資訊，以在遷移期間建構目標資料庫的完整資料處理語言 (DML)。

若要將 binlog 映像設定為 `FULL`，請執行下列動作：
+ 對於 Amazon RDS，此值預設為 `FULL` 。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `binlog_row_image`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證來源資料庫是否為 MySQL 僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReadReplica"></a>

**API 金鑰：**`mysql-check-database-role`

此預遷移評估會驗證來源資料庫是否為僅供讀取複本。若要在連線至僅供讀取複本時啟用 DMS 的 CDC 支援，請將 `log_slave_updates` 參數設定為 `True`。如需使用自我管理 MySQL 資料庫的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

若要將 `log_slave_updates`值設定為 `True`，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需使用 RDS 資料庫參數群組的相關資訊，請參閱《*Amazon RDS 使用者指南*》中的[使用參數群組](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `log_slave_updates`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證資料表是否有分割區，並建議`target_table_prep_mode`完整載入任務設定
<a name="CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings"></a>

**API 金鑰：**`mysql-check-table-partition`

此預遷移評估會檢查來源資料庫中是否存在具有分割區的資料表。DMS 會在 MySQL 目標上建立沒有分割區的資料表。若要將分割資料表遷移至目標上的分割資料表，您必須執行下列動作：
+ 在目標 MySQL 資料庫中預先建立分割的資料表。
+ 將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 是否支援資料庫版本
<a name="CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion"></a>

**API 金鑰：**`mysql-check-supported-version`

此預遷移評估會驗證來源資料庫版本是否與 DMS 相容。如需支援的 MySQL 版本的詳細資訊，請參閱 [資料遷移的來源端點](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.DataMigration)。

## 驗證目標資料庫是否已設定為 `local_infile` 1
<a name="CHAP_Tasks.AssessmentReport.MySQL.LocalInfile"></a>

**API 金鑰：**`mysql-check-target-localinfile-set`

 此預遷移評估會檢查目標資料庫中的 `local_infile` 參數是否設為 1。DMS 要求在目標資料庫中完全載入期間將 'local\$1infile' 參數設定為 1。如需詳細資訊，請參閱[使用 從 MySQL 遷移至 MySQL AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Homogeneous)。

此評估僅適用於完全載入或完全載入和 CDC 任務。

## 驗證目標資料庫是否有具有外部索引鍵的資料表
<a name="CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys"></a>

**API 金鑰：**`mysql-check-fk-target`

此預遷移評估會檢查完全載入或完全，以及遷移至 MySQL 資料庫的 CDC 任務是否有具有外部索引鍵的資料表。DMS 中的預設設定是依字母順序載入資料表。具有外部索引鍵和參考完整性限制的資料表可能會導致載入失敗，因為父資料表和子資料表可能不會同時載入。

如需 DMS 中參考完整性的詳細資訊，請參閱 [改善 AWS DMS 遷移的效能](CHAP_BestPractices.md#CHAP_BestPractices.Performance)主題中的**使用索引、觸發條件和參考完整性限制**。

## 驗證任務範圍內的來源資料表是否有階層限制
<a name="CHAP_Tasks.AssessmentReport.MySQL.Cascade"></a>

**API 金鑰：**`mysql-check-cascade-constraints`

此預遷移評估會檢查是否有任何 MySQL 來源資料表有層疊限制。DMS 任務不會遷移或複寫層疊限制條件，因為 MySQL 不會在 binlog 中記錄這些事件的變更。雖然 AWS DMS 不支援這些限制條件，但您可以針對關聯式資料庫目標使用因應措施。

如需有關支援大小寫限制條件和其他限制條件的資訊，請參閱 主題[未遷移的索引、外部索引鍵或梯級更新或刪除](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.FKsAndIndexes)中的**對遷移任務進行故障診斷。 AWS DMS**

## 驗證逾時值是否適合 MySQL 來源或目標
<a name="CHAP_Tasks.AssessmentReport.MySQL.Timeout"></a>

**API 金鑰：**`mysql-check-target-network-parameter`

此預遷移評估會檢查任務的 MySQL 端點是否已將 `net_read_timeout``net_write_timeout`和 `wait_timeout`設定設為至少 300 秒。這是必要的，以防止遷移期間中斷連線。

如需詳細資訊，請參閱[目標 MySQL 執行個體的連線在任務期間中斷連線](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)。

## 驗證`max_statement_time`資料庫參數
<a name="CHAP_Tasks.AssessmentReport.MySQL.max_statement_time"></a>

**API 金鑰：**`mysql-check-max-statement-time`

檢查來源參數 - `max_Statement_time` 適用於 MySQL 型來源。如果資料表大於 10 億，請驗證 值，`max_Statement_time`並建議將 設定為較高的值，以避免任何潛在的資料遺失。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence"></a>

**API 金鑰：**`mysql-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul"></a>

**API 金鑰：**`mysql-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。

## 驗證次要索引是否在目標資料庫完全載入期間啟用
<a name="CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes"></a>

**API 金鑰：**`mysql-check-secondary-indexes`

考慮停用或移除目標資料庫中的次要索引。次要索引可能會影響完全載入期間的遷移效能。建議您先啟用次要索引，再套用快取的變更。

如需詳細資訊，請參閱 [的最佳實務 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.pk_validity"></a>

**API 金鑰：**`mysql-check-pk-validity`

資料驗證要求資料表必須有主索引鍵或唯一的索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html)。

## 使用 `MaxFullLoadSubTasks`設定的建議
<a name="CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks"></a>

**API 金鑰：**`mysql-tblnum-for-max-fullload-subtasks`

此評估會檢查任務中包含的資料表數量，並建議在完整載入程序期間增加 `MaxFullLoadSubTasks` 參數以獲得最佳效能。根據預設， 會同時 AWS DMS 遷移 8 個資料表。將 `MaxFullLoadSubTasks` 參數變更為較高的值可改善完全載入效能。

如需詳細資訊，請參閱[完全載入任務設定](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.randomise"></a>

**API 金鑰：**`mysql-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.mask"></a>

**API 金鑰：**`mysql-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MYSQL.hash.mask"></a>

**API 金鑰：**`mysql-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 檢查來源 Amazon Aurora MySQL 執行個體是否不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MYSQL.read.only"></a>

**API 金鑰：**`mysql-check-aurora-read-only`

此預遷移評估會驗證是否在兩個 Amazon Aurora MySQL 叢集之間遷移，來源端點必須是讀取/寫入執行個體，而不是複本執行個體。

## 檢查二進位日誌保留時間是否已正確設定
<a name="CHAP_Tasks.AssessmentReport.MYSQL.retention.time"></a>

**API 金鑰：**`mysql-check-binlog-retention-time`

此預遷移評估會驗證「binlog 保留時數」的值是否大於 24 小時。

## 檢查來源資料表是否沒有隱藏的資料欄。
<a name="CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns"></a>

**API 金鑰：**`mysql-check-invisible-columns`

此預遷移評估會驗證來源資料表是否沒有隱藏資料欄。 AWS DMS 不會從來源資料庫中的隱藏資料欄遷移資料。

## 驗證資料庫 Binlog 格式是否設定為 ROW 以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MYSQL.binlog.format"></a>

**API 金鑰：**`mysql-check-binlog-format`

此預遷移評估會驗證來源資料庫 Binlog 格式是否設定為 ROW，以支援變更資料擷取 (CDC)。若要將 binlog 格式設定為 ROW，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需詳細資訊，請參閱《Amazon Relational Database Service 使用者指南》中的[為單一可用區資料庫設定 MySQL 二進位記錄](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf `(UNIX) 中設定 `binlog_format`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。如需自我託管 MySQL 伺服器的詳細資訊，請參閱[使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.MYSQL.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證來源資料庫中是否存在具有產生資料欄的資料表
<a name="CHAP_Tasks.AssessmentReport.MYSQL.generated.columns"></a>

**API 金鑰：**`mysql-check-generated-columns`

此預遷移評估會檢查是否有任何 MySQL 來源資料表已產生 column. AWS DMS tasks 不會遷移或複寫產生的資料欄。如需如何遷移產生的資料欄的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證已為分割資料表啟用 skipTableSuspensionForPartitionDdl
<a name="CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl"></a>

**API 金鑰：**`mysql-check-skip-table-suspension-partition-ddl`

此預遷移評估會偵測來源資料庫中的分割資料表，並驗證`skipTableSuspensionForPartitionDdl`參數設定。未設定此參數可能會導致遷移期間不必要的資料表停用。如需詳細資訊，請參閱以下連結：[使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證 max\$1allowed\$1packet 大小是否可以處理來源 LOB 資料欄
<a name="CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob"></a>

**API 金鑰：**`mysql-check-max-allowed-packet-lob`

AWS DMS 會偵測來源資料表中超過目前`max_allowed_packet`設定的 LOB 資料欄。此不相符可能會導致資料遷移期間的複寫失敗。如需詳細資訊，請參閱[使用 MySQL 來疑難排解問題](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL)。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

# MariaDB 評估
<a name="CHAP_Tasks.AssessmentReport.MariaDB"></a>

本節說明使用 MariaDB 來源端點之遷移任務的個別預遷移評估。

若要使用 AWS DMS API 建立個別預遷移評估，請針對 [ StartReplicationTaskAssessmentRun](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html) 動作的 `Include` 參數使用列出的 API 金鑰。

**Topics**
+ [驗證來源資料庫中的 `server_id` 是否設定為 1 或更高](#CHAP_Tasks.AssessmentReport.MariaDB.ServerID)
+ [驗證是否已為來源資料庫設定自動移除二進位日誌](#CHAP_Tasks.AssessmentReport.MariaDB.AutomaticRemovalBinaryLogs)
+ [驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.MariaDB.LimitedLOBMode)
+ [驗證二進位日誌交易壓縮是否已停用](#CHAP_Tasks.AssessmentReport.MariaDB.BinaryLogTransactionCompression)
+ [驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 權限](#CHAP_Tasks.AssessmentReport.MariaDB.ReplicationClientSlavePrivileges)
+ [驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserSELECTPermissions)
+ [驗證 DMS 使用者是否具有 MySQL 相容資料庫的必要權限做為目標](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions)
+ [驗證資料表是否使用 Innodb 以外的儲存引擎](#CHAP_Tasks.AssessmentReport.MariaDB.Innodb)
+ [驗證是否在用於遷移的任何資料表上啟用自動遞增](#CHAP_Tasks.AssessmentReport.MariaDB.AutoIncrement)
+ [驗證資料庫 Binlog 格式是否設定為 `ROW`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogFormat)
+ [驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogImage)
+ [驗證來源資料庫是否為 MariaDB 僅供讀取複本](#CHAP_Tasks.AssessmentReport.MariaDB.ReadReplica)
+ [驗證資料表是否具有分割區，並`DO_NOTHING`針對完整載入任務設定建議 `TRUNCATE_BEFORE_LOAD`或](#CHAP_Tasks.AssessmentReport.MariaDB.FullLoadTaskSettings)
+ [驗證 DMS 是否支援資料庫版本](#CHAP_Tasks.AssessmentReport.MariaDB.DatabaseVersion)
+ [驗證目標資料庫是否已設定為 `local_infile` 1](#CHAP_Tasks.AssessmentReport.MariaDB.LocalInfile)
+ [驗證目標資料庫是否有具有外部索引鍵的資料表](#CHAP_Tasks.AssessmentReport.MariaDB.ForeignKeys)
+ [驗證任務範圍內的來源資料表是否有層疊限制條件](#CHAP_Tasks.AssessmentReport.MariaDB.Cascade)
+ [驗證任務範圍內的來源資料表是否已產生資料欄](#CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns)
+ [驗證逾時值是否適合 MariaDB 來源](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source)
+ [驗證逾時值是否適合 MariaDB 目標](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target)
+ [驗證`max_statement_time`資料庫參數](#CHAP_Tasks.AssessmentReport.MariaDB.database.parameter)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply.simultaneous)
+ [驗證次要索引是否在目標資料庫完全載入期間啟用](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.indexes)
+ [啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.dmsvalidation)
+ [使用 `MaxFullLoadSubTasks`設定的建議](#CHAP_Tasks.AssessmentReport.MariaDB.maxfullload)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.digit.mask)
+ [檢查二進位日誌保留時間是否已正確設定](#CHAP_Tasks.AssessmentReport.MariaDB.retention.time)
+ [檢查來源資料表是否沒有隱藏的資料欄](#CHAP_Tasks.AssessmentReport.MariaDB.invisible.columns)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.MariaDB.selection.rules)
+ [驗證 `skipTableSuspensionForPartitionDdl` 已啟用分割資料表](#CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.constraints)

## 驗證來源資料庫中的 `server_id` 是否設定為 1 或更高
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ServerID"></a>

**API 金鑰：**`mariadb-check-server-id`

此預遷移評估會驗證 CDC 遷移類型的來源資料庫中的`server_id`伺服器變數是否設定為 1 或更高。

如需 MariaDB 端點限制的詳細資訊，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證是否已為來源資料庫設定自動移除二進位日誌
<a name="CHAP_Tasks.AssessmentReport.MariaDB.AutomaticRemovalBinaryLogs"></a>

**API 金鑰：**`mariadb-check-expire-logs-days`

此預遷移評估會驗證資料庫是否已設定為自動移除二進位日誌。`EXPIRE_LOGS_DAYS` 或 `BINLOG_EXPIRE_LOGS_SECONDS`全域系統變數的值應大於零，以防止遷移期間過度使用磁碟空間。

如需 MariaDB 端點限制的詳細資訊，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.MariaDB.LimitedLOBMode"></a>

**API 金鑰：**`mariadb-batch-apply-lob-mode`

當複寫中包含 LOB 資料欄時，您只能`BatchApplyEnabled`在有限的 LOB 模式下使用 。使用 LOB 模式的其他選項會導致批次失敗，並將逐一 AWS DMS 處理變更。建議您將這些資料表移至自己的任務，並改用交易套用模式。

如需`BatchApplyEnabled`設定的詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證二進位日誌交易壓縮是否已停用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinaryLogTransactionCompression"></a>

**API 金鑰：**`mariadb-check-binlog-compression`

此預遷移評估會驗證二進位日誌交易壓縮是否已停用。 AWS DMS 不支援二進位日誌交易壓縮。

如需詳細資訊，請參閱[使用 MySQL 資料庫做為來源的限制 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 權限
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ReplicationClientSlavePrivileges"></a>

**API 金鑰：**`mariadb-check-replication-privileges`

如果 DMS 任務遷移類型為 CDC 或完全載入 \$1 CDC，則此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有來源資料庫的 `REPLICATION CLIENT`和 `REPLICATION SLAVE`權限。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DMSUserSELECTPermissions"></a>

**API 金鑰：**`mariadb-check-select-privileges`

此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有來源資料庫資料表的`SELECT`許可。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證 DMS 使用者是否具有 MySQL 相容資料庫的必要權限做為目標
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions"></a>

**API 金鑰：**`mariadb-check-target-privileges`

此預遷移評估會驗證目標端點連線設定中指定的 DMS 使用者是否具有 MySQL 相容資料庫的必要權限做為目標。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證資料表是否使用 Innodb 以外的儲存引擎
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Innodb"></a>

**API 金鑰：**`mariadb-check-table-storage-engine`

此預遷移評估會驗證用於來源 MariaDB 資料庫中任何資料表的儲存引擎是否為 Innodb 以外的引擎。根據預設，DMS 會使用 InnoDB 儲存引擎建立目標資料表。如果您需要使用 InnoDB 以外的儲存引擎，您必須在目標資料庫上手動建立資料表，並將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。如需完整載入任務設定的詳細資訊，請參閱 [完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

如需 MariaDB 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證是否在用於遷移的任何資料表上啟用自動遞增
<a name="CHAP_Tasks.AssessmentReport.MariaDB.AutoIncrement"></a>

**API 金鑰：**`mariadb-check-auto-increment`

此預遷移評估會驗證任務中使用的來源資料表是否已啟用自動遞增。DMS 不會將資料欄上的 AUTO\$1INCREMENT 屬性遷移至目標資料庫。

如需 MariaDB 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。如需有關在 MariaDB 中處理身分資料欄的資訊，請參閱[處理 IDENTITY 資料欄 AWS DMS：第 2 部分](https://aws.amazon.com/blogs/database/handle-identity-columns-in-aws-dms-part-2/)。

## 驗證資料庫 Binlog 格式是否設定為 `ROW`以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinlogFormat"></a>

**API 金鑰：**`mariadb-check-binlog-format`

此預遷移評估會驗證來源資料庫 binlog 格式是否設定為 `ROW`以支援 DMS 變更資料擷取 (CDC)。

若要將 binlog 格式設定為 `ROW`，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需有關使用 RDS 參數群組的資訊，請參閱《*Amazon RDS 使用者指南*》中的[設定 MySQL 二進位日誌](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `binlog_format`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需自我託管 MariaDB 伺服器的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

## 驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MariaDB.BinlogImage"></a>

**API 金鑰：**`mariadb-check-binlog-image`

此預遷移評估會檢查來源資料庫的 binlog 映像是否設定為 `FULL`。在 MariaDB 中，`binlog_row_image`變數決定使用 `ROW` 格式時如何寫入二進位日誌事件。若要確保與 DMS 的相容性並支援 CDC，請將 `binlog_row_image`變數設定為 `FULL`。此設定可確保 DMS 收到足夠的資訊，以在遷移期間建構目標資料庫的完整資料處理語言 (DML)。

若要將 binlog 映像設定為 `FULL`，請執行下列動作：
+ 對於 Amazon RDS，此值預設為 `FULL` 。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `binlog_row_image`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

如需自我託管 MariaDB 伺服器的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

## 驗證來源資料庫是否為 MariaDB 僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ReadReplica"></a>

**API 金鑰：**`mariadb-check-database-role`

此預遷移評估會驗證來源資料庫是否為僅供讀取複本。若要在連線至僅供讀取複本時啟用 DMS 的 CDC 支援，請將 `log_slave_updates` 參數設定為 `True`。如需使用自我管理 MySQL 資料庫的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

若要將`log_slave_updates`值設定為 `True`，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需使用 RDS 資料庫參數群組的詳細資訊，請參閱《*Amazon RDS 使用者指南*》中的[使用參數群組](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `log_slave_updates`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證資料表是否具有分割區，並`DO_NOTHING`針對完整載入任務設定建議 `TRUNCATE_BEFORE_LOAD`或
<a name="CHAP_Tasks.AssessmentReport.MariaDB.FullLoadTaskSettings"></a>

**API 金鑰：**`mariadb-check-table-partition`

此預遷移評估會檢查來源資料庫中是否存在具有分割區的資料表。DMS 會在 MariaDB 目標上建立沒有分割區的資料表。若要將分割資料表遷移至目標上的分割資料表，您必須執行下列動作：
+ 在目標 MariaDB 資料庫中預先建立分割的資料表。
+ 將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。

如需 MariaDB 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 是否支援資料庫版本
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DatabaseVersion"></a>

**API 金鑰：**`mariadb-check-supported-version`

此預遷移評估會驗證來源資料庫版本是否與 DMS 相容。Amazon RDS MariaDB 10.4 版或更新版本或大於 10.11 的 MySQL 版本不支援 CDC。如需支援的 MariaDB 版本的詳細資訊，請參閱 [資料遷移的來源端點](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.DataMigration)。

## 驗證目標資料庫是否已設定為 `local_infile` 1
<a name="CHAP_Tasks.AssessmentReport.MariaDB.LocalInfile"></a>

**API 金鑰：**`mariadb-check-target-localinfile-set`

 此預遷移評估會檢查目標資料庫中的 `local_infile` 參數是否設為 1。DMS 要求在目標資料庫中完全載入期間將 'local\$1infile' 參數設定為 1。如需詳細資訊，請參閱[使用 從 MySQL 遷移至 MySQL AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Homogeneous)。

此評估僅適用於完全載入任務。

## 驗證目標資料庫是否有具有外部索引鍵的資料表
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ForeignKeys"></a>

**API 金鑰：**`mariadb-check-fk-target`

此預遷移評估會檢查完全載入或完全，以及遷移至 MariaDB 資料庫的 CDC 任務是否具有具有外部索引鍵的資料表。DMS 中的預設設定是依字母順序載入資料表。具有外部索引鍵和參考完整性限制的資料表可能會導致載入失敗，因為父資料表和子資料表可能不會同時載入。

如需 DMS 中參考完整性的詳細資訊，請參閱 [改善 AWS DMS 遷移的效能](CHAP_BestPractices.md#CHAP_BestPractices.Performance)主題中的**使用索引、觸發條件和參考完整性限制**。

## 驗證任務範圍內的來源資料表是否有層疊限制條件
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Cascade"></a>

**API 金鑰：**`mariadb-check-cascade-constraints`

此預遷移評估會檢查是否有任何 MariaDB 來源資料表有層疊限制。DMS 任務不會遷移或複寫層疊限制條件，因為 MariaDB 不會在 binlog 中記錄這些事件的變更。雖然 AWS DMS 不支援這些限制條件，但您可以針對關聯式資料庫目標使用因應措施。

如需有關支援大小寫限制條件和其他限制條件的資訊，請參閱 主題[未遷移的索引、外部索引鍵或梯級更新或刪除](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.FKsAndIndexes)中的**對遷移任務進行故障診斷。 AWS DMS**

## 驗證任務範圍內的來源資料表是否已產生資料欄
<a name="CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns"></a>

**API 金鑰：**`mariadb-check-generated-columns`

此預遷移評估會檢查是否有任何 MariaDB 來源資料表已產生資料欄。DMS 任務不會遷移或複寫產生的資料欄。

如需如何遷移產生的資料欄的詳細資訊，請參閱 [目標 MySQL 執行個體的連線在任務期間中斷連線](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)。

## 驗證逾時值是否適合 MariaDB 來源
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source"></a>

**API 金鑰：**`mariadb-check-source-network-parameter`

此預遷移評估會檢查任務的 MariaDB 來源端點是否已將 `net_read_timeout``net_write_timeout`和 `wait_timeout`設定設為至少 300 秒。這是必要的，以防止遷移期間中斷連線。

如需詳細資訊，請參閱[目標 MySQL 執行個體的連線在任務期間中斷連線](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)。

## 驗證逾時值是否適合 MariaDB 目標
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target"></a>

**API 金鑰：**`mariadb-check-target-network-parameter`

此預遷移評估會檢查任務的 MariaDB 目標端點是否將 `net_read_timeout``net_write_timeout`和 `wait_timeout`設定設為至少 300 秒。這是必要的，以防止遷移期間中斷連線。

如需詳細資訊，請參閱[目標 MySQL 執行個體的連線在任務期間中斷連線](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)。

## 驗證`max_statement_time`資料庫參數
<a name="CHAP_Tasks.AssessmentReport.MariaDB.database.parameter"></a>

**API 金鑰：**`mariadb-check-max-statement-time`

AWS DMS 會驗證資料庫來源參數`max_statement_time`是否設定為 0 以外的值。需要將此參數設定為 0 才能容納 DMS 完全載入程序。您可以考慮在完全載入完成後變更參數值，因為將其設定為 0 以外的值可能會導致資料遺失。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MariaDB.batchapply"></a>

**API 金鑰：**`mariadb-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並且會逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.MySQL.md)。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.MariaDB.batchapply.simultaneous"></a>

**API 金鑰：**`mariadb-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.MySQL.md)。

## 驗證次要索引是否在目標資料庫完全載入期間啟用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.secondary.indexes"></a>

**API 金鑰：**`mariadb-check-secondary-indexes`

您必須考慮停用或移除目標資料庫中的次要索引。次要索引可能會影響完全載入期間的遷移效能。建議您先啟用次要索引，再套用快取的變更。

如需詳細資訊，請參閱[的最佳實務 AWS Database Migration Service](CHAP_BestPractices.md)。

## 啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MariaDB.dmsvalidation"></a>

**API 金鑰：**`mariadb-check-pk-validity`

資料驗證要求資料表在來源和目標上都有主索引鍵或唯一索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 使用 `MaxFullLoadSubTasks`設定的建議
<a name="CHAP_Tasks.AssessmentReport.MariaDB.maxfullload"></a>

此評估會檢查任務中包含的資料表數量，並建議在完整載入程序期間增加 `MaxFullLoadSubTasks` 參數以獲得最佳效能。根據預設， 會同時 AWS DMS 遷移 8 個資料表。將 `MaxFullLoadSubTasks` 參數變更為較高的值可改善完全載入效能。

如需詳細資訊，請參閱[完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.MariaDB.digits.randomize"></a>

**API 金鑰：**`mariadb-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MariaDB.digits.mask"></a>

**API 金鑰：**`mariadb-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MariaDB.hash.mask"></a>

**API 金鑰：**`mariadb-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.digits.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 檢查二進位日誌保留時間是否已正確設定
<a name="CHAP_Tasks.AssessmentReport.MariaDB.retention.time"></a>

**API 金鑰：**`mariadb-check-binlog-retention-time`

此預遷移評估會驗證 '`binlog retention hours`' 的值是否大於 24 小時。

## 檢查來源資料表是否沒有隱藏的資料欄
<a name="CHAP_Tasks.AssessmentReport.MariaDB.invisible.columns"></a>

**API 金鑰：**`mariadb-check-invisible-columns`

此預遷移評估會驗證來源資料表是否沒有隱藏資料欄。 AWS DMS 不會從來源資料庫中的隱藏資料欄遷移資料。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.MariaDB.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證 `skipTableSuspensionForPartitionDdl` 已啟用分割資料表
<a name="CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl"></a>

**API 金鑰：**`mariadb-check-skip-table-suspension-partition-ddl`

此預遷移評估會偵測來源資料庫中的分割資料表，並驗證`skipTableSuspensionForPartitionDdl`參數設定。未設定此參數可能會導致遷移期間不必要的資料表停用。

如需詳細資訊，請參閱[使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.MariaDB.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

# PostgreSQL 評估
<a name="CHAP_Tasks.AssessmentReport.PG"></a>

本節說明使用 PostgreSQL 來源端點之遷移任務的個別預遷移評估。

**Topics**
+ [驗證 DDL 事件觸發是否始終設定為啟用](#CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger)
+ [驗證來源資料庫中是否存在 PostGIS 資料欄](#CHAP_Tasks.AssessmentReport.PG.PostGISColumns)
+ [驗證是否在完全載入程序期間停用目標資料表上的外部金鑰限制](#CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled)
+ [驗證是否存在具有類似名稱的資料表](#CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames)
+ [驗證是否有資料表具有不含主索引鍵的 ARRAY 資料類型](#CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey)
+ [啟用 BatchApplyEnabled 時，驗證目標資料表上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes)
+ [驗證目標資料庫的任何資料表是否具有完全載入遷移任務的次要索引](#CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes)
+ [驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode)
+ [驗證 DMS 是否支援來源資料庫版本以進行遷移](#CHAP_Tasks.AssessmentReport.PG.SourceVersion)
+ [驗證來源資料庫上的 `logical_decoding_work_mem` 參數](#CHAP_Tasks.AssessmentReport.PG.LogicalDecoding)
+ [驗證來源資料庫是否有任何長時間執行的交易](#CHAP_Tasks.AssessmentReport.PG.LongRunning)
+ [驗證來源資料庫參數 `max_slot_wal_keep_size`](#CHAP_Tasks.AssessmentReport.PG.)
+ [檢查來源資料庫參數是否`postgres-check-maxwalsenders`設定為支援 CDC。](#CHAP_Tasks.AssessmentReport.PG.MaxWalSenders)
+ [檢查來源資料庫是否已設定 `PGLOGICAL`](#CHAP_Tasks.AssessmentReport.PG.pglogical)
+ [驗證來源資料表主索引鍵是否為 LOB 資料類型](#CHAP_Tasks.AssessmentReport.PG.pklob)
+ [驗證來源資料表是否具有主索引鍵](#CHAP_Tasks.AssessmentReport.PG.pk)
+ [驗證來源資料庫中是否存在準備好的交易](#CHAP_Tasks.AssessmentReport.PG.preparedtransactions)
+ [驗證 `wal_sender_timeout` 是否設定為支援 DMS CDC 所需的最低值](#CHAP_Tasks.AssessmentReport.PG.waltime)
+ [驗證來源資料庫上的 是否`wal_level`設定為邏輯](#CHAP_Tasks.AssessmentReport.PG.wallevel)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.PG.batchapply)
+ [在找到 LOB 物件時建議最大 LOB 設定](#CHAP_Tasks.AssessmentReport.PG.lobsize)
+ [驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態良好](#CHAP_Tasks.AssessmentReport.PG.pkvalidity)
+ [驗證 AWS DMS 使用者是否具有目標的必要權限](#CHAP_Tasks.AssessmentReport.PG.targetprivileges)
+ [驗證 CDC 免費複寫槽的可用性](#CHAP_Tasks.AssessmentReport.PG.slotscount)
+ [驗證 DMS 使用者完整載入許可](#CHAP_Tasks.AssessmentReport.PG.object.privileges)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.PG.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.PG.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.PG.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.digit.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.PG.all.digit.mask)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.PG.selection.rules)
+ [驗證目標 PostgreSQL 資料庫是否包含產生的資料欄](#CHAP_Tasks.AssessmentReport.PG.target.generatedcol)
+ [驗證同質 PostgreSQL 遷移中是否存在具體化視觀表](#CHAP_Tasks.AssessmentReport.PG.mat.views)
+ [驗證 REPLICA IDENTITY FULL 是否與 pglogical 外掛程式用量衝突](#CHAP_Tasks.AssessmentReport.PG.repl.identity.full)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.PG.secondary.constraints)
+ [驗證遷移至 Oracle 的 CHAR/VARCHAR 資料欄相容性](#CHAP_Tasks.AssessmentReport.PG.varchar.columns)
+ [驗證已在來源資料庫上設定`idle_in_transaction_session_timeout`設定](#CHAP_Tasks.AssessmentReport.PG.transaction.session)
+ [驗證 AWS DMS 使用者是否具有 AWS受管 PostgreSQL 資料庫所需的角色](#CHAP_Tasks.AssessmentReport.PG.rds.roles)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.PG.read.replica)
+ [驗證來源 Aurora PostgreSQL 僅供讀取複本版本](#CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version)
+ [驗證來源 PostgreSQL 僅供讀取複本版本](#CHAP_Tasks.AssessmentReport.PG.source.replica.version)

## 驗證 DDL 事件觸發是否始終設定為啟用
<a name="CHAP_Tasks.AssessmentReport.PG.DDLEventTrigger"></a>

 **API 金鑰：**`postgres-check-ddl-event-trigger`

 此預遷移評估會驗證 DDL 事件觸發是否設定為 `ENABLE ALWAYS`。當您的來源資料庫也是另一個第三方複寫系統的目標時，DDL 變更可能不會在 CDC 期間遷移。這種情況可能會導致 DMS 無法觸發`awsdms_intercept_ddl`事件。若要解決這種情況，請修改來源資料庫上的觸發條件，如模糊範例中所示：

```
alter event trigger awsdms_intercept_ddl enable always;
```

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證來源資料庫中是否存在 PostGIS 資料欄
<a name="CHAP_Tasks.AssessmentReport.PG.PostGISColumns"></a>

 **API 金鑰：**`postgres-check-postgis-data-type`

 此預遷移評估會驗證在來源和目標引擎中存在的 PostGIS 資料類型資料欄是否不同。 僅 AWS DMS 支援同質 (like-to-like) 遷移的 PostGIS 資料類型。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證是否在完全載入程序期間停用目標資料表上的外部金鑰限制
<a name="CHAP_Tasks.AssessmentReport.PG.ForeignKeyConstraintDisabled"></a>

 **API 金鑰：**`postgres-check-session-replication-role`

 此預遷移評估會驗證目標`REPLICA`上的 `session_replication_role parameter` 是否設定為 ，以在完全載入階段停用外部金鑰限制。對於完全載入遷移類型，您應該停用外部金鑰限制。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證是否存在具有類似名稱的資料表
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateSimilarNames"></a>

 **API 金鑰：**`postgres-check-similar-table-name`

 此預遷移評估會驗證來源上是否有具有類似名稱的資料表。在不同的案例中寫入多個同名資料表可能會導致複寫期間無法預測的行為。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 驗證是否有資料表具有不含主索引鍵的 ARRAY 資料類型
<a name="CHAP_Tasks.AssessmentReport.PG.ValidateArrayWithoutPrimaryKey"></a>

 **API 金鑰：**`postgres-check-table-with-array`

 此預遷移評估會驗證是否有資料表具有陣列資料類型，而沒有主索引鍵。在完全載入期間，會忽略缺少主索引鍵的`ARRAY`資料類型資料表。

如需 PostgreSQL 端點限制的詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 DMS 來源的限制](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations)。

## 啟用 BatchApplyEnabled 時，驗證目標資料表上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.PG.PrimaryKeysUniqueIndexes"></a>

 **API 金鑰：**`postgres-check-batch-apply-target-pk-ui-absence`

 只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並將逐一 AWS DMS 處理變更。我們建議您為此類資料表建立個別任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證目標資料庫的任何資料表是否具有完全載入遷移任務的次要索引
<a name="CHAP_Tasks.AssessmentReport.PG.TargetDatabaseSecondaryIndexes"></a>

 **API 金鑰：**`postgres-check-target-secondary-indexes`

 此預遷移評估會驗證是否有資料表在完全載入遷移任務範圍內具有次要索引。我們建議您在完全載入任務期間捨棄次要索引。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)。

## 驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.PG.LimitedLOBMode"></a>

 **API 金鑰：**`postgres-batch-apply-lob-mode`

 當複寫中包含 LOB 資料欄時，您只能`BatchApplyEnabled`在有限的 LOB 模式下使用 。使用 LOB 模式的其他選項會導致批次失敗，並將逐一 AWS DMS 處理變更。建議您將這些資料表移至自己的任務，並改用交易套用模式。

如需`BatchApplyEnabled`設定的詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證 DMS 是否支援來源資料庫版本以進行遷移
<a name="CHAP_Tasks.AssessmentReport.PG.SourceVersion"></a>

**API 金鑰：**`postgres-check-dbversion`

此預遷移評估會驗證來源資料庫版本是否相容 AWS DMS。

## 驗證來源資料庫上的 `logical_decoding_work_mem` 參數
<a name="CHAP_Tasks.AssessmentReport.PG.LogicalDecoding"></a>

**API 金鑰：**`postgres-check-for-logical-decoding-work-mem`

此預遷移評估建議調校來源資料庫上的 `logical_decoding_work_mem` 參數。在交易程度高的資料庫中，您可能有長時間執行的交易或許多子交易，這可能會導致邏輯解碼記憶體消耗增加，並且需要溢出到磁碟。這會導致複寫期間高 DMS 來源延遲。在這種情況下，您可能需要調校 `logical_decoding_work_mem`。PostgreSQL 第 13 版及更高版本支援此參數。

## 驗證來源資料庫是否有任何長時間執行的交易
<a name="CHAP_Tasks.AssessmentReport.PG.LongRunning"></a>

**API 金鑰：**`postgres-check-longrunningtxn`

此預遷移評估會驗證來源資料庫是否有任何持續超過 10 分鐘的長時間執行交易。啟動任務可能會失敗，因為 DMS 預設會在啟動任務時檢查是否有任何開啟的交易。

## 驗證來源資料庫參數 `max_slot_wal_keep_size`
<a name="CHAP_Tasks.AssessmentReport.PG."></a>

**API 金鑰：**`postgres-check-maxslot-wal-keep-size`

此預遷移評估會驗證為 設定的值`max_slot_wal_keep_size`。當 `max_slot_wal_keep_size` 設定為非預設值時，DMS 任務可能會因為移除必要的 WAL 檔案而失敗。

## 檢查來源資料庫參數是否`postgres-check-maxwalsenders`設定為支援 CDC。
<a name="CHAP_Tasks.AssessmentReport.PG.MaxWalSenders"></a>

**API 金鑰：**`postgres-check-maxwalsenders`

此預遷移評估會驗證來源資料庫`max_wal_senders`上為 設定的值。DMS 需要`max_wal_senders`設定為大於 1，以支援變更資料擷取 (CDC)。

## 檢查來源資料庫是否已設定 `PGLOGICAL`
<a name="CHAP_Tasks.AssessmentReport.PG.pglogical"></a>

**API 金鑰：**`postgres-check-pglogical`

 此預遷移評估會驗證`shared_preload_libraries`值是否設定為`pglogical``PGLOGICAL`支援 CDC。請注意，如果您打算使用邏輯複寫的測試解碼，您可以忽略此評估。

## 驗證來源資料表主索引鍵是否為 LOB 資料類型
<a name="CHAP_Tasks.AssessmentReport.PG.pklob"></a>

**API 金鑰：**`postgres-check-pk-lob`

此預遷移評估會驗證資料表的主索引鍵是否為大型物件 (LOB) 資料類型。如果來源資料表具有 LOB 資料欄做為主索引鍵，則 DMS 不支援複寫。

## 驗證來源資料表是否具有主索引鍵
<a name="CHAP_Tasks.AssessmentReport.PG.pk"></a>

**API 金鑰：**`postgres-check-pk`

此預遷移評估會驗證任務範圍中使用的資料表是否有主索引鍵。DMS 不支援在沒有主索引鍵的情況下複寫資料表，除非來源資料表`full`上的複本身分設定為 。

## 驗證來源資料庫中是否存在準備好的交易
<a name="CHAP_Tasks.AssessmentReport.PG.preparedtransactions"></a>

**API 金鑰：**`postgres-check-preparedtxn`

此預遷移評估會驗證來源資料庫中是否存在任何預備的交易。如果來源資料庫上有任何預備的交易，複寫槽建立可能會停止回應。

## 驗證 `wal_sender_timeout` 是否設定為支援 DMS CDC 所需的最低值
<a name="CHAP_Tasks.AssessmentReport.PG.waltime"></a>

**API 金鑰：**`postgres-check-walsenderstimeout`

此預遷移評估會驗證 `wal_sender_timeout` 是否設定為至少 10000 毫秒 (10 秒）。具有 CDC 的 DMS 任務需要至少 10000 毫秒 (10 秒），如果值小於 10000，則失敗。

## 驗證來源資料庫上的 是否`wal_level`設定為邏輯
<a name="CHAP_Tasks.AssessmentReport.PG.wallevel"></a>

**API 金鑰：**`postgres-check-wallevel`

 此預遷移評估會驗證 `wal_level` 是否設為邏輯。若要讓 DMS CDC 運作，必須在來源資料庫上啟用此參數。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.PG.batchapply"></a>

**API 金鑰：**`postgres-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用自我管理 PostgreSQL 資料庫做為 AWS DMS 來源來啟用 CDC](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Prerequisites.CDC)。

## 在找到 LOB 物件時建議最大 LOB 設定
<a name="CHAP_Tasks.AssessmentReport.PG.lobsize"></a>

**API 金鑰：**`postgres-check-limited-lob-size`

PostgreSQL 的 LOB 大小計算與其他引擎不同。請確定您在任務設定上設定正確的 LOB 大小上限，以避免任何資料截斷。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證資料表是否具有主索引鍵或唯一索引，且啟用 DMS 驗證時其狀態良好
<a name="CHAP_Tasks.AssessmentReport.PG.pkvalidity"></a>

**API 金鑰：**`postgres-check-pk-validity`

資料驗證要求資料表必須有主索引鍵或唯一的索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

## 驗證 AWS DMS 使用者是否具有目標的必要權限
<a name="CHAP_Tasks.AssessmentReport.PG.targetprivileges"></a>

**API 金鑰：**`postgres-check-target-privileges`

 AWS DMS 使用者在目標資料庫上必須至少有 db\$1owner 使用者角色。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫做為 目標時的安全需求 AWS Database Migration Service](CHAP_Target.PostgreSQL.md#CHAP_Target.PostgreSQL.Security)。

## 驗證 CDC 免費複寫槽的可用性
<a name="CHAP_Tasks.AssessmentReport.PG.slotscount"></a>

**API 金鑰：**`postgres-check-replication-slots-count`

此評估會驗證複寫槽是否可供 CDC 複寫變更。

## 驗證 DMS 使用者完整載入許可
<a name="CHAP_Tasks.AssessmentReport.PG.object.privileges"></a>

**API 金鑰：**`postgres-check-select-object-privileges`

此評估會驗證 DMS 使用者是否對完整載入操作所需的資料表具有必要的 SELECT 權限。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.digits.randomize"></a>

**API 金鑰：**`postgres-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.digits.mask"></a>

**API 金鑰：**`postgres-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.PG.hash.mask"></a>

**API 金鑰：**`postgres-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.PG.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.PG.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證目標 PostgreSQL 資料庫是否包含產生的資料欄
<a name="CHAP_Tasks.AssessmentReport.PG.target.generatedcol"></a>

**API 金鑰：**`postgres-check-target-generated-cols`

此預遷移評估會驗證目標 PostgreSQL 資料庫是否包含任何產生的資料欄 （包括 STORED 和 VIRTUAL 類型），這些資料欄在遷移期間可能需要特殊處理。計算其他資料欄值的產生資料欄需要特定的驗證，以確保與目標 PostgreSQL 版本的相容性，以及遷移後適當的資料一致性。

## 驗證同質 PostgreSQL 遷移中是否存在具體化視觀表
<a name="CHAP_Tasks.AssessmentReport.PG.mat.views"></a>

**API 金鑰：**`postgres-check-materialized-views`

在 PostgreSQL 資料庫之間遷移時， AWS DMS 無法遷移具體化視觀表。遷移後，必須在目標資料庫上手動建立具體化視觀表。

如需詳細資訊，請參閱[使用 PostgreSQL 資料庫作為 DMS 來源的限制](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Limitations)。

## 驗證 REPLICA IDENTITY FULL 是否與 pglogical 外掛程式用量衝突
<a name="CHAP_Tasks.AssessmentReport.PG.repl.identity.full"></a>

**API 金鑰：**`postgres-check-pglogical-replica-identity-full`

此預遷移評估會使用 REPLICA IDENTITY FULL 偵測資料表。雖然 test\$1decoding 外掛程式支援 REPLICA IDENTITY FULL，但將 REPLICA IDENTITY FULL 與 pglogical 搭配使用會阻止正確複寫更新。將 REPLICA IDENTITY 設定變更為 DEFAULT/INDEX，或切換至 test\$1decoding 外掛程式以維護 REPLICA IDENTITY FULL

如需詳細資訊，請參閱[使用邏輯複寫啟用變更資料擷取 (CDC)](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.Security)。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.PG.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。

## 驗證遷移至 Oracle 的 CHAR/VARCHAR 資料欄相容性
<a name="CHAP_Tasks.AssessmentReport.PG.varchar.columns"></a>

**API 金鑰：**`postgres-to-oracle-check-varchar-columns`

此預遷移評估會驗證目標資料庫中使用的 NCHAR/NVARCHAR2 資料類型資料欄是否與來源資料庫中的 CHAR/VARCHAR 資料欄相容。

## 驗證已在來源資料庫上設定`idle_in_transaction_session_timeout`設定
<a name="CHAP_Tasks.AssessmentReport.PG.transaction.session"></a>

**API 金鑰：**`postgres-check-idle-in-transaction-session-timeout`

此預遷移評估會驗證來源資料庫上的 `idle_in_transaction_session_timeout` 參數未設定為 0。

## 驗證 AWS DMS 使用者是否具有 AWS受管 PostgreSQL 資料庫所需的角色
<a name="CHAP_Tasks.AssessmentReport.PG.rds.roles"></a>

**API 金鑰：**`postgres-check-rds-roles`

此預遷移評估會驗證 AWS DMS 使用者是否已設定 AWS受管 PostgreSQL 資料庫的所有必要角色。角色不足可能會導致遷移任務失敗。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.PG.read.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 驗證來源 Aurora PostgreSQL 僅供讀取複本版本
<a name="CHAP_Tasks.AssessmentReport.PG.Aurorasource.replica.version"></a>

**API 金鑰：**`postgres-aurora-check-source-replica-role-cdc`

此預遷移評估會驗證來源端點是否使用執行版本 16 或更新版本的 Aurora PostgreSQL 僅供讀取複本。CDC 操作需要複寫插槽，Aurora PostgreSQL 不支援 16 之前版本的唯讀節點。

如需詳細資訊，請參閱[作為 PostgreSQL 來源的僅供讀取複本](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica)。

## 驗證來源 PostgreSQL 僅供讀取複本版本
<a name="CHAP_Tasks.AssessmentReport.PG.source.replica.version"></a>

**API 金鑰：**`postgres-check-source-replica-role-cdc`

此預遷移評估會驗證來源端點是否使用執行第 16 版或更新版本的 PostgreSQL 僅供讀取複本。CDC 操作需要複寫插槽，PostgreSQL 不支援 16 之前版本的唯讀節點。

如需詳細資訊，請參閱[作為 PostgreSQL 來源的僅供讀取複本](CHAP_Source.PostgreSQL.md#CHAP_Source.PostgreSQL.ReadReplica)。

# Db2 LUW 評估
<a name="CHAP_Tasks.AssessmentReport.Db2"></a>

本節說明使用 Db2 LUW 來源端點之遷移任務的個別預遷移評估。

**Topics**
+ [驗證 IBM Db2 LUW 資料庫是否設定為可復原。](#CHAP_Tasks.AssessmentReport.Db2.config.param)
+ [驗證 DMS 使用者是否對來源資料庫具有執行完整載入所需的許可](#CHAP_Tasks.AssessmentReport.Db2.load.privileges)
+ [驗證 DMS 使用者是否具有執行 CDC 所需的來源資料庫許可](#CHAP_Tasks.AssessmentReport.Db2.cdc.privileges)
+ [驗證來源 IBM Db2 LUW 來源資料表是否具有 Db2 XML 資料類型](#CHAP_Tasks.AssessmentReport.Db2.xml.data.type)
+ [驗證 是否支援來源 IBM Db2 LUW 版本 AWS DMS](#CHAP_Tasks.AssessmentReport.Db2.supported.version.source)
+ [驗證 是否支援目標 IBM Db2 LUW 版本 AWS DMS](#CHAP_Tasks.AssessmentReport.Db2.supported.version.target)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.Db2.digits.randomise)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Db2.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.Db2.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.Db2.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Db2.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.Db2.all.digit.mask)
+ [確認目標資料表具有正確的索引組態 （主索引鍵或唯一索引，而非兩者） 以實現批次套用相容性](#CHAP_Tasks.AssessmentReport.Db2.pk.absence)
+ [當 `BatchApplyEnabled` 設為 true 時，驗證僅使用「有限 LOB 模式」](#CHAP_Tasks.AssessmentReport.Db2.lob.mode)
+ [驗證是否在完全載入期間在目標資料庫上停用次要索引](#CHAP_Tasks.AssessmentReport.secondary.indexes)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.Db2.selection.rules)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.Db2.secondary.constraints)

## 驗證 IBM Db2 LUW 資料庫是否設定為可復原。
<a name="CHAP_Tasks.AssessmentReport.Db2.config.param"></a>

**API 金鑰：**`db2-check-archive-config-param`

此預遷移評估會驗證 Db2 LUW 資料庫是否具有其中一個或兩個資料庫組態參數，`LOGARCHMETH1`並`LOGARCHMETH2`設定為 **ON**。

## 驗證 DMS 使用者是否對來源資料庫具有執行完整載入所需的許可
<a name="CHAP_Tasks.AssessmentReport.Db2.load.privileges"></a>

**API 金鑰：**`db2-check-full-load-privileges`

此預遷移評估會驗證 DMS 使用者在來源資料庫上是否具有完整載入操作所需的所有必要許可。

## 驗證 DMS 使用者是否具有執行 CDC 所需的來源資料庫許可
<a name="CHAP_Tasks.AssessmentReport.Db2.cdc.privileges"></a>

**API 金鑰：**`db2-check-cdc-privileges`

此預遷移評估會驗證 DMS 使用者是否具有 CDC 操作之來源資料庫的所有必要許可。

## 驗證來源 IBM Db2 LUW 來源資料表是否具有 Db2 XML 資料類型
<a name="CHAP_Tasks.AssessmentReport.Db2.xml.data.type"></a>

**API 金鑰：**`db2-check-xml-data-type`

此預遷移評估會驗證來源 IBM Db2 LUW 資料表是否具有 Db2 XML 資料類型。

## 驗證 是否支援來源 IBM Db2 LUW 版本 AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Db2.supported.version.source"></a>

**API 金鑰：**`db2-validate-supported-versions-source`

此預遷移評估會驗證來源 IBM Db2 LUW 版本是否受支援 AWS DMS。

## 驗證 是否支援目標 IBM Db2 LUW 版本 AWS DMS
<a name="CHAP_Tasks.AssessmentReport.Db2.supported.version.target"></a>

**API 金鑰：**`db2-validate-supported-versions-target`

此預遷移評估會驗證是否支援目標 IBM Db2 LUW 版本 AWS DMS。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.Db2.digits.randomise"></a>

**API 金鑰：**`db2-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Db2.digits.mask"></a>

**API 金鑰：**`db2-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.Db2.hash.mask"></a>

**API 金鑰：**`db2-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Db2.all.digits.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Db2.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.Db2.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 確認目標資料表具有正確的索引組態 （主索引鍵或唯一索引，而非兩者） 以實現批次套用相容性
<a name="CHAP_Tasks.AssessmentReport.Db2.pk.absence"></a>

**API 金鑰：**`db2-check-batch-apply-target-pk-ui-absence`

批次套用需要目標資料表具有主索引鍵或唯一索引鍵，但不能同時包含兩者。如果資料表同時包含主索引鍵和唯一索引鍵，則套用模式會從批次變更為交易。

## 當 `BatchApplyEnabled` 設為 true 時，驗證僅使用「有限 LOB 模式」
<a name="CHAP_Tasks.AssessmentReport.Db2.lob.mode"></a>

**API 金鑰：**`db2-check-for-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務是否包含 LOB 資料欄。如果任務範圍中包含 LOB 資料欄，您必須使用「有限 LOB 模式」，才能使用 `BatchApplyEnabled=true`。

## 驗證是否在完全載入期間在目標資料庫上停用次要索引
<a name="CHAP_Tasks.AssessmentReport.secondary.indexes"></a>

**API 金鑰：**`db2-check-secondary-indexes`

此預遷移評估會驗證在目標資料庫完全載入期間是否停用次要索引。您必須在完全載入期間停用或移除次要索引。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.Db2.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.Db2.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。