

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceda a tablas locales de Microsoft SQL Server desde Microsoft SQL Server en Amazon EC2 mediante servidores enlazados
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers"></a>

*Tirumala Dasari y Eduardo Valentim, Amazon Web Services*

## Resumen
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-summary"></a>

Este patrón describe cómo acceder a las tablas de bases de datos de Microsoft SQL Server locales que se ejecutan en Microsoft Windows, desde bases de datos de Microsoft SQL Server que se ejecutan o alojan en instancias de Windows o Linux de Amazon Elastic Compute Cloud (Amazon EC2) mediante servidores vinculados.

## Requisitos previos y limitaciones
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Amazon EC2 con Microsoft SQL Server ejecutándose en la AMI de Amazon Linux (Amazon Machine Image)
+ AWS Direct Connect entre el servidor Microsoft SQL Server (Windows) local y la instancia de Windows o Linux EC2 

**Versiones de producto**
+ Servidor SQL 2016 o posterior

## Arquitectura
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos Microsoft SQL Server en las instalaciones que se ejecuta en Windows
+ Amazon EC2 con Microsoft SQL Server ejecutándose en una AMI de Windows o una AMI de Linux

**Pila de tecnología de destino**
+ Amazon EC2 con Microsoft SQL Server ejecutándose en la AMI de Amazon Linux
+ Amazon EC2 con Microsoft SQL Server ejecutándose en una AMI de Windows

**Arquitectura de base de datos de origen y destino**

![\[Nube de AWS architecture with VPC, availability zones, and hybrid environment connecting to on-premises database.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/8e4a3222-0850-4980-8028-c710dcdb9186/images/fa157992-0ed9-46e1-8059-0cbbb74a98ec.png)


## Tools (Herramientas)
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-tools"></a>
+ [Microsoft SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16) es un entorno integrado para administrar infraestructuras de SQL Server. Proporciona una interfaz de usuario y un grupo de herramientas con editores de scripts enriquecidos que interactúan con SQL Server.

## Epics
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-epics"></a>

### Cómo cambiar el modo de autenticación a Windows para SQL Server en Windows SQL Server
<a name="change-authentication-mode-to-windows-for-sql-server-in-windows-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Conéctese a Windows SQL Server mediante SSMS. |  | Administrador de base de datos | 
| Cambie el modo de autenticación a Windows en SQL Server desde el menú contextual (haga clic con el botón derecho) de la instancia de Windows SQL Server. |  | Administrador de base de datos | 

### Reiniciar el servicio Windows MSSQL
<a name="restart-the-windows-mssql-service"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Reinicie el servicio SQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers.html) | Administrador de base de datos | 

### Crear un nuevo inicio de sesión y seleccionar las bases de datos a las que acceder en Windows SQL Server
<a name="create-new-login-and-choose-databases-to-access-in-windows-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| En la pestaña Seguridad, abra el menú contextual (haga clic con el botón derecho) de Inicio de sesión y seleccione un nuevo inicio de sesión. |  | Administrador de base de datos | 
| En la pestaña General, seleccione la autenticación de SQL Server, introduzca un nombre de usuario, introduzca la contraseña y, a continuación, confirme la contraseña y desactive la opción de cambiarla la próxima vez que inicie sesión. |  | Administrador de base de datos | 
| En la pestaña Funciones del servidor, seleccione Público. |  | Administrador de base de datos | 
| En la pestaña de asignaciones de usuario, seleccione la base de datos y el esquema a los que desee acceder y, a continuación, resalte la base de datos para seleccionar los roles de la base de datos. | Seleccione public y db\$1datareader para acceder a los datos de las tablas de la base de datos. | Administrador de base de datos | 
| Pulse Aceptar para crear un usuario. |  | Administrador de base de datos | 

### Agregue la IP de Windows SQL Server al archivo host de Linux SQL Server
<a name="add-windows-sql-server-ip-to-linux-sql-server-host-file"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Conéctese a la caja de Linux SQL Server a través de la ventana del terminal. |  | Administrador de base de datos | 
| Abra el archivo /etc/hosts y añada la dirección IP del equipo Windows con SQL Server. |  | Administrador de base de datos | 
| Guarde el archivo de hosts. |  | Administrador de base de datos | 

### Crear un servidor vinculado en Linux SQL Server
<a name="create-linked-server-on-linux-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un servidor vinculado mediante los procedimientos almacenados master.sys.sp\$1addlinkedserver y master.dbo.sp\$1addlinkedsrvlogin. | Para obtener más información sobre el uso de estos procedimientos almacenados, consulte la sección de *Información adicional*. | Administrador de base de datos, desarrollador | 

### Verifique el servidor vinculado y las bases de datos creados en SSMS
<a name="verify-the-created-linked-server-and-databases-in-ssms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| En Linux SQL Server en SSMS, vaya a servidores vinculados y actualice. |  | Administrador de base de datos | 
| Expanda los servidores y catálogos vinculados creados en el panel izquierdo. | Verá las bases de datos de SQL Server seleccionadas con tablas y vistas. | Administrador de base de datos | 

### Verificar que puede acceder a las tablas de bases de datos de Windows SQL Server
<a name="verify-that-you-can-access-windows-sql-server-database-tables"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| En la ventana de consulta de SSMS, ejecute la siguiente consulta: "seleccionar los primeros 3 \$1 de [sqllin].dms\$1sample\$1win.dbo.mlb\$1data". | Tenga en cuenta que la cláusula FROM utiliza una sintaxis de cuatro partes: computer.database.schema.table (por ejemplo, SELECT name "SQL2 databases» FROM [sqllin] .master.sys.databases). En nuestro ejemplo, creamos un alias para SQL2 en el archivo de hosts, por lo que no es necesario escribir el nombre real de NetBIOS entre corchetes. Si utiliza los nombres de NetBIOS reales, tenga en cuenta que AWS utiliza de forma predeterminada los nombres de NetBIOS, como Win-xxxx, y SQL Server requiere corchetes para los nombres con guiones. | Administrador de base de datos, desarrollador | 

## Recursos relacionados
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-resources"></a>
+ [Notas de la versión de SQL Server en Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-server-2017) 

 

## Información adicional
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-additional"></a>

**Uso de procedimientos almacenados para crear servidores vinculados**

SSMS no admite la creación de servidores vinculados para Linux SQL Server, por lo que debe usar estos procedimientos almacenados para crearlos:

```
EXEC master.sys.sp_addlinkedserver @server= N'SQLLIN' , @srvproduct= N'SQL Server'    
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SQLLIN',@useself=N'False',@locallogin=NULL,@rmtuser=N'username',@rmtpassword='Test123$'
```

Nota 1: Introduzca las credenciales de inicio de sesión que creó anteriormente en Windows SQL Server en el procedimiento almacenado `master.dbo.sp_addlinkedsrvlogin`.

Nota 2: El nombre `@server`, `SQLLIN` y el nombre de la entrada del archivo host `172.12.12.4 SQLLIN` deben ser los mismos.

 Puede utilizar este proceso para crear servidores vinculados en los siguientes casos:
+ De Linux SQL Server a Windows SQL Server a través de un servidor vinculado (como se especifica en este patrón)
+ De Windows SQL Server a Linux SQL Server a través de un servidor vinculado
+ De Linux SQL Server a otro servidor SQL de Linux a través de un servidor vinculado