Alias (Gestione configurazione SQL Server)

Si applica a: SQL Server - solo Windows

Un alias rappresenta un nome alternativo che può essere utilizzato per stabilire una connessione. L'alias incapsula gli elementi necessari di una stringa di connessione e li espone con un nome scelto dall'utente. Per creare un alias per i client Microsoft SQL Server in questo computer, fare clic con il pulsante destro del mouse su Alias nel riquadro della console, quindi selezionare Nuovo alias. Per configurare un alias esistente per i client SQL Server in questo computer, selezionare Alias nel riquadro della console, fare clic con il pulsante destro del mouse sull'alias desiderato nel riquadro Dettagli, quindi selezionare Proprietà.

Nota

Gli alias per SQL Server sono una configurazione lato client. Ogni computer client che usa l'alias deve avere una configurazione alias identica e Gestione configurazione SQL Server non è l'unico strumento che può essere usato per creare o gestire alias.

SQL Server 2022 e le versioni successive non supportano la creazione di alias tramite Gestione configurazione SQL Server. Per creare un alias per SQL Server 2022 e le versioni successive, usare lo strumento Utilità di rete client di SQL Server.

Situazioni in cui usare un alias

Per impostazione predefinita, SQL Server si connette a un'istanza locale di SQL Server mediante il protocollo Shared Memory e a un'istanza di SQL Server in un altro computer mediante TCP/IP o Named Pipes. Creare un alias quando si usa TCP/IP o named pipe e si desidera fornire una stringa di connessione personalizzata o quando si desidera usare un nome diverso da quello del server per il collegamento.

Esempi

  • SQL Server non è in ascolto sulla porta TCP/IP 1433 predefinita, pertanto si dovrà specificare una stringa di connessione con un numero di porta diverso.

  • SQL Server non è in ascolto sulla porta named pipe predefinita, pertanto si dovrà specificare una stringa di connessione con un nome di pipe diverso.

  • Un'applicazione prevede di connettersi a un database nel server denominato ACCT, ma tale database è stato consolidato come istanza denominata ACCT nel server CENTRAL. Non è semplice modificare l'applicazione. Creare un alias denominato ACCT, con una stringa di connessione che punta a CENTRAL\ACCT.

Proprietà degli alias

Nome alias

Nome o alias che si desidera utilizzare per fare riferimento alla connessione.

Nome pipe o numero di porta

Elementi aggiuntivi della stringa di connessione. Il nome di questa casella varia a seconda del protocollo selezionato.

Protocollo

Protocollo utilizzato per la connessione.

Server

Nome dell'istanza di Microsoft SQL Server a cui si esegue la connessione.

Collegamenti memoria condivisa

Le connessioni a SQL Server da un client in esecuzione nello stesso computer usano il protocollo di memoria condivisa. La memoria condivisa non dispone di proprietà configurabili. Viene sempre utilizzata al primo tentativo di connessione e non può essere spostata dalla posizione iniziale nell'elenco Protocolli abilitati in Proprietà protocolli client. È possibile disabilitare il protocollo di memoria condivisa, operazione utile durante la risoluzione dei problemi relativi a uno degli altri protocolli.

Non è possibile creare un alias utilizzando il protocollo di memoria condivisa, ma, se si abilita la memoria condivisa e quindi ci si connette al motore di database tramite un nome, viene creata una connessione di memoria condivisa. Una stringa di connessione di memoria condivisa utilizza il formato lpc:<servername>[\instancename].

Connettersi al server locale usando la memoria condivisa

Quando si stabilisce una connessione a SQL Server in esecuzione nello stesso computer del client, è possibile usare (local) come nome del server. Non si tratta di un valore consigliabile, in quanto genera ambiguità, ma può risultare utile se si è sicuri che il client viene eseguito nello stesso computer del server. Ad esempio, se si crea un'applicazione per gli utenti mobili non connessi e SQL Server viene eseguito su computer portatili e usato per archiviare dati di progetto, un client che si connette a (local) si connetterà sempre a SQL Server in esecuzione nel portatile. In sostituzione di (local), è possibile usare la parola localhost o un punto (.).

Esempi di collegamenti della memoria condivisa

I nomi seguenti consentono di connettersi al computer locale con il protocollo di memoria condivisa, se abilitato:

  • <servername>
  • <servername>\<instancename>
  • (local)
  • localhost

Non è possibile creare un alias per una connessione di memoria condivisa.

Nota

A seconda della configurazione del server, specificando un indirizzo IP nella casella Server verrà restituita una named pipe o una connessione TCP/IP.

Collegamenti TCP/IP

Per connettersi a SQL Server usando un alias con TCP/IP, è necessario:

  • Specificare un Nome alias.

  • Per Server, immettere un nome server a cui connettersi utilizzando l'utilità ping o un indirizzo IP a cui è possibile connettersi utilizzando l'utilità ping. Per un'istanza denominata, aggiungere il nome dell'istanza.

  • Specificare TCP/IP per il Protocollo.

  • Facoltativamente, immettere un numero di porta in Numero porta. Il numero di porta predefinito è 1433, ossia il numero di porta dell'istanza predefinita del motore di database in un server. Per connettersi a un'istanza denominata o a un'istanza predefinita non in attesa sulla porta 1433, è necessario specificare il numero di porta o avviare il servizio SQL Server Browser. Per informazioni sulla configurazione del servizio SQL Server Browser, vedere Servizio SQL Server Browser.

