Connettersi a una macchina virtuale di SQL Server in Azure (Gestione risorse)Connect to a SQL Server Virtual Machine on Azure (Resource Manager)

OverviewOverview

Questo argomento descrive la modalità di connessione all'istanza di SQL Server in esecuzione su una macchina virtuale di Azure.This topic describes how to connect to your SQL Server instance running on an Azure virtual machine. Illustra alcuni scenari di connettività generali e quindi descrive la procedura dettagliata per la configurazione della connettività di SQL Server in una macchina virtuale di Azure.It covers some general connectivity scenarios and then provides detailed steps for configuring SQL Server connectivity in an Azure VM.

Nota

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Questo articolo illustra il modello di distribuzione Resource Manager, che Microsoft consiglia di usare per le nuove distribuzioni in sostituzione del modello di distribuzione classica.This article covers using the Resource Manager deployment model, which Microsoft recommends for new deployments instead of the classic deployment model.

Per una procedura dettagliata completa del provisioning e della connettività, vedere Provisioning di una macchina virtuale di SQL Server in Azure.If you would rather have a full walk-through of both provisioning and connectivity, see Provisioning a SQL Server Virtual Machine on Azure.

Scenari di connessioneConnection scenarios

La modalità di connessione di un client a SQL Server in esecuzione in una macchina virtuale varia a seconda della posizione del client e della configurazione di rete.The way a client connects to SQL Server running on a Virtual Machine differs depending on the location of the client and the networking configuration.

Se si esegue il provisioning di una VM di SQL Server nel portale di Azure, è possibile specificare il tipo di connettività SQL.If you provision a SQL Server VM in the Azure portal, you have the option of specifying the type of SQL connectivity.

Opzione di connettività SQL pubblica durante il provisioning

Le opzioni per la connettività sono:Your options for connectivity include:

OpzioneOption DescrizioneDescription
PubblicaPublic Connettersi a SQL Server tramite InternetConnect to SQL Server over the internet
PrivataPrivate Connettersi a SQL Server nella stessa rete virtualeConnect to SQL Server in the same virtual network
LocaleLocal Connettersi a SQL Server localmente sulla stessa macchina virtualeConnect to SQL Server locally on the same virtual machine

Le sezioni seguenti illustrano le opzioni Pubblica e Privata in modo più dettagliato.The following sections explain the Public and Private options in more detail.

Connettersi a SQL Server tramite InternetConnect to SQL Server over the Internet

Se ci si vuole connettere al motore di database di SQL Server da Internet, durante il provisioning selezionare il tipo di Connettività SQL Pubblica nel portale.If you want to connect to your SQL Server database engine from the Internet, select Public for the SQL connectivity type in the portal during provisioning. Il portale esegue automaticamente la procedura seguente:The portal automatically does the following steps:

  • Abilita il protocollo TCP/IP per SQL Server.Enables the TCP/IP protocol for SQL Server.
  • Configura una regola del firewall per l'apertura della porta TCP di SQL Server (valore predefinito 1433).Configures a firewall rule to open the SQL Server TCP port (default 1433).
  • Abilita l'autenticazione di SQL Server, necessaria per l'accesso pubblico.Enables SQL Server Authentication, required for public access.
  • Configura il gruppo di sicurezza di rete nella VM su tutto il traffico TCP sulla porta di SQL Server.Configures the network security group on the VM to all TCP traffic on the SQL Server port.

Importante

Le immagini delle macchine virtuali per SQL Server Express Edition e SQL Server Developer Edition non abilitano automaticamente il protocollo TCP/IP.The virtual machine images for the SQL Server Developer and Express editions do not automatically enable the TCP/IP protocol. Per Developer Edition ed Express Edition è necessario usare Gestione configurazione SQL Server per abilitare manualmente il protocollo TCP/IP dopo avere creato la VM.For Developer and Express editions, you must use SQL Server Configuration Manager to manually enable the TCP/IP protocol after creating the 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.Any client with internet access can connect to the SQL Server instance by specifying either the public IP address of the virtual machine or any DNS label assigned to that IP address. Se la porta di SQL Server è 1433, non è necessario specificarla nella stringa di connessione.If the SQL Server port is 1433, you do not need to specify it in the connection string. 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).The following connection string connects to a SQL VM with a DNS label of sqlvmlabel.eastus.cloudapp.azure.com using SQL Authentication (you could also use the public IP address).

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

