Condividi tramite


Creazione di una stringa di connessione valida tramite named pipe

Quando l'istanza predefinita di Microsoft SQL Server è in attesa sul protocollo Named Pipes, utilizza \\.\pipe\sql\query come nome della pipe, a meno che l'utente non modifichi l'impostazione. Il punto indica che il computer è locale, pipe indica che la connessione è 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 essere in attesa su una pipe diversa, è necessario che il nome della pipe utilizzi tale pipe. Se ad esempio SQL Server utilizza \\.\pipe\unit\app come pipe, è necessario che l'alias utilizzi \\<computer_name>\pipe\unit\app come nome della pipe.

Per creare un nome di pipe valido, è necessario:

  • Specificare un Nome alias.
  • Selezionare Named pipes in Protocollo.
  • Immettere un valore in Nome pipe. In alternativa, è possibile lasciare vuoto il campo Nome pipe. Il nome appropriato verrà immesso automaticamente da Gestione configurazione SQL Server, dopo che sono stati specificati Protocollo e Server.
  • Specificare un Server. Per un'istanza denominata è possibile specificare un nome di server e un nome di istanza.

Al momento della connessione, il componente SQL Native Client leggerà i valori di server, protocollo e nome pipe dal Registro di sistema per il nome alias specificato e creerà un nome di pipe nel formato np:\\<computer_name>\pipe\<pipename> o np:\\<IPAddress>\pipe\<pipename>. Per un'istanza denominata, il nome di pipe predefinito è \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

[!NOTA] In Microsoft Windows XP Service Pack 2 è attivato Windows Firewall, che chiude la porta 445 per impostazione predefinita. Poiché Microsoft SQL Server comunica sulla porta 445, è necessario aprire nuovamente tale porta se SQL Server è configurato per l'attesa di connessioni client in arrivo mediante named pipe. Per informazioni sulla configurazione di un firewall, vedere "Procedura: Configurazione di un firewall per l’accesso a SQL Server" nella documentazione in linea di SQL Server oppure vedere la documentazione relativa al firewall.

Connessione al server locale

Quando si stabilisce una connessione a SQL Server in esecuzione nello stesso computer del client, è possibile utilizzare (local)****come nome del server. L'utilizzo di (local) non è consigliabile in quanto genera ambiguità, ma può risultare utile se si è sicuri che il client venga eseguito nel computer desiderato. Se, ad esempio, si crea un'applicazione per gli utenti mobili non connessi, ad esempio il personale di vendita, e SQL Server verrà eseguito su computer portatili e utilizzato per archiviare dati di progetto, un client che si connette al server (local) si connetterà sempre all'istanza di SQL Server in esecuzione sul portatile. In sostituzione di (local) è possibile utilizzare la parola localhost o un punto (.).

Verifica del 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;

Esempi

Connessione tramite il nome del server alla pipe predefinita:

Alias Name         <serveralias>
Pipe Name          <blank>
Protocol           Named Pipes
Server             <servername>

Connessione tramite indirizzo IP alla pipe predefinita:

Alias Name         <serveralias>
Pipe Name          <leave blank>
Protocol           Named Pipes
Server             <IPAddress>

Connessione tramite il nome del server a una pipe non predefinita:

Alias Name         <serveralias>
Pipe Name          \\<servername>\pipe\unit\app
Protocol           Named Pipes
Server             <servername>

Connessione tramite il nome del server a un'istanza denominata:

Alias Name         <serveralias>
Pipe Name          \\<servername>\pipe\MSSQL$<instancename>\SQL\query
Protocol           Named Pipes
Server             <servername>

Connessione al computer locale tramite localhost:

Alias Name         <serveralias>
Pipe Name          <blank>
Protocol           Named Pipes
Server             localhost

Connessione al computer locale tramite un punto:

Alias Name         <serveralias>
Pipe Name          <left blank>
Protocol           Named Pipes
Server             .

[!NOTA] Per specificare il protocollo di rete come parametro sqlcmd, vedere "Procedura: Connessione al Motore di database tramite sqlcmd.exe" nella documentazione in linea di SQL Server.

Vedere anche

Riferimento

Creazione di una stringa di connessione valida mediante il protocollo di memoria condivisa
Creazione di una stringa di connessione valida tramite TCP/IP
Creazione di una stringa di connessione valida tramite il protocollo VIA

Concetti

Scelta di un protocollo di rete

Guida in linea e informazioni

Assistenza su SQL Server 2005