Creazione di una stringa di connessione valida tramite named pipe
A meno che non venga modificato dall'utente, quando l'istanza predefinita di Microsoft SQL Server ascolta il protocollo named pipe, viene usato \\.\pipe\sql\query
come nome della pipe. Il periodo indica che il computer è il computer locale, pipe
indica che la connessione è una pipe denominata ed 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 in una pipe diversa, il nome della pipe deve usare tale pipe. Ad esempio, se SQL Server usa \\.\pipe\unit\app
come pipe, l'alias deve usare \\<computer_name>\pipe\unit\app
come nome della pipe.
Per creare un nome di pipe valido, è necessario:
Specificare un Nome alias.
Selezionare Named Pipe come protocollo.
Immettere il nome della pipe. In alternativa, è possibile lasciare vuoto il nome della pipe 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 della connessione, il componente SQL Server Native Client legge i valori del nome server, del protocollo e della pipe dal Registro di sistema per il nome alias specificato e crea un nome della pipe nel formato np:\\<computer_name>\pipe\<pipename>
o np:\\<IPAddress>\pipe\<pipename>
. Per un'istanza denominata, il nome della pipe predefinito è \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query
.
Nota
Microsoft Windows Firewall chiude la porta 445 per impostazione predefinita. Poiché MicrosoftSQL Server comunica sulla porta 445, è necessario riaprire la porta se SQL Server è configurato per ascoltare le connessioni client in ingresso usando le pipe denominate. 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.
Connessione al server locale
Quando ci si connette a SQL Server in esecuzione nello stesso computer del client, è possibile usare (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 localhost
è possibile utilizzare la parola (local)
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;
Esempio
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: Connettersi al motore di database usando sqlcmd.exe" in SQL Server Books Online.
Vedere anche
Creazione di una stringa di connessione valida mediante il protocollo di memoria condivisa
Creazione di una stringa di connessione valida con TCP/IP
Scelta di un protocollo di rete