Sebbene in questo modo venga abilitata la connettività per i client tramite Internet, ciò non significa che chiunque può connettersi all'istanza di SQL Server.Although this enables connectivity for clients over the internet, this does not imply that anyone can connect to your SQL Server. I client esterni dovranno disporre del nome utente e della password corretti.Outside clients have to the correct username and password. Per maggiore sicurezza, tuttavia, è possibile evitare la porta 1433 nota.However, for additional security, you can avoid the well-known port 1433. 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.For example, if you configured SQL Server to listen on port 1500 and established proper firewall and network security group rules, you could connect by appending the port number to the Server name. L'esempio seguente modifica il precedente tramite l'aggiunta del numero di porta personalizzato 1500 al nome del server:The following example alters the previous one by adding a custom port number, 1500, to the server name:

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 VM via Internet, tutti i dati in uscita dal centro dati di Azure sono soggetti ai normali prezzi dei trasferimenti di dati in uscita.When you query SQL Server in a VM over the internet, all outgoing data from the Azure datacenter is subject to normal pricing on outbound data transfers.

Connettersi a SQL Server all'interno di una rete virtualeConnect to SQL Server within a virtual network

Se nel portale si sceglie Privata in Connettività SQL, Azure configura la maggior parte delle impostazioni in modo identico rispetto a Pubblica.When you choose Private for the SQL connectivity type in the portal, Azure configures most of the settings identical to Public. 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).The one difference is that there is no network security group rule to allow outside traffic on the SQL Server port (default 1433).

Importante

Le immagini delle macchine virtuali per SQL Server Express Edition e SQL Server Developer Edition non abilitano automaticamente il protocollo TCP/IP.The virtual machine images for the SQL Server Developer and Express editions do not automatically enable the TCP/IP protocol. Per Developer Edition ed Express Edition è necessario usare Gestione configurazione SQL Server per abilitare manualmente il protocollo TCP/IP dopo avere creato la VM.For Developer and Express editions, you must use SQL Server Configuration Manager to manually enable the TCP/IP protocol after creating the VM.

La connettività privata viene spesso usata in combinazione con una rete virtuale, che consente diversi scenari.Private connectivity is often used in conjunction with Virtual Network, which enables several scenarios. È possibile connettere le VM nella stessa rete virtuale, anche se si trovano in gruppi di risorse diversi.You can connect VMs in the same virtual network, even if those VMs exist in different resource groups. Con una VPN da sito a sitoè possibile creare un'architettura ibrida che connette le macchine virtuali a computer e reti locali.And with a site-to-site VPN, you can create a hybrid architecture that connects VMs with on-premises networks and machines.

Le reti virtuali consentono inoltre di aggiungere le macchine virtuali di Azure a un dominio.Virtual networks also enable you to join your Azure VMs to a domain. Si tratta dell'unico modo per usare l'autenticazione di Windows per SQL Server.This is the only way to use Windows Authentication to SQL Server. Gli altri scenari di connessione richiedono l'autenticazione SQL con nomi utente e password.The other connection scenarios require SQL Authentication with user names and passwords.

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.Assuming that you have configured DNS in your virtual network, you can connect to your SQL Server instance by specifying the SQL Server VM computer name in the connection string. L'esempio seguente presuppone che sia stata configurata anche l'autenticazione di Windows e che all'utente sia stato concesso l'accesso all'istanza di SQL Server.The following example also assumes that Windows Authentication has also been configured and that the user has been granted access to the SQL Server instance.

Server=mysqlvm;Integrated Security=true

Modificare le impostazioni di connettività SQL Change SQL connectivity settings