Al momento della connessione, tramite il componente SQL Server Native Client vengono letti i valori relativi a server, protocollo e porta dal Registro di sistema per il nome alias specificato e viene creata una stringa di connessione nel formato tcp:<servername>[\<instancename>],<port> o tcp:<IPAddress>[\<instancename>],<port>.

Nota

Per impostazione predefinita, Windows Firewall chiude la porta 1433. Considerato che SQL Server comunica sulla porta 1433, è necessario aprire nuovamente tale porta se è configurato per restare in attesa di connessioni client in ingresso che usano TCP/IP. Per informazioni sulla configurazione di un firewall, vedere "Procedura: Configurazione di un firewall per l'accesso a SQL Server" nella documentazione online di SQL Server oppure vedere la documentazione relativa al firewall.

SQL Server e SQL Server Native Client supportano entrambi completamente sia IPv4 (protocollo IP versione 4) sia IPv6 (protocollo IP versione 6). Gestione configurazione SQL Server accetta sia il formato IPv4 sia il formato IPv6 per gli indirizzi IP.

Esempi di impostazioni alias TCP/IP

Connessione tramite il nome del server

Nome Alias: <serveralias>
N. Porta: <blank>
Protocollo: TCP/IP
Server: <servername>

Connessione tramite il nome del server a un'istanza denominata

Nome Alias: <serveralias>
N. Porta: <blank>
Protocollo: TCP/IP
Server: <servername>\<instancename>

Connessione tramite il nome del server a una porta specifica

Nome Alias: <serveralias>
N. Porta: <port number>
Protocollo: TCP/IP
Server: <servername>

Connessione tramite indirizzo IP

Nome Alias: <serveralias>
N. Porta: <blank>
Protocollo: TCP/IP
Server: <IPAddress>

Nota

Per informazioni su come specificare il protocollo di rete come parametro sqlcmd, vedere sqlcmd - Connessione al motore di database.

Collegamenti named pipe

A meno che non venga modificato dall'utente, quando l'istanza predefinita di Microsoft SQL Server è in ascolto sul protocollo named pipe, viene usata \\.\pipe\sql\query come nome della pipe. Il punto indica che il computer è il computer locale. pipe indica che il collegamento è una named pipe e sql\query è il nome della pipe. Per connettersi alla pipe predefinita, è necessario che il nome della pipe dell'alias sia \\<computer_name>\pipe\sql\query. Se SQL Server è stato configurato per l’ascolto su una pipe diversa, è necessario che il nome della pipe usi tale pipe. Ad esempio, se SQL Server usa \\.\pipe\unit\app come pipe, è necessario che l'alias usi \\<computer_name>\pipe\unit\app come nome della pipe.

Per connettersi a SQL Server usando un alias con named pipe, è necessario:

  • Specificare un Nome alias.

  • Selezionare Named Pipe come protocollo

  • Inserire il Nome della pipe. In alternativa, è possibile lasciare Nome della pipe vuoto e Gestione configurazione SQL Server completerà il nome della pipe appropriato dopo aver specificato il Protocollo e il Server.

  • Specificare un Server. Per un'istanza denominata è possibile specificare un nome di server e un nome di istanza.

Al momento del collegamento, tramite il componente SQL Server Native Client vengono letti i valori relativi a server, protocollo e nome della pipe dal registro per il nome dell’alias specificato e viene creato un nome della pipe in formato np:\\<computer_name>\pipe\<pipename> o np:\\<IPAddress>\pipe\<pipename>. Per un'istanza denominata, il nome predefinito della pipe è \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

Nota

Per impostazione predefinita, Microsoft Windows Firewall chiude la porta 445. Considerato che Microsoft SQL Server comunica sulla porta 445, è necessario aprire nuovamente tale porta se SQL Server è configurato per restare in ascolto di collegamenti client in ingresso che usano le named pipe.

Esempi di impostazioni dell’alias delle named pipe

Connessione tramite il nome del server alla pipe predefinita

Nome Alias: <serveralias>
Nome Pipe: <blank>
Protocollo: Named Pipes
Server: <servername>

Connessione tramite indirizzo IP alla pipe predefinita

Nome Alias: <serveralias>
Nome Pipe: <blank>
Protocollo: Named Pipes
Server: <IPAddress>

Connessione tramite il nome del server a una pipe non predefinita

Nome Alias: <serveralias>
Nome Pipe: \\<servername>\pipe\unit\app
Protocollo: Named Pipes
Server: <servername>

Connessione tramite il nome del server a un'istanza denominata

Nome Alias: <serveralias>
Nome Pipe: \\<servername>\pipe\MSSQL$<instancename>\SQL\query
Protocollo: Named Pipes
Server: <servername>

Verificare il protocollo di connessione

La query seguente restituisce il protocollo utilizzato per la connessione corrente.

SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Protocolli e librerie di rete