Connettersi a una macchina virtuale di SQL Server in Azure

Si applica a:SQL Server su VM Azure

Panoramica

Questo articolo descrive come connettersi all'istanza di SQL in una macchina virtuale di Azure. Vengono illustrati alcuni scenari di connettività generale. Se è necessario risolvere problemi o configurare la connettività esternamente al portale, vedere la sezione relativa alla configurazione manuale alla fine di questo argomento.

Per una procedura dettagliata completa del provisioning e della connettività, vedere Provisioning di una macchina virtuale di SQL Server in Azure.

Scenari di connessione

Il modo in cui un client si connette a una macchina virtuale di SQL Server varia a seconda della posizione del client e della configurazione di rete.

Se si esegue il provisioning di una VM di SQL Server nel portale di Azure, è possibile specificare il tipo di connettività SQL.

Screenshot showing the public SQL connectivity option during provisioning.

Le opzioni per la connettività sono:

Opzione Descrizione
Pubblica Connettersi a SQL Server tramite Internet.
Privata Connettersi a SQL Server nella stessa rete virtuale.
Locale Connettersi a SQL Server in locale sulla stessa macchina virtuale.

Le sezioni seguenti illustrano le opzioni Pubblica e Privata in modo più dettagliato.

Connettersi a SQL Server tramite Internet

Per connettersi al motore di database di SQL Server da Internet, durante il provisioning selezionare il tipo di Connettività SQLPubblica nel portale. Il portale esegue automaticamente la procedura seguente:

  • Abilita il protocollo TCP/IP per SQL Server.
  • Configura una regola del firewall per l'apertura della porta TCP di SQL Server (valore predefinito 1433).
  • Abilita l'autenticazione di SQL Server, necessaria per l'accesso pubblico.
  • Configura il gruppo di sicurezza di rete nella VM su tutto il traffico TCP sulla porta di SQL Server.

Importante

Le immagini delle macchine virtuali per SQL Server Express Edition e SQL Server Developer Edition non abilitano automaticamente il protocollo TCP/IP. Per Developer Edition ed Express Edition è necessario usare Gestione configurazione SQL Server per abilitare manualmente il protocollo TCP/IP dopo avere creato la VM.

