Connettersi a una macchina virtuale di SQL Server in Azure (distribuzione classica)

Panoramica

Questo argomento descrive la modalità di connessione all'istanza di SQL Server in esecuzione su una macchina virtuale di Azure. 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.

Importante

Azure offre due modelli di distribuzione diversi per creare e usare le risorse: Resource Manager e distribuzione classica. Questo articolo illustra l'uso del modello di distribuzione classica. Microsoft consiglia di usare il modello di Gestione risorse per le distribuzioni più recenti. Se si usano macchine virtuali di Resource Manager, vedere Connettersi a una macchina virtuale di SQL Server in Azure con Resource Manager.

Scenari di connessione

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 tra il computer e la rete. Tali scenari includono:

Nota

Prima di connettersi con uno di questi metodi, è necessario seguire i passaggi in questo articolo per configurare la connettività.

Configurare e connettersi a più macchine virtuali di SQL Server nello stesso servizio cloud di Azure

È possibile creare più macchine virtuali nello stesso servizio cloud. Per comprendere meglio questo scenario, vedere Come connettere le macchine virtuali con una rete virtuale o un servizio cloud. In questo caso un client su una macchina virtuale tenta di connettersi a SQL Server in esecuzione su un'altra macchina virtuale nello stesso servizio cloud.

In questo scenario è possibile connettersi usando il nome della macchina virtuale, anche visualizzato come Nome computer o hostname nel portale. Questo è il nome specificato durante la creazione della macchina virtuale. Ad esempio, se la macchina virtuale SQL è stata denominata mysqlvm, una macchina virtuale client nello stesso servizio cloud potrebbe usare la stringa di connessione seguente per connettersi:

Server=mysqlvm;Integrated Security=false;User ID=<login_name>;Password=<your_password>

Connettersi a SQL Server tramite Internet

Se si desidera connettersi al motore di database di SQL Server tramite Internet, è necessario creare un endpoint della macchina virtuale per le comunicazioni TCP in ingresso. In questo passaggio di configurazione di Azure, il traffico della porta TCP in ingresso viene indirizzato a una porta TCP accessibile alla macchina virtuale.

Per connettersi tramite Internet è necessario usare il nome DNS e il numero di porta dell'endpoint della macchina virtuale (configurati più avanti in questo articolo). Per trovare il nome DNS, passare al portale di Azure e selezionare Macchine virtuali (versione classica) . Selezionare quindi la macchina virtuale. Il Nome DNS è visualizzato nella sezione Panoramica.

Si consideri ad esempio una macchina virtuale classica denominata mysqlvm con nome DNS mysqlvm7777.cloudapp.net ed endpoint di macchina virtuale 57500. Supponendo che la connettività sia configurata correttamente, la stringa di connessione seguente può essere usata per accedere alla macchina virtuale da qualsiasi posizione in Internet:

Server=mycloudservice.cloudapp.net,57500;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. I client esterni dovranno disporre del nome utente e della password corretti. Per una maggiore sicurezza, non usare la nota porta 1433 per l'endpoint pubblico della macchina virtuale. Se possibile, è consigliabile aggiungere un ACL all'endpoint per limitare il traffico ai soli client autorizzati. Per istruzioni sull'uso di ACL con gli endpoint, vedere Gestire l'elenco di controllo di accesso su un endpoint.

Nota

È importante notare che quando si usa questa tecnica per comunicare con SQL Server, tutti i dati in uscita dai data center di Azure sono soggetti ai normali prezzi di trasferimenti dei dati in uscita.

Connettersi a SQL Server nella stessa rete virtuale

rete virtuale supporta scenari aggiuntivi. È possibile connettere le macchine virtuali nella stessa rete virtuale, anche se si trovano in servizi cloud 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.

Se si desidera configurare un ambiente di dominio e l'autenticazione di Windows, non è necessario seguire la procedura descritta in questo articolo per configurare l'endpoint pubblico o l'autenticazione SQL e gli account di accesso. In questo scenario è possibile connettersi all'istanza di SQL Server specificando il nome della macchina virtuale SQL Server nella stringa di connessione. Nell'esempio seguente si presuppone che sia stata configurata anche l'autenticazione di Windows e che all'utente sia stato concesso l'accesso all'istanza di SQL Server.

Server=mysqlvm;Integrated Security=true

Procedura per la configurazione della connettività di SQL Server in una macchina virtuale di Azure

I passaggi seguenti illustrano come connettersi all'istanza di SQL Server su Internet mediante SQL Server Management Studio (SSMS). Tuttavia, gli stessi passaggi si applicano per rendere accessibile la macchina virtuale di SQL Server per le applicazioni in esecuzione sia in locale che in Azure.

Prima di poter eseguire la connessione all'istanza di SQL Server da un’altra VM o da Internet, è necessario completare le seguenti attività, come descritto nelle seguenti sezioni:

Il percorso di connessione è riepilogato nel diagramma seguente:

Connessione a una macchina virtuale di SQL Server

Creare un endpoint TCP per la macchina virtuale

