Connettersi al motore di database
Questo articolo offre una panoramica generale per la connessione al motore di database di SQL Server, usato dai prodotti e servizi seguenti:
- SQL Server
- Database SQL di Azure
- Istanza gestita di SQL di Azure
- Piattaforma di strumenti analitici (PDW)
- Azure Synapse Analytics
- SQL Edge di Azure
Prerequisiti
Per connettersi al motore di database si usa uno strumento client o una libreria client. Gli strumenti client vengono eseguiti in un'interfaccia utente grafica (GUI) o in un'interfaccia della riga di comando (CLI).
La tabella seguente descrive alcuni degli strumenti client più comuni.
Strumento client | Type | Sistema operativo |
---|---|---|
SQL Server Management Studio (SSMS) | GUI | Finestre |
Azure Data Studio (ADS) | GUI | Windows, macOS, Linux |
bcp | CLI | Windows, macOS, Linux |
sqlcmd | CLI | Windows, macOS, Linux |
Nota
Gli strumenti client includono almeno una libreria client. Per ulteriori informazioni sulla connessione con una libreria client, vedere Moduli di connessione per database SQL di Microsoft.
Opzioni di connessione
Quando si effettua la connessione al motore di database, è necessario specificare un nome di istanza (ovvero il server o l'istanza in cui è installato il motore di database), un protocollo di rete e una porta di connessione nel formato seguente:
[<protocol>:]<instance>[,<port>]
Il protocollo e la porta sono facoltativi, perché hanno valori predefiniti. A seconda dello strumento client e della libreria client, potrebbero essere ignorati.
Nota
Se per la connessione al motore di database si usa una porta TCP personalizzata, è necessario separarla con una virgola (,
), perché i due punti (:
) vengono usati per specificare il protocollo.
Impostazione | Valori | Predefiniti | Dettagli |
---|---|---|---|
Protocollo | tcp (TCP/IP), np (named pipe) o lpc (memoria condivisa). |
np è l'impostazione predefinita per la connessione a SQL Server.tcp è l'impostazione predefinita per la connessione ai servizi Azure SQL. |
Il protocollo è facoltativo ed è spesso escluso quando si effettua la connessione a SQL Server nello stesso computer dello strumento client. Per ulteriori informazioni, vedere Considerazioni sul protocollo di rete nella prossima sezione. |
Istanza | Nome del server o dell'istanza. Ad esempio, MyServer o MyServer\MyInstance . |
localhost |
Se il motore di database si trova nello stesso computer dello strumento client, è possibile effettuare la connessione usando localhost , 127.0.0.1 o anche . (un singolo punto).Se ci si connette a un'istanza denominata, è necessario specificare il nome del server e il nome dell'istanza, separati da una barra. Ad esempio: MyServer\MyInstance . Un'istanza denominata nel computer locale può essere specificata da .\MyInstance . SQL Server Express usa MyServer\SQLEXPRESS . |
Porta | Qualsiasi porta TCP. | 1433 |
La porta TCP predefinita per la connessione all'istanza predefinita di SQL Server è 1433 . Il team dell'infrastruttura può tuttavia configurare porte personalizzate.SQL Server in Windows, inclusa l'edizione SQL Server Express, può essere configurato come istanza denominata e può anche disporre di una porta personalizzata. Per la connessione ai servizi Azure SQL, vedere la sezione Connettersi ad Azure SQL. Per ulteriori informazioni sulle porte personalizzate con SQL Server, vedere Gestione configurazione SQL Server. |
Considerazioni sul protocollo di rete
Per SQL Server in Windows, quando si effettua la connessione a un'istanza nello stesso computer dello strumento client e, a seconda dell'edizione installata, il protocollo predefinito può essere configurato con più protocolli, tra cui named pipe (np
), TCP/IP (tcp
) e memoria condivisa (lpc
). Utilizzare il protocollo Shared Memory per la risoluzione dei problemi quando si sospetta che gli altri protocolli siano configurati in modo non corretto.
Se si effettua la connessione a SQL Server attraverso una rete TCP/IP, assicurarsi che TCP/IP sia abilitato anche nel server. TCP/IP può essere disabilitato per impostazione predefinita nelle installazioni di SQL Server. Per altre informazioni, vedere Configurazione predefinita dei protocolli di rete di SQL Server.
Le connessioni ai servizi Azure SQL, a SQL Server in Linux e SQL a Server nei contenitori usano tutte TCP/IP.
Per il database SQL di Azure e l'Istanza gestita di SQL di Azure, consultare gli articoli Connettersi ed eseguire query.
Connettersi ad Azure SQL
Questa sezione fornisce informazioni sulla connessione ai servizi Azure SQL.
Per connettersi rapidamente ed inviare query a un database SQL di Azure dal portale di Azure, usare l'Editor di query del portale di Azure per il database SQL di Azure.
Per le connessioni esterne, tenere presente il firewall a livello di database del database SQL di Azure sicuro per impostazione predefinita.
Sono disponibili esempi per le connessioni all'applicazione:
Connessione a SQL Server
Questa sezione fornisce informazioni sulla connessione a SQL Server.
Connettersi a SQL Server nello stesso computer del client
È possibile connettersi al computer locale usando named pipe (np
), memoria condivisa (lpc
) o TCP/IP (tcp
). La memoria condivisa è l'opzione più veloce, perché non usa l'interfaccia di rete.
Nota
Se si usa un indirizzo IP per il nome dell'istanza e non si specifica tcp
, per impostazione predefinita il protocollo è np
(named pipe) se si tratta di un protocollo configurato.
Un'istanza denominata dispone di una porta TCP assegnata in modo dinamico. Se si desidera effettuare la connessione a un'istanza denominata, il servizio SQL Server Browser deve essere in esecuzione sul server.
Connettersi a un'istanza di SQL Server predefinita nello stesso computer
Se si effettua la connessione a un server configurato con le impostazioni predefinite, usare una delle opzioni seguenti:
localhost
127.0.0.1
.
(un singolo punto)
Se si effettua la connessione a una porta TCP personalizzata, ad esempio
51433
, usare una delle opzioni seguenti:tcp:localhost,51433
127.0.0.1,1433
Connettersi a un'istanza denominata di SQL Server nello stesso computer
In questo esempio, l'istanza denominata si chiama MyInstance
. Assicurarsi che il servizio SQL Server Browser sia in esecuzione e usare una delle opzioni seguenti:
localhost\MyInstance
127.0.0.1\MyInstance
.\MyInstance
Connettersi a SQL Server nella rete
È possibile connettersi usando un nome del server o un indirizzo IP. In questo esempio, il nome del server MyServer
si risolve in 192.10.1.128
.
Connettersi a un'istanza di SQL Server predefinita nella rete usando named pipe
Per connettersi a un server nella rete locale con named pipe, usare una delle opzioni seguenti:
MyServer
np:MyServer
Nota
In una rete locale, la connessione con TCP/IP potrebbe essere più veloce che con le named pipe.
Connettersi a un'istanza di SQL Server predefinita nella rete usando TCP/IP
Se si effettua la connessione a un server configurato con la porta TCP predefinita
1433
, usare una delle opzioni seguenti:tcp:MyServer
tcp:192.10.1.128
Se si effettua la connessione a un server configurato con una porta TCP personalizzata, ad esempio
51433
, usare una delle opzioni seguenti:MyServer,51433
tcp:MyServer,51433
192.10.1.128,51433
tcp:192.10.1.128,51433
Connettersi a un'istanza denominata di SQL Server nella rete usando TCP/IP
In questo esempio, l'istanza denominata si chiama MyInstance
. Assicurarsi che il servizio SQL Server Browser sia in esecuzione nel server e usare una delle opzioni seguenti:
tcp:MyServer\MyInstance
tcp:192.10.1.128\MyInstance
Come ottenere assistenza
- Creare una stringa di connessione valida usando il protocollo di memoria condivisa
- Creare una stringa di connessione valida usando TCP/IP
- Risolvere i problemi di connettività in SQL Server
- Tracciare il processo di autenticazione di rete al motore del database