

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

# 在 RDS for SQL Server 中搭配使用連結伺服器與 Teradata ODBC
<a name="USER_SQLServerTeradata"></a>

支援在 RDS for SQL Server 上搭配使用連結伺服器與 Teradata ODBC 驅動程式，可讓您存取 Teradata 資料庫上的外部資料來源。您可以從 RDS for SQL Server 執行個體以外的遠端 Teradata 資料庫伺服器讀取資料並執行命令。搭配使用連結伺服器與 Teradata ODBC 可啟用下列功能：
+ 直接存取 SQL Server 以外的資料來源。
+ 在未移動資料的情況下，使用相同查詢對各種 Teradata 資料進行查詢。
+ 跨企業生態系統對資料來源發出分散式查詢、更新、命令和交易。
+ 從 Microsoft Business Intelligence 套件 (SSIS、SSRS、SSAS) 內整合與 Teradata 資料庫的連線。
+ 從 Teradata 資料庫遷移至 RDS for SQL Server。

在現有或新的 RDS for SQL Server 資料庫執行個體上，您可以選擇為 Teradata 啟動一或多個連結伺服器。然後，您可以整合外部 Teradata 資料來源與您的資料庫執行個體。

**Topics**
+ [支援的版本和區域](#USER_SQLServerTeradata.VersionRegionSupport)
+ [限制與建議](#USER_SQLServerTeradata.LimitsandRecommendations)
+ [多可用區域部署考量](#USER_SQLServerTeradata.MultiAZ)
+ [啟用連結伺服器搭配 Oracle](USER_SQLServerTeradata.Activate.md)
+ [建立 Teradata 的連結伺服器](USER_SQLServerTeradata.CreateLinkedServers.md)
+ [停用連結至 Teradata 的伺服器](USER_SQLServerTeradata.Deactivate.md)

## 支援的版本和區域
<a name="USER_SQLServerTeradata.VersionRegionSupport"></a>

對於下列版本的 SQL Server Standard 和 Enterprise Edition，RDS for SQL Server 在所有 AWS 區域 都支援連結伺服器與 Teradata ODBC 搭配使用：
+ SQL Server 2022，所有版本
+ SQL Server 2019，所有版本
+ SQL Server 2017，所有版本

下列 Teradata 資料庫版本支援與 RDS for SQL Server 連結
+ Teradata 17.20，所有版本

## 限制與建議
<a name="USER_SQLServerTeradata.LimitsandRecommendations"></a>

下列限制適用於與 Teradata ODBC 搭配使用的連結伺服器：
+ RDS for SQL Server 僅支援使用 Teradata 來源的使用者名稱和密碼進行簡易身分驗證。
+ RDS for SQL Server 僅支援 Teradata ODBC 驅動程式 17.20.0.33 版。
+ RDS for SQL Server 不支援建立資料來源名稱 (DSN) 做為連接字串的捷徑。
+ RDS for SQL Server 不支援 ODBC 驅動程式追蹤。請使用 SQL Server 擴充事件來追蹤 ODBC 事件。如需詳細資訊，請參閱[設定 RDS for SQL Server 中的擴充事件](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-rds-for-sql-server/)。
+ 使用 SQL Server Management Studio (SSMS) 時，RDS for SQL Server 不支援存取 Teradata 連結伺服器的目錄資料夾。

搭配使用連結伺服器與 Teradata ODBC 時，請考量下列建議：
+ 針對每個 RDS for SQL Server 資料庫執行個體，透過在安全群組中新增適用的 TCP 連接埠，以允許網路流量。如果您要在 EC2 Teradata 資料庫執行個體與 RDS for SQL Server 資料庫執行個體之間設定連結伺服器，則必須允許來自 EC2 Teradata 資料庫執行個體 IP 位址的流量。您也必須允許 RDS for SQL Server 資料庫執行個體用來接聽資料庫通訊的連接埠上的流量。如需安全群組的詳細資訊，請參閱 [使用安全群組控制存取](Overview.RDSSecurityGroups.md)。
+ 支援分散式交易 (XA)。若要啟用分散式交易，請在資料庫執行個體的選項群組中開啟 `MSDTC` 選項，並確定 XA 交易已開啟。如需詳細資訊，請參閱 [RDS for SQL Server 中的 Microsoft Distributed Transaction Coordinator 支援](Appendix.SQLServer.Options.MSDTC.md)。
+ 只要在 Teradata 伺服器上設定，連結的 Teradata ODBC 就支援 SSL/TLS。如需詳細資訊，請參閱在 [Teradata Vantage 上啟用 TLS 連線](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/Teradata-Call-Level-Interface-Version-2-Reference-for-Workstation-Attached-Systems-20.00/Mainframe-TLS-Connectivity-Supplement/Enable-TLS-Connectivity-on-Teradata-Vantage)。

## 多可用區域部署考量
<a name="USER_SQLServerTeradata.MultiAZ"></a>

RDS for SQL Server 目前不會將連結伺服器複寫至多可用區域部署中的鏡像資料庫伺服器 (或 Always-On 可用性群組次要伺服器)。如果在組態變更為新增鏡像或 Always-On 之前新增連結伺服器，則會為現有的連結伺服器複製連結伺服器。

或者，您可以在主要執行個體上建立連結伺服器、容錯移轉至高可用性伺服器執行個體，然後再次建立連結伺服器，使其位於兩個 RDS for SQL Server 執行個體上。

# 啟用連結伺服器搭配 Oracle
<a name="USER_SQLServerTeradata.Activate"></a>

將 `ODBC_TERADATA` 選項新增至 RDS for SQL Server 資料庫執行個體，以啟用連結伺服器搭配 Teradata。請使用下列程序：

**Topics**
+ [建立 `ODBC_TERADATA` 的選項群組](#USER_SQLServerTeradata.Activate.CreateOG)
+ [將 `ODBC_TERADATA` 選項新增至選項群組](#USER_SQLServerTeradata.Activate.AddOG)
+ [將 `ODBC_TERADATA` 選項與您的資料庫執行個體建立關聯](#USER_SQLServerTeradata.Activate.AssociateOG)

## 建立 `ODBC_TERADATA` 的選項群組
<a name="USER_SQLServerTeradata.Activate.CreateOG"></a>

若要搭配使用連結伺服器與 Teradata，請建立選項群組，或修改對應至 SQL Server 版本和您計劃使用的資料庫執行個體版本的選項群組。若要完成此程序，請使用 AWS 管理主控台或 AWS CLI。

### 主控台
<a name="USER_SQLServerTeradata.Activate.CreateOG.Console"></a>

使用下列程序，建立 SQL Server Standard Edition 2019 的選項群組。

**建立選項群組**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇**建立群組**。

1. 在 **Create option group (建立選項群組)** 視窗中，執行下列動作：

   1. 在 **Name** (名稱) 中，輸入您 AWS 帳戶 中的唯一選項群組名稱，例如 `teradata-odbc-se-2019`。名稱僅可包含字母、數字與連字號。

   1. 對於**描述**，輸入選項群組的簡短描述。

   1. 對於 **Engine (引擎)**，請選擇 **sqlserver-se**。

   1. 對於 **Major engine version** (主要引擎版本)，請選擇 **15.00**。

1. 選擇**建立**。

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.CreateOG.CLI"></a>

下列程序會建立 SQL Server Standard Edition 2019 的選項群組。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds create-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --engine-name sqlserver-se \
    --major-engine-version 15.00 \
    --option-group-description "ODBC_TERADATA option group for SQL Server SE 2019"
```

**Example**  
針對 Windows：  

```
aws rds create-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --engine-name sqlserver-se ^
    --major-engine-version 15.00 ^
    --option-group-description "ODBC_TERADATA option group for SQL Server SE 2019"
```

## 將 `ODBC_TERADATA` 選項新增至選項群組
<a name="USER_SQLServerTeradata.Activate.AddOG"></a>

接下來，使用AWS 管理主控台或 AWS CLI 將 `ODBC_Teradata` 選項新增至選項群組。

### 主控台
<a name="USER_SQLServerTeradata.Activate.AddOG.Console"></a>

使用下列程序，建立 SQL Server Standard Edition 2019 的選項群組。

**新增 `ODBC_TERADATA` 選項**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇新的選項群組。

1. 選擇 **Add option (新增選項)**。

1. 在**選項詳細資訊**底下：

   1. 針對**選項名稱**，選擇 **ODBC\$1TERADATA**。

   1. 針對**選項版本**，選擇 `17.20.33.00`。

1. 在 [排程] 底下，選擇要立即新增選項還是在下一個維護時段新增。

1. 選擇 **Add option (新增選項)**。

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.AddOG.CLI"></a>

下列程序會將 `ODBC_TERADATA` 選項新增至您的選項群組。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --options "OptionName=ODBC_TERADATA,OptionVersion=17.20.33.00" \
    --apply-immediately
```

**Example**  
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --options "OptionName=ODBC_TERADATA,OptionVersion=17.20.33.00" ^
    --apply-immediately
```

## 將 `ODBC_TERADATA` 選項與您的資料庫執行個體建立關聯
<a name="USER_SQLServerTeradata.Activate.AssociateOG"></a>

若將 `ODBC_TERADATA` 選項群組與您的資料庫執行個體建立關聯，請使用 AWS 管理主控台 或 AWS CLI。

### 主控台
<a name="USER_SQLServerTeradata.Activate.AssociateOG.Console"></a>

若要完成為 Teradata 啟用連結伺服器的作業，請將您的選項群組與新的或現有的資料庫執行個體建立關聯：
+ 對於新的資料庫執行個體，請在啟動執行個體時建立關聯。如需更多詳細資訊，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。
+ 對於現有的資料庫執行個體，請透過修改執行個體來建立關聯。如需詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

### AWS CLI
<a name="USER_SQLServerTeradata.Activate.AssociateOG.CLI"></a>

指定建立選項群組時所使用的相同資料庫引擎類型和主要版本。

針對 Linux、macOS 或 Unix：

```
aws rds create-db-instance \
    --db-instance-identifier mytestsqlserverteradataodbcinstance \
    --db-instance-class db.m5.2xlarge \
    --engine sqlserver-se \
    --engine-version 15.00 \
    --license-model license-included \
    --allocated-storage 100 \
    --master-username admin \
    --master-user-password password \
    --storage-type gp2 \
    --option-group-name teradata-odbc-se-2019
```

針對 Windows：

```
aws rds create-db-instance ^
    --db-instance-identifier mytestsqlserverteradataodbcinstance ^
    --db-instance-class db.m5.2xlarge ^
    --engine sqlserver-se ^
    --engine-version 15.00 ^
    --license-model license-included ^ 
    --allocated-storage 100 ^
    --master-username admin ^
    --master-user-password password ^
    --storage-type gp2 ^
    --option-group-name teradata-odbc-se-2019
```

修改執行個體，並建立新選項群組的關聯：

針對 Linux、macOS 或 Unix：

```
aws rds modify-db-instance \
    --db-instance-identifier mytestsqlserverteradataodbcinstance \
    --option-group-name teradata-odbc-se-2019 \
    --apply-immediately
```

針對 Windows：

```
aws rds modify-db-instance ^
    --db-instance-identifier mytestsqlserverteradataodbcinstance ^
    --option-group-name teradata-odbc-se-2019 ^
    --apply-immediately
```

# 建立 Teradata 的連結伺服器
<a name="USER_SQLServerTeradata.CreateLinkedServers"></a>

若要建立 Teradata 的連結伺服器，請執行下列命令：

```
EXECUTE master.dbo.sp_addlinkedserver 
    @server = N'LinkedServer_NAME', 
    @srvproduct=N'', 
    @provider=N'MSDASQL', 
    @provstr=N'"PROVIDER=MSDASQL;DRIVER={Teradata Database ODBC Driver 17.20};
                DBCName=Server;UID=user_name;PWD=user_password;
                UseDataEncryption=YES/NO;SSLMODE=PREFER/ALLOW/DISABLE>;"', 
    @catalog='database'
```

```
EXECUTE master.dbo.sp_addlinkedsrvlogin 
    @rmtsrvname = N'LinkedServer_NAME', 
    @locallogin = NULL , 
    @useself = N'False', 
    @rmtuser = N'user_name', 
    @rmtpassword = N'user_password'
```

上述命令的範例如下所示：

```
EXECUTE master.dbo.sp_addlinkedserver 
    @server = N'LinkedServerToTeradata', 
    @srvproduct=N'', 
    @provider=N'MSDASQL', 
    @provstr=N'"PROVIDER=MSDASQL;DRIVER={Teradata Database ODBC Driver 17.20};
                DBCName=my-teradata-test.cnetsipka.us-west-2.rds.amazonaws.com;
                UID=master;
                PWD=Test#1234;
                UseDataEncryption=YES;
                SSLMODE=PREFER;"', 
    @catalog='MyTestTeradataDB'

EXECUTE master.dbo.sp_addlinkedsrvlogin 
    @rmtsrvname = N'LinkedServerToTeradata', 
    @locallogin = NULL , 
    @useself = N'False', 
    @rmtuser = N'master', 
    @rmtpassword = N'Test#1234'
```

**注意**  
指定此處所顯示提示以外的密碼，作為安全最佳實務。

# 停用連結至 Teradata 的伺服器
<a name="USER_SQLServerTeradata.Deactivate"></a>

若要停用連結至 Teradata 的伺服器，請將 `ODBC_TERADATA` 選項從其選項群組中移除。

**重要**  
刪除選項並不會刪除資料庫執行個體上的連結伺服器組態。您必須手動捨棄它們，才能將它們從資料庫執行個體中移除。  
您可以在移除後重新啟用 `ODBC_TERADATA`，以重複使用先前在資料庫執行個體上設定的連結伺服器組態。

## 主控台
<a name="USER_SQLServerTeradata.Deactivate.Console"></a>

從選項群組中移除 `ODBC_TERADATA` 選項

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 使用 `ODBC_TERADATA` 選項選擇選項群組。

1. 選擇 **刪除**。

1. 在**刪除選項**底下，選擇**要刪除的選項**下的 `ODBC_TERADATA`。

1. 在 **Apply immediately** (立即套用) 下，選擇 **Yes** (是) 立即刪除選項，或選擇 **No** (否) 在下一個維護時段將其刪除。

1. 選擇 **刪除**。

## AWS CLI
<a name="USER_SQLServerTeradata.Deactivate.CLI"></a>

下列命令會移除 `ODBC_TERADATA` 選項。

針對 Linux、macOS 或 Unix：

```
aws rds remove-option-from-option-group \
    --option-group-name teradata-odbc-se-2019 \
    --options ODBC_TERADATA \
    --apply-immediately
```

針對 Windows：

```
aws rds remove-option-from-option-group ^
    --option-group-name teradata-odbc-se-2019 ^
    --options ODBC_TERADATA ^
    --apply-immediately
```