

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

# 使用 SAP ASE 資料庫做為 的來源 AWS DMS
<a name="CHAP_Source.SAP"></a>

您可以使用 從先前稱為 Sybase 的 SAP Adaptive Server Enterprise (ASE) 資料庫遷移資料 AWS DMS。使用 SAP ASE 資料庫做為來源，您可以將資料遷移到任何其他支援 AWS DMS 的目標資料庫。

如需 AWS DMS 支援做為來源的 SAP ASE 版本資訊，請參閱 [的來源 AWS DMS](CHAP_Introduction.Sources.md)。

如需使用 SAP ASE 資料庫和 的其他詳細資訊 AWS DMS，請參閱下列各節。

**Topics**
+ [使用 SAP ASE 資料庫做為 來源的先決條件 AWS DMS](#CHAP_Source.SAP.Prerequisites)
+ [使用 SAP ASE 做為 來源的限制 AWS DMS](#CHAP_Source.SAP.Limitations)
+ [使用 SAP ASE 做為 來源所需的許可 AWS DMS](#CHAP_Source.SAP.Security)
+ [移除截斷點](#CHAP_Source.SAP.Truncation)
+ [使用 SAP ASE 做為 來源時的端點設定 AWS DMS](#CHAP_Source.SAP.ConnectionAttrib)
+ [SAP ASE 的來源資料類型](#CHAP_Source.SAP.DataTypes)

## 使用 SAP ASE 資料庫做為 來源的先決條件 AWS DMS
<a name="CHAP_Source.SAP.Prerequisites"></a>

若要讓 SAP ASE 資料庫成為 的來源 AWS DMS，請執行下列動作：
+ 使用 `sp_setreptable` 命令啟用資料表的 SAP ASE 複寫。如需詳細資訊，請參閱 [Sybase 資訊中心封存]( http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc32410_1501/html/refman/X37830.htm)。
+ 停用 SAP ASE 資料庫上的 `RepAgent`。如需詳細資訊，請參閱[停止和停用主要資料庫中的 RepAgent 執行緒](http://infocenter-archive.sybase.com/help/index.jsp?topic=/com.sybase.dc20096_1260/html/mra126ag/mra126ag65.htm)。
+ 若要在針對非拉丁字元 (例如中文) 設定之 Windows EC2 執行個體上，複寫到 SAP ASE 15.7 版，請在目標電腦上安裝 SAP ASE 15.7 SP121。

**注意**  
對於進行中的變更資料擷取 (CDC) 複寫，DMS 會執行 `dbcc logtransfer` 與 `dbcc log` 以從交易日誌讀取資料。

## 使用 SAP ASE 做為 來源的限制 AWS DMS
<a name="CHAP_Source.SAP.Limitations"></a>

使用 SAP ASE 資料庫做為 AWS DMS來源時，有下列限制：
+ 每個 SAP ASE 資料庫只能執行一個具有進行中複寫或 CDC AWS DMS 的任務。您可以同時執行多個僅限完全載入的任務。
+ 您無法重新命名資料表。例如，下列命令會失敗。

  ```
  sp_rename 'Sales.SalesRegion', 'SalesReg;
  ```
+ 您無法重新命名資料行。例如，下列命令會失敗。

  ```
  sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  ```
+ 位在二進位資料類型字串尾端的零值，在複寫到目標資料庫會被截斷。例如，來源資料表的 `0x0000000000000000000000000100000100000000` 會成為目標資料表的 `0x00000000000000000000000001000001`。
+ 如果資料庫預設值設定為不允許 NULL 值， 會使用不允許 NULL 值的資料欄 AWS DMS 建立目標資料表。因此，如果完全載入或 CDC 複寫任務包含空值，則會 AWS DMS 擲出錯誤。您可以使用下列命令允許來源資料庫使用 NULL 值，以避免這些錯誤。

  ```
  sp_dboption database_name, 'allow nulls by default', 'true'
  go
  use database_name
  CHECKPOINT
  go
  ```
+ 不支援 `reorg rebuild` 索引命令。
+ AWS DMS 不支援叢集或使用 MSA （多站台可用性）/Warm Standby 做為來源。
+ 在對應規則中使用 `AR_H_TIMESTAMP` 轉換標頭表達式時，不會擷取新增資料欄的毫秒數。
+ 在 CDC 期間執行合併操作會導致無法復原的錯誤。若要使目標恢復同步，請執行完全載入。
+ 使用資料列鎖定配置的資料表不支援回復觸發事件。
+ AWS DMS 從來源 SAP 資料庫捨棄任務範圍內的資料表後， 無法繼續複寫任務。如果 DMS 複寫任務已停止並執行任何 DML 操作 (INSERT、UPDATE、DELETE)，則在捨棄資料表後，您必須重新開始複寫任務。

## 使用 SAP ASE 做為 來源所需的許可 AWS DMS
<a name="CHAP_Source.SAP.Security"></a>

若要使用 SAP ASE 資料庫做為 AWS DMS 任務中的來源，您需要授予許可。在 SAP ASE 資料庫中授予 AWS DMS 資料庫定義中指定的使用者帳戶下列許可：
+ sa\$1role
+ replication\$1role
+ sybase\$1ts\$1role
+ 根據預設，當您需要執行`sp_setreptable`預存程序的許可時， 會 AWS DMS 啟用 SAP ASE 複寫選項。如果您想要直接從資料庫端點而非透過 AWS DMS 本身在資料表`sp_setreptable`上執行，您可以使用`enableReplication`額外的連線屬性。如需詳細資訊，請參閱[使用 SAP ASE 做為 來源時的端點設定 AWS DMS](#CHAP_Source.SAP.ConnectionAttrib)。

## 移除截斷點
<a name="CHAP_Source.SAP.Truncation"></a>

當任務啟動時， 會在`syslogshold`系統檢視中 AWS DMS 建立`$replication_truncation_point`項目，表示複寫程序正在進行中。當 AWS DMS 正常運作時，它會根據已複製到目標的資料量，定期推進複寫截斷點。

建立`$replication_truncation_point`項目後，請讓 AWS DMS 任務持續執行，以防止資料庫日誌變得過大。如果您想要永久停止 AWS DMS 任務，請發出下列命令來移除複寫截斷點：

```
dbcc settrunc('ltm','ignore')
```

截斷點移除後，您就無法繼續 AWS DMS 任務。日誌會繼續自動截斷在檢查點 (如已設定自動截斷)。

## 使用 SAP ASE 做為 來源時的端點設定 AWS DMS
<a name="CHAP_Source.SAP.ConnectionAttrib"></a>

您可以使用端點設定來設定 SAP ASE 來源資料庫，類似於使用額外的連線屬性。您可以在使用 AWS DMS 主控台或使用 中的 `create-endpoint`命令搭配 `--sybase-settings '{"EndpointSetting": "value", ...}'` JSON 語法來建立來源端點時[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)指定設定。

下列資料表顯示您可以在將 SAP ASE 作為來源搭配使用的端點設定。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_Source.SAP.html)

## SAP ASE 的來源資料類型
<a name="CHAP_Source.SAP.DataTypes"></a>

如需使用 AWS DMS 時支援的 SAP ASE 來源資料類型清單，以及來自 AWS DMS 資料類型的預設映射，請參閱下表。 AWS DMS 不支援具有使用者定義類型 (UDT) 資料類型資料欄的 SAP ASE 來源資料表。使用此資料類型複寫的資料行會建立為 NULL。

如需如何檢視目標之映射資料類型的資訊，請參閱您目標端點的[資料遷移的目標](CHAP_Target.md)一節。

如需 AWS DMS 資料類型的詳細資訊，請參閱 [AWS Database Migration Service 的資料類型](CHAP_Reference.DataTypes.md)。


|  SAP ASE 資料類型  |  AWS DMS 資料類型  | 
| --- | --- | 
| BIGINT | INT8 | 
| UNSIGNED BIGINT | UINT8 | 
| INT | INT4 | 
| UNSIGNED INT | UINT4 | 
| SMALLINT | INT2 | 
| UNSIGNED SMALLINT | UINT2 | 
| TINYINT | UINT1 | 
| DECIMAL | NUMERIC | 
| NUMERIC | NUMERIC | 
| FLOAT | REAL8 | 
| DOUBLE | REAL8 | 
| REAL | REAL4 | 
| MONEY | NUMERIC | 
| SMALLMONEY | NUMERIC | 
| DATETIME | DATETIME | 
| BIGDATETIME | DATETIME(6) | 
| SMALLDATETIME | DATETIME | 
| DATE | DATE | 
| TIME | TIME | 
| BIGTIME | TIME | 
| CHAR | STRING | 
| UNICHAR | WSTRING | 
| NCHAR | WSTRING | 
| VARCHAR | STRING | 
| UNIVARCHAR | WSTRING | 
| NVARCHAR | WSTRING | 
| BINARY | BYTES | 
| VARBINARY | BYTES | 
| BIT | BOOLEAN | 
| TEXT | CLOB | 
| UNITEXT | NCLOB | 
| IMAGE | BLOB | 