Per poter accedere a SQL Server da internet, nella macchina virtuale deve essere presente un endpoint per l'ascolto delle comunicazioni TCP in entrata. In questo passaggio di configurazione di Azure, il traffico della porta TCP in ingresso viene indirizzato a una porta TCP accessibile alla macchina virtuale.

Nota

Se ci si connette all'interno della stesso servizio cloud o della stessa rete virtuale, non è necessario creare un endpoint accessibile pubblicamente. In tal caso, è possibile continuare al passaggio successivo. Per altre informazioni, vedere Scenari di connessione.

  1. Nel portale di Azure selezionare Macchine virtuali (versione classica).

  2. Quindi selezionare la macchina virtuale di SQL Server.

  3. Selezionare Endpoint e quindi fare clic sul pulsante Aggiungi nella parte superiore del pannello Endpoint.

    Passaggi all'interno del portale per la creazione dell'endpoint

  4. Nel pannello Aggiungi endpoint specificare un valore in Nome, ad esempio SQLEndpoint.

  5. Selezionare TCP per il protocollo.

  6. Nel campo Porta pubblica specificare un numero di porta, ad esempio 57500.

  7. Nel campo Porta privata specificare la porta in ascolto di SQL Server che per impostazione predefinita è 1433.

  8. Fare clic su OK per creare l'endpoint.

Aprire le porte TCP in Windows Firewall per l'istanza predefinita del motore di database

  1. Connettersi alla macchina virtuale tramite Desktop remoto. Per istruzioni dettagliate sulla connessione alla macchina virtuale, vedere Aprire la macchina virtuale tramite Desktop remoto.

  2. Una volta effettuato l'accesso, nella schermata Start digitare WF.msc e premere INVIO.

    Avviare Windows Firewall

  3. Nel riquadro sinistro di Windows Firewall con sicurezza avanzatafare clic con il pulsante destro del mouse su Regole in entrata, quindi scegliere Nuova regola nel riquadro azioni.

    Nuova regola

  4. Nella finestra di dialogo Creazione guidata nuova regola connessioni in entrata nella sezione Tipo di regola selezionare Porta e quindi fare clic su Avanti.

  5. Nella finestra di dialogo Protocollo e porte usare il valore predefinito per TCP. Selezionare la casella Porte locali specifiche e quindi digitare il numero di porta dell'istanza del motore di database (1433 per l'istanza predefinita o il numero di porta specificato per la porta privata nel passaggio di creazione dell'endpoint).

    Porta TCP 1433

  6. Fare clic su Avanti.

  7. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi fare clic su Avanti.

    Nota sulla sicurezza: per un maggiore livello di sicurezza è possibile selezionare Consenti solo connessioni protette. Selezionare questa opzione per configurare altre opzioni di sicurezza per l'ambiente in uso.

    Consentire le connessioni

  8. Nella finestra di dialogo Profilo selezionare Pubblico, Privato e Dominio. Quindi fare clic su Avanti.

    Nota sulla sicurezza: Selezionando Pubblico è possibile accedere tramite Internet. Se possibile, scegliere un profilo più restrittivo.

    Profilo Pubblico

  9. Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi fare clic su Fine.

    Nome regola

Aprire altre porte per altri componenti in base alle esigenze. Per ulteriori informazioni, vedere Configurare Windows Firewall per consentire l'accesso a SQL Server.

Configurare SQL Server per l'ascolto sul protocollo TCP

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

    Apertura di SQL Server Management Studio

  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 istanza predefinito). Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su TCP e scegliere Abilita se non è già abilitato.

    Abilitazione del protocollo 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.

    Riavvio del motore di database

  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.

Configurare SQL Server per l'autenticazione in modalità mista

Il motore di database di SQL Server non può utilizzare l'Autenticazione di Windows senza ambiente di dominio. Per connettersi al motore di database da un altro computer, configurare SQL Server per l'autenticazione in modalità mista. L'autenticazione in modalità mista consente sia l'autenticazione di SQL Server sia l'autenticazione di Windows.

Nota

