

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Accedi alle tabelle Microsoft SQL Server locali da Microsoft SQL Server su Amazon EC2 utilizzando server collegati
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers"></a>

*Tirumala Dasari e Eduardo Valentim, Amazon Web Services*

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

Questo modello descrive come accedere alle tabelle di database Microsoft SQL Server locali in esecuzione su Microsoft Windows, dai database Microsoft SQL Server in esecuzione o ospitati su istanze Amazon Elastic Compute Cloud EC2 (Amazon) Windows o Linux utilizzando server collegati.

## Prerequisiti e limitazioni
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo
+ Amazon EC2 con Microsoft SQL Server in esecuzione su AMI Amazon Linux (Amazon Machine Image)
+ AWS Direct Connect tra il server Microsoft SQL Server (Windows) locale e l'istanza Windows o Linux EC2 

**Versioni del prodotto**
+ SQL Server 2016 o versioni successive

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

**Stack tecnologico di origine**
+ Database Microsoft SQL Server locale in esecuzione su Windows
+ Amazon EC2 con Microsoft SQL Server in esecuzione su AMI Windows o AMI Linux

**Stack tecnologico Target**
+ Amazon EC2 con Microsoft SQL Server in esecuzione su AMI Amazon Linux
+ Amazon EC2 con Microsoft SQL Server in esecuzione su AMI Windows

**Architettura del database di origine e destinazione**

![](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8e4a3222-0850-4980-8028-c710dcdb9186/images/fa157992-0ed9-46e1-8059-0cbbb74a98ec.png)


## Tools (Strumenti)
<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) è un ambiente integrato per la gestione di un'infrastruttura SQL Server. Fornisce un'interfaccia utente e un gruppo di strumenti con editor di script avanzati che interagiscono con SQL Server.

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

### Cambia la modalità di autenticazione in Windows per SQL Server in Windows SQL Server
<a name="change-authentication-mode-to-windows-for-sql-server-in-windows-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Connect a Windows SQL Server tramite SSMS. |  | DBA | 
| Modificare la modalità di autenticazione in Windows in SQL Server dal menu contestuale (fare clic con il pulsante destro del mouse) per l'istanza di Windows SQL Server. |  | DBA | 

### Riavviare il servizio Windows MSSQL
<a name="restart-the-windows-mssql-service"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Riavviare il servizio SQL. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers.html) | DBA | 

### Crea un nuovo accesso e scegli i database a cui accedere in Windows SQL Server
<a name="create-new-login-and-choose-databases-to-access-in-windows-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Nella scheda Sicurezza, apri il menu contestuale (fai clic con il pulsante destro del mouse) per Accesso e seleziona un nuovo accesso. |  | DBA | 
| Nella scheda Generale, scegli l'autenticazione di SQL Server, inserisci un nome utente, inserisci la password, quindi conferma la password e deseleziona l'opzione per la modifica della password al prossimo accesso. |  | DBA | 
| Nella scheda Ruoli del server, scegli Pubblico. |  | DBA | 
| Nella scheda Mappatura utente, scegli il database e lo schema a cui desideri accedere, quindi evidenzia il database per selezionare i ruoli del database. | Seleziona public e db\_datareader per accedere ai dati dalle tabelle del database. | DBA | 
| Scegli OK per creare un utente. |  | DBA | 

### Aggiungi l'IP di Windows SQL Server al file host di Linux SQL Server
<a name="add-windows-sql-server-ip-to-linux-sql-server-host-file"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Connect alla casella Linux SQL Server tramite la finestra del terminale. |  | DBA | 
| Aprire il file /etc/hosts e aggiungere l'indirizzo IP del computer Windows con SQL Server. |  | DBA | 
| Salva il file hosts. |  | DBA | 

### Crea un server collegato su Linux SQL Server
<a name="create-linked-server-on-linux-sql-server"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un server collegato utilizzando le stored procedure master.sys.sp\_addlinkedserver e master.dbo.sp\_addlinkedsrvlogin. | Per ulteriori informazioni sull'utilizzo di queste stored procedure, vedere *la sezione Informazioni aggiuntive.* | DBA, Sviluppatore | 

### Verifica il server e i database collegati creati in SSMS
<a name="verify-the-created-linked-server-and-databases-in-ssms"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| In Linux SQL Server in SSMS, vai a Linked Servers e aggiorna. |  | DBA | 
| Espandi i server e i cataloghi collegati creati nel riquadro a sinistra. | Vedrai i database SQL Server selezionati con tabelle e viste. | DBA | 

### Verifica di poter accedere alle tabelle del database di Windows SQL Server
<a name="verify-that-you-can-access-windows-sql-server-database-tables"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Nella finestra di interrogazione SSMS, esegui la query: «select top 3\* from [sqllin] .dms\_sample\_win.dbo.mlb\_data». | Nota che la clausola FROM utilizza una sintassi in quattro parti: computer.database.schema.table (ad esempio, SELECT name "databases» FROM [sqllin] .master.sys.databases). SQL2 Nel nostro esempio, abbiamo creato un alias per SQL2 nel file hosts, quindi non è necessario inserire il nome NetBIOS effettivo tra parentesi quadre. Se utilizzi i nomi NetBIOS effettivi, tieni presente che AWS utilizza per impostazione predefinita nomi NetBIOS come Win-XXXX e SQL Server richiede parentesi quadre per i nomi con trattini. | DBA, Sviluppatore | 

## Risorse correlate
<a name="access-on-premises-microsoft-sql-server-tables-from-microsoft-sql-server-on-amazon-ec2-using-linked-servers-resources"></a>
+ [Note di rilascio per SQL Server su Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-server-2017) 

 

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

**Utilizzo di procedure memorizzate per creare server collegati**

SSMS non supporta la creazione di server collegati per Linux SQL Server, quindi è necessario utilizzare queste procedure memorizzate per crearli:

```
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: inserisci le credenziali di accesso che hai creato in precedenza in Windows SQL Server nella stored procedure. `master.dbo.sp_addlinkedsrvlogin`

Nota 2: `@server` il nome `SQLLIN` e il nome di immissione del file host `172.12.12.4 SQLLIN` devono essere gli stessi.

 È possibile utilizzare questo processo per creare server collegati per i seguenti scenari:
+ Da Linux SQL Server a Windows SQL Server tramite un server collegato (come specificato in questo modello)
+ Da Windows SQL Server a Linux SQL Server tramite un server collegato
+ Da Linux SQL Server a un altro Linux SQL Server tramite un server collegato