È possibile modificare le impostazioni di connettività per la macchina virtuale di SQL Server nel portale di Azure.You can change the connectivity settings for your SQL Server virtual machine in the Azure portal.

  1. Nel portale di Azure selezionare Macchine virtuali.In the Azure portal, select Virtual Machines.

  2. Selezionare la VM di SQL Server.Select your SQL Server VM.

  3. In Impostazioni fare clic su Configurazione di SQL Server.Under Settings, click SQL Server configuration.

  4. Modificare il valore di Livello di connettività SQL sull'impostazione necessaria.Change the SQL connectivity level to your required setting. Facoltativamente, è possibile usare quest'area per modificare la porta di SQL Server o le impostazioni di autenticazione SQL.You can optionally use this area to change the SQL Server port or the SQL Authentication settings.

    Modificare la connettività SQL

  5. Attendere qualche minuto che l'aggiornamento venga completato.Wait several minutes for the update to complete.

    Notifica dell'aggiornamento della VM SQL

Abilitare TCP/IP per SQL Server Developer Edition ed Express Edition Enable TCP/IP for Developer and Express editions

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.When changing SQL Server connectivity settings, Azure does not automatically enable the TCP/IP protocol for SQL Server Developer and Express editions. La procedura seguente illustra come abilitare manualmente TCP/IP per potersi connettere in remoto in base all'indirizzo IP.The steps below explain how to manually enable TCP/IP so that you can connect remotely by IP address.

Connettersi prima al computer di SQL Server tramite Desktop remoto.First, connect to the SQL Server machine with remote desktop.

  1. Dopo che la macchina virtuale di Azure è stata creata ed è in esecuzione, fare clic sull'icona di Macchine virtuali nel portale di Azure per visualizzare le VM.After the Azure virtual machine is created and running, click the Virtual Machines icon in the Azure portal to view your VMs.

  2. Fare clic sui puntini di sospensione, ..., per la nuova VM.Click the ellipsis, ..., for your new VM.

  3. Fare clic su Connetti.Click Connect.

    Connettersi alla VM nel portale

  4. Aprire il file RDP scaricato dal browser per la VM.Open the RDP file that your browser downloads for the VM.

  5. La Connessione Desktop remoto invia una notifica che indica che l'autore della connessione remota non può essere identificato.The Remote Desktop Connection notifies you that the publisher of this remote connection cannot be identified. Fare clic su Connetti per continuare.Click Connect to continue.

  6. Nella finestra di dialogo Sicurezza di Windows fare clic su Usa un account diverso.In the Windows Security dialog, click Use a different account. Potrebbe essere necessario fare clic su Altre opzioni per visualizzare l'opzione.You might have to click More choices to see this. Specificare il nome utente e la password configurati durante la creazione della VM.Specify the user name and password that you configured when you created the VM. È necessario aggiungere una barra rovesciata prima del nome utente.You must add a backslash before the user name.

    Autenticazione di Desktop remoto

  7. Fare clic su OK per connettersi.Click OK to connect.