Se è stata configurata una Rete virtuale di Azure con un ambiente di dominio configurato, potrebbe non essere necessario configurare l'autenticazione in modalità mista.

  1. Mentre si è connessi alla macchina virtuale, nella pagina iniziale digitare SQL Server Management Studio e fare clic sull'icona selezionata.

    Alla prima apertura di Management Studio è necessario creare gli utenti dell'ambiente Management Studio. L'operazione potrebbe richiedere alcuni istanti.

  2. Verrà visualizzata la finestra di dialogo Connetti al server di Management Studio. Nella casella Nome server digitare il nome della macchina virtuale per connettersi al motore di database con il Esplora oggetti ( anziché il nome della macchina virtuale è anche possibile usare (locale) o un singolo punto come nome server. Selezionare Autenticazione di Windows e lasciare your_VM_name\your_local_administrator nella casella Nome utente . Fare clic su Connetti.

    Connettersi al server

  3. In Esplora oggetti di SQL Server Management Studio fare clic con il pulsante destro del mouse sul nome dell'istanza di SQL Server (nome della macchina virtuale), quindi fare clic su Proprietà.

    Proprietà del server

  4. Nella pagina Sicurezza, in Autenticazione server selezionare Autenticazione di SQL Server e di Windows e quindi fare clic su OK.

    Selezione della modalità di autenticazione

  5. Nella finestra di dialogo di SQL Server Management Studio fare clic su OK per confermare il requisito del riavvio di SQL Server.

  6. In Esplora oggetti fare clic con il pulsante destro del mouse sul server e quindi scegliere Riavvia. (Se SQL Server Agent è in esecuzione, anch'esso dovrà essere riavviato).

    Riavvia

  7. Nella finestra di dialogo di SQL Server Management Studio fare clic su per accettare il riavvio di SQL Server.

Creare gli account di accesso di SQL Server

Per connettersi al motore di database da un altro computer, configurare almeno un account di accesso con autenticazione di SQL Server.

  1. In Esplora oggetti di SQL Server Management Studio espandere la cartella dell'istanza del server in cui si desidera creare il nuovo account di accesso.

  2. Fare clic con il pulsante destro del mouse sulla cartella Sicurezza, scegliere Nuovo e selezionare Account di accesso... .

    Nuovo account di accesso

  3. Nella finestra di dialogo Account di accesso - Nuovo, nella pagina Generale immettere il nome del nuovo utente nella casella Nome account di accesso.

  4. Selezionare Autenticazione di SQL Server.

  5. Nella casella Password digitare una password per il nuovo utente. Digitare di nuovo la password nella casella Conferma password .

  6. Selezionare le opzioni di applicazione della password richieste, ovvero Applica criteri password, Imponi scadenza password e Richiedi modifica della password all'accesso successivo. Se si usa questo account di accesso per se stessi, non è necessario richiedere una modifica della password all'accesso successivo.

  7. Selezionare dall'elenco Database predefinito un database predefinito per l'account di accesso. master è l'impostazione predefinita per questa opzione. Se il database utente non è ancora stato creato, lasciare questa opzione impostata su master.

    Proprietà account di accesso

  8. Se si tratta del primo account di accesso che si crea, è possibile assegnarlo all'amministratore di SQL Server. A questo scopo, nella pagina Ruoli server selezionare sysadmin.

    Nota

    i membri del ruolo predefinito del server dispongono del controllo completo sul motore di database. È consigliabile limitare attentamente le appartenenze a questo ruolo.

    Sysadmin

  9. Fare clic su OK.

Per ulteriori informazioni sugli account di accesso di SQL Server, vedere Creazione di un account di accesso.

Determinare il nome DNS della macchina virtuale

Per connettersi al motore di database di SQL Server da un altro computer, è necessario conoscere il nome DNS (Domain Name System) della macchina virtuale. Questo è il nome usato da Internet per identificare la macchina virtuale. È possibile usare l'indirizzo IP, ma l'indirizzo IP potrebbe cambiare quando Azure sposta le risorse per la ridondanza o la manutenzione. Il nome DNS sarà stabile perché può essere reindirizzato a un nuovo indirizzo IP.

  1. Nel portale di Azure (o dal passaggio precedente) selezionare Macchine virtuali (versione classica).

  2. Selezionare la macchina virtuale di SQL.

  3. Nel pannello Macchina virtuale copiare il nome DNS per la macchina virtuale.

    Nome DNS

Eseguire la connessione al motore di database da un altro computer

  1. In un computer connesso a Internet aprire SQL Server Management Studio.

  2. Nella finestra di dialogo Connetti al server o Connetti al motore di database, nella casella Nome server immettere il nome DNS della macchina virtuale (determinato nell'attività precedente) e un numero di porta di endpoint pubblica nel formato NomeDNS,numero porta, ad esempio mysqlvm.cloudapp.net,57500.

    Connessione tramite SQL Server Management Studio

    Se non si ricorda il numero di porta di endpoint pubblica creata in precedenza, è possibile trovarlo nell'area Endpoint del pannello Macchina virtuale.

    Public Port

  3. Nella casella Autenticazione selezionare Autenticazione di SQL Server.

  4. Nella casella Account di accesso digitare il nome di un account di accesso creato in una delle attività precedenti.

  5. Nella casella Password digitare la password dell'account di accesso creato in una delle attività precedenti.

  6. Fare clic su Connetti.

Passaggi successivi

Se si intende anche usare gruppi di disponibilità AlwaysOn per la disponibilità elevata e il ripristino di emergenza, è consigliabile implementare un listener. I client del database si connettono al listener anziché connettersi direttamente a una delle istanze di SQL Server. Il listener indirizza i client alla replica primaria nel gruppo di disponibilità. Per altre informazioni, vedere l'articolo relativo alla configurazione di un listener di ILB per gruppi di disponibilità AlwaysOn in Azure.

È importante esaminare tutte le procedure consigliate sulla sicurezza per SQL Server in esecuzione in una macchina virtuale di Azure. Per altre informazioni, vedere Considerazioni relative alla sicurezza per SQL Server in Macchine virtuali di Azure.

Esplorare il percorso di apprendimento per SQL Server in macchine virtuali di Azure.

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