# 必要條件

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/Prereqs-sql-server-cdc.htm)

在您可以登陸或複寫資料之前，確認完成下列先決條件：

* 在 資料移動閘道 伺服器安裝必要 driver

  資訊備註

  只有在您選擇使用 資料移動閘道 時，才需要此。如需關於 資料移動閘道 福利以及何時需要的資訊，請參閱 [Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

  請注意，資料移動閘道 無法用於 Qlik Talend Cloud 啟動器 訂閱。

* 在資料來源授予必要權限

* 設定資料來源連接器

## 驅動程式的設定

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

### 使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼，以根據需求更新並解除安裝 driver。

### 準備安裝

* 確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。

  Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令，以查看哪個 Python 版本安裝在您的系統上：

  python3 --version

### 安裝 driver

若要下載並安裝 driver：

1. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

2. 執行下列命令：

   語法：

   ./install sqlserver

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後，再次執行 install sqlserver 命令。

   否則，就會顯示 driver 的 EULA。

3. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

4. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。

   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。

   * 輸入「v」並按下 [Enter] 以再次檢視 EULA。

   將會安裝 driver。

### 更新 driver

若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本，請執行更新命令。

若要下載並更新 driver：

1. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

2. 執行下列命令：

   語法：

   ./update sqlserver

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後，再次執行 update sqlserver 命令。

   否則，就會顯示 driver 的 EULA。

3. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

4. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
   * 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。

   將會解除安裝舊版 driver，並安裝新版 driver。

### 解除安裝 driver

若您想要解除安裝 driver，請執行解除安裝命令。

若要解除安裝 driver：

1. 停止設定為使用此連接器的所有任務。

2. 在 資料移動 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

3. 執行下列命令：

   語法：

   ./uninstall sqlserver

   將會解除安裝 driver。

### 手動安裝驅動程式

只有在自動驅動程式安裝無法成功完成時，才能嘗試手動安裝 driver。

安裝 資料移動閘道 後，下載 msodbcsql&lt;version&gt;.x86\_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後，將 RPM 複製到 資料移動閘道 機器。

在 Data Movement gateway 伺服器上，開啟 shell prompt 並進行以下項目：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 安裝驅動程式 (RPM)。

4. 變更任務目錄至 &lt;product\_dir&gt;/bin。

5. 複製驅動程式位置至 `site_arep_login.sh` 檔案，如下所示：

   ```
   echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql<version>/lib64/" >> site_arep_login.sh
                           
   ```

   這將新增驅動程式至「LD\_LIBRARY\_PATH」並更新位於以下的驅動程式位置： **site\_arep\_login.sh** 檔案。

6. 可自選，確認已複製驅動程式位置：

   ```
   cat site_arep_login.sh
                           
   ```

7. 開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自選，確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

9. Data Movement gateway 需要以下 ODBC 物件庫：msodbcsql-18.1.so.1.1

   要檢查目前安裝的物件庫版本，請發出以下指令：

   ```
   ls /opt/microsoft/msodbcsql<version>/lib64/
                           
   ```

   若現有的物件庫有不同的版本號碼 (例如 libmsodbcsql-18.0.so.1.1)，您需要在現有物件庫和必要物件庫之間建立符號連結。

   要這麼做，請發出以下指令：

   ```
   cd /opt/microsoft/msodbcsql<version>/lib64/
                           
   ```

   ```
   ln -s existing_library_name msodbcsql-18.1.so.1.1
   ```

   若 `existing_library_name` 為目前安裝物件庫的名稱 (如 libmsodbcsql-18.0.so.1.1)。

警告備註若您正在使用 Microsoft Fabric 目標，則解除安裝 SQL Server 驅動程式的 Microsoft ODBC 驅動程式也會中斷與 Microsoft Fabric 的連線，因為這共用相同的驅動程式。

## 資料庫選項

為了能夠選取資料庫 (透過在連接器對話方塊中按一下載入資料庫)，需要在主要資料庫建立連接器設定中指定的使用者。

## 連接埠

依照預設值，在 Data Movement gateway 伺服器上需開啟連接埠 1434 才能進行傳出通訊。您可在連接器設定中變更此資訊。

## 為 CDC 準備資料庫

以下區段說明如何設定 CDC 資料庫。

設定 CDC 資料庫：

1. 透過執行以下項目設定 MS-CDC 的資料庫：

   exec *source\_db\_name*.dbo.sp\_cdc\_enable\_db

   當source\_db\_name為來源資料庫名稱。

2. landing 任務自動針對所有來源表格啟用 MS-CDC。但是，如果您偏好手動啟用 MS-CDC，執行以下指令碼（針對每個想要的來源表格）：

   exec sys.sp\_cdc\_enable\_table

   @source\_schema = N'*schema\_name*',

   @source\_name = N'*table\_name*',

   @role\_name = NULL

   當*schema\_name*和*table\_name*分別為來源結構描述和來源表格的名稱時。

   資訊備註

   * CT 表格名稱必須使用預設命名格式：&lt;SchemaName&gt;\_&lt;TableName&gt;\_CT

   * CT 表格必須包含以下欄位：[\_\_$start\_lsn]、[\_\_$end\_lsn]、[\_\_$seqval]、[\_\_$operation]、[\_\_$update\_mask]、&lt;all the data columns&gt;、[\_\_$command\_id]

3. 請確保進行 MS-CDC 擷取和清理任務。

   資訊備註

   * 您能使用sys.sp\_cdc\_change\_job控制任務。更多資訊，請參閱 Microsoft 支援。
   * 要減少延遲，您可能想要將 @pollinginterval 參數設定為較小數值。