

# Servidores enlazados con ODBC de Teradata en RDS para SQL Server
<a name="USER_SQLServerTeradata"></a>

La compatibilidad para servidores enlazados con el controlador ODBC de Teradata en RDS para SQL Server le permite acceder a orígenes de datos externos en una base de datos de Teradata. Puede leer datos y ejecutar comandos desde servidores de bases de datos de Teradata remotos fuera de la instancia de RDS para SQL Server. Utilice servidores enlazados con ODBC de Teradata para habilitar las siguientes capacidades:
+ Acceda directamente a orígenes de datos distintos de SQL Server.
+ Realice consultas en diversos orígenes de datos de Teradata con la misma consulta sin mover los datos.
+ Emita consultas, actualizaciones, comandos y transacciones distribuidas en orígenes de datos en un ecosistema empresarial.
+ Integre las conexiones a una base de datos de Teradata desde el conjunto de inteligencia empresarial de Microsoft (SSIS, SSRS, SSAS).
+ Migre desde una base de datos de Teradata a RDS para SQL Server.

Tiene la opción de elegir activar uno o más servidores enlazados para Teradata en una instancia de base de datos de RDS para SQL Server existente o nueva. A continuación, puede integrar orígenes de datos de Teradata externos con la instancia de base de datos.

**Topics**
+ [

## Versiones y regiones compatibles
](#USER_SQLServerTeradata.VersionRegionSupport)
+ [

## Limitaciones y recomendaciones
](#USER_SQLServerTeradata.LimitsandRecommendations)
+ [

## Consideraciones para implementaciones multi-AZ
](#USER_SQLServerTeradata.MultiAZ)
+ [

# Activación de servidores enlazados con Teradata
](USER_SQLServerTeradata.Activate.md)
+ [

# Creación de servidores enlazados con Teradata
](USER_SQLServerTeradata.CreateLinkedServers.md)
+ [

# Desactivación de los servidores vinculados a Teradata
](USER_SQLServerTeradata.Deactivate.md)

## Versiones y regiones compatibles
<a name="USER_SQLServerTeradata.VersionRegionSupport"></a>

RDS para SQL Server admite servidores vinculados con ODBC de Teradata en todas las Regiones de AWS para las ediciones Standard y Enterprise de SQL Server para las siguientes versiones:
+ SQL Server 2022, todas las versiones
+ SQL Server 2019, todas las versiones
+ SQL Server 2017, todas las versiones

Las siguientes versiones de bases de datos de Teradata admiten la vinculación con RDS para SQL Server
+ Teradata 17.20, todas las versiones

## Limitaciones y recomendaciones
<a name="USER_SQLServerTeradata.LimitsandRecommendations"></a>

Las siguientes limitaciones se aplican a los servidores enlazados con ODBC de Teradata:
+ RDS para SQL Server admite solo la autenticación simple con un nombre de usuario y una contraseña para el origen de Teradata.
+ RDS para SQL Server solo admite la versión 17.20.0.33 del controlador ODBC de Teradata.
+ RDS para SQL Server no admite la creación de nombres de orígenes de datos (DSN) para usarlos como atajos para una cadena de conexión.
+ RDS para SQL Server no admite el seguimiento de controladores ODBC. Utilice eventos extendidos de SQL Server para realizar un seguimiento de los eventos de ODBC. Para obtener más información, consulte [Set up Extended Events in RDS for SQL Server](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-rds-for-sql-server/) (Configuración de eventos extendidos en RDS para SQL Server).
+ RDS para SQL Server no admite el acceso a la carpeta de catálogos para un servidor vinculado a Teradata cuando se usa SQL Server Management Studio (SSMS).

Tenga en cuenta las siguientes recomendaciones cuando utilice servidores vinculados con ODBC de Teradata:
+ Permita el tráfico de red añadiendo el puerto TCP correspondiente en el grupo de seguridad para cada instancia de base de datos de RDS para SQL Server. Si configura un servidor vinculado entre una instancia de base de datos de Teradata de EC2 y una instancia de base de datos de RDS para SQL Server, debe permitir el tráfico desde la dirección IP de la instancia de base de datos de Teradata de EC2. También debe permitir el tráfico en el puerto que utiliza la instancia de base de datos de RDS para SQL Server para escuchar la comunicación de la base de datos. Para obtener más información acerca de los grupos de seguridad, consulte [Control de acceso con grupos de seguridad](Overview.RDSSecurityGroups.md).
+ Se admiten transacciones distribuidas (XA). Para activar las transacciones distribuidas, active la opción `MSDTC` del grupo de opciones de la instancia de base de datos y asegúrese de que las transacciones XA estén activadas. Para obtener más información, consulte [Compatibilidad con el Coordinador de transacciones distribuidas de Microsoft en RDS for SQL Server](Appendix.SQLServer.Options.MSDTC.md).
+ ODBC vinculados de Teradata admiten SSL/TLS siempre que estén configurados en el servidor de Teradata. Para obtener más información, consulte [Habilitar la conectividad TLS en Teradata Vantage](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).

## Consideraciones para implementaciones multi-AZ
<a name="USER_SQLServerTeradata.MultiAZ"></a>

Actualmente, RDS para SQL Server no replica los servidores vinculados en el servidor de base de datos reflejado (o en el servidor secundario del grupo de disponibilidad Always On) en una implementación multi-AZ. Si los servidores vinculados se agregan antes de cambiar la configuración para agregar replicación o Always On, entonces los servidores vinculados se copian para los servidores vinculados existentes.

Otra opción, puede crear los servidores vinculados en la instancia principal, realizar la conmutación por error a la instancia del servidor de alta disponibilidad y, a continuación, volver a crear los servidores vinculados para que estén en ambas instancias de RDS para SQL Server. 

# Activación de servidores enlazados con Teradata
<a name="USER_SQLServerTeradata.Activate"></a>

Active los servidores enlazados con Teradata al agregar la opción `ODBC_TERADATA` a la instancia de base de datos de RDS para SQL Server. Utilice el siguiente proceso:

**Topics**
+ [

## Creación del grupo de opciones para `ODBC_TERADATA`
](#USER_SQLServerTeradata.Activate.CreateOG)
+ [

## Agregar la opción `ODBC_TERADATA` al grupo de opciones
](#USER_SQLServerTeradata.Activate.AddOG)
+ [

## Asociación de la opción `ODBC_TERADATA` a la instancia de base de datos
](#USER_SQLServerTeradata.Activate.AssociateOG)

## Creación del grupo de opciones para `ODBC_TERADATA`
<a name="USER_SQLServerTeradata.Activate.CreateOG"></a>

Para trabajar con servidores enlazados con Teradata, cree un grupo de opciones o modifique un grupo de opciones que corresponda a la edición y versión de SQL Server de la instancia de base de datos que planea utilizar. Para completar este procedimiento, utilice la Consola de administración de AWS o la AWS CLI.

### Consola
<a name="USER_SQLServerTeradata.Activate.CreateOG.Console"></a>

Use el siguiente procedimiento para crear un grupo de opciones para SQL Server Standard Edition 2019.

**Para crear el grupo de opciones**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Option groups** (Grupos de opciones).

1. Elija **Create group**.

1. En la ventana **Create option group** (Crear grupo de opciones), haga lo siguiente:

   1. En **Name** (Nombre), escriba un nombre para el grupo de opciones que sea exclusivo dentro de su Cuenta de AWS, como `teradata-odbc-se-2019`. El nombre solo puede contener letras, dígitos y guiones. 

   1. Para **Descripción**, ingrese una breve descripción del grupo de opciones.

   1. Para **Engine (Motor)**, elija **sqlserver-se**.

   1. En **Major engine version** (Versión principal del motor), elija **15.00**.

1. Seleccione **Crear**.

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

El siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2019.

**Example**  
Para Linux, macOS o 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**  
Para 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"
```

## Agregar la opción `ODBC_TERADATA` al grupo de opciones
<a name="USER_SQLServerTeradata.Activate.AddOG"></a>

A continuación, utilice la Consola de administración de AWS o la AWS CLI para agregar la opción `ODBC_Teradata` al grupo de opciones.

### Consola
<a name="USER_SQLServerTeradata.Activate.AddOG.Console"></a>

El uso del siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2019.

**Agregación de la opción de `ODBC_TERADATA`**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Option groups** (Grupos de opciones).

1. Elija el nuevo grupo de opciones.

1. Elija **Agregar opción**.

1. En **Detalles de la opción**:

   1. Elija **ODBC\$1TERADATA** para **Nombre de la opción**.

   1. Para `17.20.33.00` para **Versión de la opción**.

1. En la programación, elija si desea agregar la opción inmediatamente o en el siguiente periodo de mantenimiento.

1. Elija **Add option** (Agregar opción).

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

El siguiente procedimiento agrega la opción `ODBC_TERADATA` al grupo de opciones.

**Example**  
Para Linux, macOS o 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**  
Para 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
```

## Asociación de la opción `ODBC_TERADATA` a la instancia de base de datos
<a name="USER_SQLServerTeradata.Activate.AssociateOG"></a>

Para asociar el grupo de opciones de `ODBC_TERADATA` a la instancia de base de datos, use la Consola de administración de AWS o la AWS CLI.

### Consola
<a name="USER_SQLServerTeradata.Activate.AssociateOG.Console"></a>

Para terminar de activar los servidores enlazados para Teradata, asocie el grupo de opciones a una instancia de base de datos nueva o existente:
+ Para una nueva instancia de base de datos, asóciela cuando lance la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
+ Para una instancia de base de datos existente, asóciela modificando la instancia. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

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

Especifique el mismo tipo de motor de base de datos y la misma versión principal que ha utilizado al crear el grupo de opciones.

Para Linux, macOS o 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
```

Para 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
```

Para modificar una instancia y asociar el grupo de opciones nuevo:

Para Linux, macOS o Unix:

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

Para Windows:

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

# Creación de servidores enlazados con Teradata
<a name="USER_SQLServerTeradata.CreateLinkedServers"></a>

Para crear un servidor vinculado con Teradata, ejecute los siguientes comandos:

```
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'
```

A continuación, se muestra un ejemplo de los comandos anteriores:

```
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'
```

**nota**  
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.

# Desactivación de los servidores vinculados a Teradata
<a name="USER_SQLServerTeradata.Deactivate"></a>

Para desactivar los servidores enlazados con Teradata, quite la opción `ODBC_TERADATA` de su grupo de opciones.

**importante**  
La eliminación de la opción no elimina las configuraciones de servidor enlazado a la instancia de la base de datos. Debe eliminarlos manualmente para eliminarlos de la instancia de base de datos.  
Puede volver a activar `ODBC_TERADATA` después de eliminarlo para volver a utilizar las configuraciones del servidor enlazado que se configuraron previamente en la instancia de base de datos.

## Consola
<a name="USER_SQLServerTeradata.Deactivate.Console"></a>

Eliminación de la opción `ODBC_TERADATA` del grupo de opciones

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Option groups** (Grupos de opciones).

1. Elija el grupo de opciones con la opción `ODBC_TERADATA`. 

1. Elija **Eliminar**.

1. En **Opciones de eliminación**, elija `ODBC_TERADATA` en **Opciones para eliminar**.

1. En **Apply immediately** (Aplicar inmediatamente), seleccione **Yes** (Sí) para eliminar la opción inmediatamente o **No** para eliminarla en el siguiente período de mantenimiento.

1. Elija **Eliminar**.

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

Los comandos siguientes eliminan la opción `ODBC_TERADATA`.

Para Linux, macOS o Unix:

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

Para Windows:

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