Tutti i client con accesso a Internet potranno connettersi all'istanza di SQL Server specificando l'indirizzo IP pubblico della macchina virtuale o l'eventuale etichetta DNS assegnata a tale indirizzo IP. Se la porta di SQL Server è 1433, non è necessario specificarla nella stringa di connessione. La stringa di connessione seguente consente la connessione a una VM SQL con etichetta DNS corrispondente a sqlvmlabel.eastus.cloudapp.azure.com tramite l'autenticazione SQL (è anche possibile usare l'indirizzo IP pubblico).

Server=sqlvmlabel.eastus.cloudapp.azure.com;Integrated Security=false;User ID=<login_name>;Password=<your_password>

Anche se questa stringa abilita la connettività per i client tramite Internet, non significa che chiunque può connettersi all'istanza di SQL Server. I client esterni dovranno usare il nome utente e la password corretti. Per maggiore sicurezza, tuttavia, è possibile evitare la porta 1433 nota. Se ad esempio SQL Server è configurato per l'ascolto sulla porta 1500 e sono state stabilite regole del gruppo di sicurezza di rete e del firewall corrette, è possibile connettersi aggiungendo il numero di porta al nome del server. L'esempio seguente modifica il precedente tramite l'aggiunta del numero di porta personalizzato 1500 al nome del server:

Server=sqlvmlabel.eastus.cloudapp.azure.com,1500;Integrated Security=false;User ID=<login_name>;Password=<your_password>"

Nota

Quando si invia una query a SQL Server in una macchina virtuale via Internet, tutti i dati in uscita dal data center di Azure sono soggetti ai normali prezzi dei trasferimenti di dati in uscita.

Connettersi a SQL Server all'interno di una rete virtuale

Se nel portale si sceglie Privata in Connettività SQL, Azure configura la maggior parte delle impostazioni in modo identico rispetto a Pubblica. L'unica differenza è l'assenza di una regola del gruppo di sicurezza di rete che consente il traffico esterno sulla porta di SQL Server (valore predefinito 1433).

Importante

Le immagini delle macchine virtuali per SQL Server Express Edition e SQL Server Developer Edition non abilitano automaticamente il protocollo TCP/IP. Per Developer Edition ed Express Edition è necessario usare Gestione configurazione SQL Server per abilitare manualmente il protocollo TCP/IP dopo avere creato la VM.

La connettività privata viene spesso usata in combinazione con una rete virtuale, che consente diversi scenari. È possibile connettere le VM nella stessa rete virtuale, anche se si trovano in gruppi di risorse diversi. Con una VPN da sito a sitoè possibile creare un'architettura ibrida che connette le macchine virtuali a computer e reti locali.

Le reti virtuali consentono inoltre di aggiungere le macchine virtuali di Azure a un dominio. Si tratta dell'unico modo per usare l'autenticazione di Windows per SQL Server. Gli altri scenari di connessione richiedono l'autenticazione SQL con nomi utente e password.

Presupponendo che il DNS sia stato configurato nella rete virtuale, è possibile connettersi all'istanza di SQL Server specificando il nome computer della VM di SQL Server nella stringa di connessione. L'esempio seguente presuppone che sia stata configurata l'autenticazione di Windows e che all'utente sia stato concesso l'accesso all'istanza di SQL Server.

Server=mysqlvm;Integrated Security=true

Abilitare TCP/IP per le edizioni Developer ed Express

Quando si modificano le impostazioni di connettività di SQL Server, per SQL Server Developer Edition ed Express Edition Azure non abilita automaticamente il protocollo TCP/IP. La procedura seguente illustra come abilitare manualmente TCP/IP per potersi connettere in remoto in base all'indirizzo IP.

Connettersi prima alla macchina virtuale di SQL Server tramite desktop remoto.

  1. Dopo aver creato ed eseguito la macchina virtuale di Azure, selezionare Macchina virtuale e quindi scegliere la nuova macchina virtuale.

  2. Selezionare Connetti e quindi scegliere RDP dall'elenco a discesa per scaricare il file RDP.

    Connect to VM in portal

  3. Aprire il file RDP scaricato dal browser per la VM.

  4. La Connessione Desktop remoto invia una notifica che indica che l'autore della connessione remota non può essere identificato. Fare clic su Connetti per continuare.

  5. Nella finestra di dialogo Sicurezza di Windows fare clic su Usa un account diverso. Potrebbe essere necessario fare clic su Altre opzioni per visualizzare l'opzione. Specificare il nome utente e la password configurati durante la creazione della VM. È necessario aggiungere una barra rovesciata prima del nome utente.

    Remote desktop authentication

  6. Fare clic su OK per connettersi.

Abilitare quindi il protocollo TCP/IP con Gestione configurazione SQL Server.

  1. Durante la connessione alla macchina virtuale con Desktop remoto, cercare Gestione configurazione:

    Open SSCM

  2. Nel riquadro della console di Gestione configurazione SQL Server espandere Configurazione di rete SQL Server.

  3. Nel riquadro della console fare clic su Protocolli per MSSQLSERVER (nome di istanza predefinito). Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su TCP e fare clic su Abilita se non è già abilitato.

    Enable TCP

  4. Nel riquadro della console fare clic su Servizi di SQL Server. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su SQL Server (nome istanza) (l'istanza predefinita è SQL Server (MSSQLSERVER)) e quindi scegliere Riavvia per arrestare e riavviare l'istanza di SQL Server.

    Restart Database Engine

  5. Chiudere Gestione configurazione SQL Server.

Per ulteriori informazioni su come abilitare i protocolli per il motore di database di SQL Server, vedere Abilitare o disabilitare un protocollo di rete del server.

Connettersi a SSMS

La procedura seguente illustra come creare un'etichetta DNS facoltativa per la macchina virtuale di Azure e quindi come connettersi con SQL Server Management Studio (SSMS).

Configurare un'etichetta DNS per l'indirizzo IP pubblico

Per connettersi al motore di database di SQL Server da Internet, prendere in considerazione la possibilità di configurare un'etichetta DNS per l'indirizzo IP pubblico. È possibile connettersi tramite l'indirizzo IP, ma l'etichetta DNS crea un record A che è più facile da identificare ed estrae l'indirizzo IP pubblico sottostante.

Nota

Le etichette DNS non sono necessarie se si intende connettersi solo all'istanza di SQL Server presente nella stessa rete virtuale o solo in locale.

Per creare un'etichetta DNS, selezionare prima di tutto Macchine virtuali nel portale. Selezionare la propria macchina virtuale di SQL Server per visualizzarne le proprietà.

  1. Nella panoramica della macchina virtuale selezionare l'indirizzo IP pubblico.

    public ip address

  2. Nelle proprietà dell'indirizzo IP pubblico espandere Configurazione.

  3. Immettere un nome per l'etichetta DNS. Il nome è un record A che consente di connettersi alla macchina virtuale di SQL Server usando il nome, anziché tramite l'indirizzo IP.

  4. Selezionare il pulsante Salva.

    dns label

Eseguire la connessione al motore di database da un altro computer

  1. In un computer connesso a Internet aprire SQL Server Management Studio (SSMS). Se SQL Server Management Studio non è installato, è possibile scaricarlo qui.

  2. Nella finestra di dialogo Connetti al server o Connetti al motore di database modificare il valore di Nome server. Immettere l'indirizzo IP o il nome DNS completo della macchina virtuale, determinato nell'attività precedente. È anche possibile aggiungere una virgola e specificare la porta TCP di SQL Server. Ad esempio, tutorial-sqlvm1.westus2.cloudapp.azure.com,1433.

  3. Nella casella Autenticazione selezionare Autenticazione di SQL Server.

  4. Nella casella Accesso digitare il nome di un account di accesso SQL valido.

  5. Nella casella Password digitare la password dell'account di accesso.

  6. Selezionare Connetti.

    ssms connect

Configurazione manuale e risoluzione dei problemi

Benché il portale offra opzioni per la configurazione automatica della connettività, è utile saper configurare manualmente la connettività. Anche l'identificazione dei requisiti può semplificare la risoluzione dei problemi.

La tabella seguente elenca i requisiti per la connessione a SQL Server in una macchina virtuale di Azure.

Requisito Descrizione
Abilitare la modalità di autenticazione di SQL Server L'autenticazione di SQL Server è necessaria per connettersi alla macchina virtuale in remoto, a meno che non sia stato configurato Active Directory in una rete virtuale.
Creare un account di accesso SQL Se si usa l'autenticazione SQL, è necessario un account di accesso SQL con un nome utente e una password che abbia anche le autorizzazioni per il database di destinazione.
Abilitare il protocollo TCP/IP SQL Server deve consentire le connessioni tramite TCP.
Abilitare una regola del firewall per la porta di SQL Server Il firewall nella macchina virtuale deve consentire il traffico in ingresso sulla porta di SQL Server (porta predefinita: 1433).
Creare una regola del gruppo di sicurezza di rete per la porta TCP 1433 È necessario consentire alla macchina virtuale di ricevere il traffico sulla porta di SQL Server (porta predefinita: 1433) se si vuole connettersi tramite Internet. Le connessioni solo a reti virtuali non richiedono questo passaggio. Questo è l'unico passaggio necessario nel portale di Azure.

Suggerimento

I passaggi indicati nella tabella precedente vengono eseguiti automaticamente durante la configurazione della connettività nel portale. Usare questi passaggi solo per confermare la configurazione o per configurare manualmente la connettività per SQL Server.

Connessione a un'istanza di SQL Server in una macchina virtuale di Azure usando Microsoft Entra ID

Abilitare l'autenticazione con Microsoft Entra ID (in precedenza Azure Active Directory) per l'istanza di SQL Server in Macchine virtuali di Azure tramite il portale di Azure. SQL Server con autenticazione di Microsoft Entra è supportato solo in SQL Server 2022 (16.x) e versioni successive.

Passaggi successivi

Per la procedura di configurazione della connettività e del provisioning, vedere Provisioning di una macchina virtuale di SQL Server in Azure.

Per altri argomenti relativi all'esecuzione di SQL Server nelle macchine virtuali di Azure, vedere SQL Server in Macchine virtuali di Azure.