# 限制與注意事項

使用 Microsoft SQL Server (基於 Microsoft CDC) 來源時，您應注意以下限制與注意事項：

## 所有資料任務的限制和考慮事項

* 不支援作為來源資料庫的 Secondary Microsoft Azure SQL Managed Instance。

* 不支援來自索引視圖的移動資料

* 當複寫欄位子集時，Data Movement gateway 會使用 `@captured_column_list` 參數，僅針對包含的欄位啟用 CDC。您可以在開始任務之前手動設定此參數。與此參數一起列出的欄位名稱不得超過 127 個字元。

* 由於在所有來源表格啟用 MS-CDC 的限制包括：

  * 不支援截斷欄位
  * 不支援 WRITETEXT 和 UPDATETEXT 公用程式

  進一步了解 MS-CDC 限制，請參閱 Microsoft 協助。

* [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/azuremscdc-source-limitations.htm)在沒有 db\_owner 角色運作時，適用以下限制：

  * 不支援 DDL 擷取。為了避免 移動 錯誤，您必須在執行任務之前清除連線設定中的擷取 DDL 事件核取方塊。

  * 無法自動啟用 MS-CDC，因此必須手動啟用。為了避免 移動 錯誤，您必須在執行任務之前清除連線設定中的在所有擷取的表格上啟用 MS-CDC 核取方塊。

  資訊備註在沒有 db\_owner 角色情況下運作必須有特別授權。如需詳細資訊，請參閱[必要權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Azure-MSCDC-Source/azremscdc-SQLServerDBSource-security.htm)。

* 僅支援完整載入任務中移動的運算欄位移動。在 CDC 期間，要插入預算欄位者會在目標上顯示為 NULL，將忽略更新。

* 不支援分割切換。

* 不支援以下 DML 模式：

  select &lt;\*&gt; into &lt;new\_table&gt; from &lt;existing\_table&gt;

* 不支援欄位層級加密。此類資料表在寫入目標時將不包含已加密的資料行。

* 不支援 ADD COLUMN DDL。當執行 ADD COLUMN DDL 時，資料表將複寫至目標，但不包含新加入的欄位，且會顯示警告。

* 在 Microsoft Azure SQL Managed Instance 空間資料類型（GEOGRAPHY 和 GEOMETRY）插入數值時，可以忽略空間參考識別碼 (SRIF) 特性，在此情況下，會使用預設 SRID（0 為 GEOMETRY，4326 為 GEOGRAPHY）或指定不同號碼。當移動表格有空兼資料類型，Data Movement gateway將使用者插入的 SRID 以預設 SRID 取代。

* 不支援 Columnstore 索引。

* 不支援記憶體最佳化表格 (使用 In-Memory OLTP)。

* 不支援暫時資料庫

* 不支援延遲耐久性

* 由於 ODBC 限制，不能使用超過 16 個欄位作為主要金鑰。

* 在目標中的遮蔽資料會以未遮蔽狀態建立。

* 不支援 OpenDAP

* 不支援組態於使用 ADR（加速資料庫復原）資料庫組態的 移動。

* 不支援 移動 名稱中有單引號 (') 的表格或架構。

* 使用 DACPAC 套用至資料庫的變更不會被擷取。

* 不支援總和超過 8060 位元的固定尺寸欄位（包括 NCHAR 和 CHAR 資料）的 MS-CDC 變更表格。

* 不支援系統表格和檢視。

## 複寫和登陸任務的限制和考慮事項

* 由於在所有來源表格上啟用 MS-CDC 的需求，將不會在 CDC 期間擷取重新命名的欄。

  進一步了解 MS-CDC 限制，請參閱 Microsoft 協助。

* 擷取 DDL 操作時的限制如下：

  * 不會擷取重新命名表格。當遇到重新命名表格 DDL，作業會繼續在不重新命名目標表格的情況下繼續擷取變更。如果任務停止又重啟，或如果有復原錯誤，表格會暫停以便允許 CT 表格進行手動達成一致。
  * 不支援 ADD COLUMN DDL。當執行 ADD COLUMN DDL 時，資料表將複寫至目標，但不包含新加入的欄位，且會顯示警告。

* [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/azuremscdc-source-limitations.htm)在沒有 db\_owner 角色的情況下執行時，不支援擷取 DDL。

  資訊備註在沒有 db\_owner 角色情況下運作必須有特別授權。如需詳細資訊，請參閱[不以 db_owner 角色執行](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Azure-MSCDC-Source/azremscdc-SQLServerDBSource-security.htm#Running)。

* 若沒有 db\_owner 角色情況下運作，則無法自動啟用 MS-CDC，因此必須手動啟用。為了預防 移動 錯誤，您也必須在執行任務之前，清除連線屬性中的在所有擷取的表格上啟用 MC-CDC 核取方塊。

* 不支援單一交易中擷取 DDL 和 DML 陳述式。

## 不支援的安全性功能

不支援使用以下安全性功能的資料表：

* Always Encrypted (永遠加密)
* Row-Level Security (資料列層級安全性)

## 不支援的資料類型

不支援以下資料類型：

* CURSOR
* SQL\_VARIANT
* 表格

資訊備註

依據其基本類型支援使用者定義資料類型。舉例來說，依據 DATETIME 的使用者定義資料類型以 DATETIME 資料類型處理。