Abilitare quindi il protocollo TCP/IP con Gestione configurazione SQL Server.Next, enable the TCP/IP protocol with SQL Server Configuration Manager.

  1. Durante la connessione alla macchina virtuale con Desktop remoto, cercare Gestione configurazione:While connected to the virtual machine with remote desktop, search for Configuration Manager:

    Apertura di SQL Server Management Studio

  2. In Gestione configurazione SQL Server, nel riquadro console espandere Configurazione di rete SQL Server.In SQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration.

  3. Nel riquadro console fare clic su Protocolli per MSSQLSERVER (nome predefinito dell'istanza). Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su TCP e quindi scegliere Abilita se l'opzione non è già abilitata.In the console pane, click Protocols for MSSQLSERVER (the default instance name.) In the details pane, right-click TCP and click Enable if it is not already enabled.

    Abilitazione del protocollo TCP

  4. Nel riquadro console fare clic su Servizi di SQL Server.In the console pane, click SQL Server Services. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su SQL Server (nome istanza) e quindi scegliere Riavvia per arrestare e riavviare l'istanza di SQL Server. L'istanza predefinita è SQL Server (MSSQLSERVER).In the details pane, right-click SQL Server (instance name) (the default instance is SQL Server (MSSQLSERVER)), and then click Restart, to stop and restart the instance of SQL Server.

    Riavvio del motore di database

  5. Chiudere Gestione configurazione SQL Server.Close SQL Server Configuration Manager.

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.For more information about enabling protocols for the SQL Server Database Engine, see Enable or Disable a Server Network Protocol.

Connettersi con SSMSConnect with SSMS

La procedura seguente illustra come creare un'etichetta DNS facoltativa per la VM di Azure e quindi come connettersi con SQL Server Management Studio (SSMS).The following steps show how to create an optional DNS Label for your Azure VM and then connect with SQL Server Management Studio (SSMS).

Configurare un'etichetta DNS per l'indirizzo IP pubblicoConfigure a DNS Label for the public IP address

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.To connect to the SQL Server Database Engine from the Internet, consider creating a DNS Label for your public IP address. È 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.You can connect by IP address, but the DNS Label creates an A Record that is easier to identify and abstracts the underlying public IP address.

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.DNS Labels are not required if you plan to only connect to the SQL Server instance within the same Virtual Network or only locally.

Per creare un'etichetta DNS, selezionare prima di tutto Macchine virtuali nel portale.To create a DNS Label, first select Virtual machines in the portal. Selezionare la propria macchina virtuale di SQL Server per visualizzarne le proprietà.Select your SQL Server VM to bring up its properties.

  1. Nella panoramica della macchina virtuale selezionare l'indirizzo IP pubblico.In the virtual machine overview, select your Public IP address.

    indirizzo ip pubblico

  2. Nelle proprietà dell'indirizzo IP pubblico espandere Configurazione.In the properties for your Public IP address, expand Configuration.

  3. Immettere un nome per l'etichetta DNS.Enter a DNS Label name. Il nome è un record A che consente di connettersi alla macchina virtuale di SQL Server usando il nome, anziché tramite l'indirizzo IP.This name is an A Record that can be used to connect to your SQL Server VM by name instead of by IP Address directly.

  4. Fare clic sul pulsante Salva .Click the Save button.

    etichetta dns

Eseguire la connessione al motore di database da un altro computerConnect to the Database Engine from another computer

  1. In un computer connesso a Internet aprire SQL Server Management Studio (SSMS).On a computer connected to the internet, open SQL Server Management Studio (SSMS). Se SQL Server Management Studio non è installato, è possibile scaricarlo qui.If you do not have SQL Server Management Studio, you can download it here.

  2. Nella finestra di dialogo Connetti al server o Connetti al motore di database modificare il valore di Nome server.In the Connect to Server or Connect to Database Engine dialog box, edit the Server name value. Immettere l'indirizzo IP o il nome DNS completo della macchina virtuale, determinato nell'attività precedente.Enter the IP address or full DNS name of the virtual machine (determined in the previous task). È anche possibile aggiungere una virgola e specificare la porta TCP di SQL Server.You can also add a comma and provide SQL Server's TCP port. ad esempio mysqlvmlabel.eastus.cloudapp.azure.com,1433.For example, mysqlvmlabel.eastus.cloudapp.azure.com,1433.

  3. Nella casella Autenticazione selezionare Autenticazione di SQL Server.In the Authentication box, select SQL Server Authentication.

  4. Nella casella Accesso digitare il nome di un account di accesso SQL valido.In the Login box, type the name of a valid SQL login.

  5. Nella casella Password digitare la password dell'account di accesso.In the Password box, type the password of the login.

  6. Fare clic su Connect.Click Connect.

    connessione a ssms

Passaggi successiviNext Steps

Per la procedura di configurazione della connettività e del provisioning, vedere Provisioning di una macchina virtuale di SQL Server in Azure.To see provisioning instructions along with these connectivity steps, see Provisioning a SQL Server Virtual Machine on Azure.

Per altri argomenti relativi all'esecuzione di SQL Server nelle macchine virtuali di Azure, vedere SQL Server in Macchine virtuali di Azure.For other topics related to running SQL Server in Azure VMs, see SQL Server on Azure Virtual Machines.