Partilhar via


Criando uma cadeia de conexão válida usando pipes nomeados

A menos que seja alterado pelo usuário, quando a instância padrão do Microsoft SQL Server escuta no protocolo pipes nomeado, ele usa \\.\pipe\sql\query como o nome do pipe. O ponto indica que o computador é local, pipe indica que a conexão é um pipe nomeado e sql\query é o nome do pipe. Para conectar ao pipe padrão, o alias deve ter \\<computer_name>\pipe\sql\query como nome do pipe. Se SQL Server tiver sido configurado para escutar em um pipe diferente, o nome do pipe deverá usar esse pipe. Por exemplo, se SQL Server estiver usando \\.\pipe\unit\app como pipe, o alias deverá usar \\<computer_name>\pipe\unit\app como o nome do pipe.

Para criar um nome de pipe válido, deve você:

  • Especificar um Nome de Alias.

  • Selecione Pipes Nomeados como o Protocolo.

  • Insira o Nome do Pipe. Como alternativa, você pode deixar o Nome do Pipe em branco e SQL Server Configuration Manager concluirá o nome do pipe apropriado depois de especificar o Protocolo e o Servidor

  • Especifique um servidor. Para uma instância nomeada, você pode fornecer um nome de servidor e um nome de instância.

No momento da conexão, o componente SQL Server Native Client lê os valores de servidor, protocolo e nome do pipe do registro para o nome do alias especificado e cria um nome de pipe no formato np:\\<computer_name>\pipe\<pipename> ou np:\\<IPAddress>\pipe\<pipename>. Para uma instância nomeada, o nome do pipe padrão é \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

Observação

O Firewall do Microsoft Windows fecha a porta 445 por padrão. Como o MicrosoftSQL Server se comunica pela porta 445, você deve reabrir a porta se SQL Server estiver configurado para escutar conexões de cliente de entrada usando pipes nomeados. Para obter informações sobre como configurar um firewall, consulte "Como Configurar um Firewall para Acessar o SQL Server" nos Manuais Online do SQL Server, ou verifique a documentação do firewall.

Conectando-se ao servidor local

Ao se conectar a SQL Server em execução no mesmo computador que o cliente, você pode usar (local)como o nome do servidor. O uso de (local) não é incentivado, pois leva a ambiguidade; no entanto, ele pode ser útil quando se sabe que o cliente está sendo executado no computador pretendido. Por exemplo, ao criar um aplicativo para usuários móveis desconectados, como uma força de vendas, em que o SQL Server será executado em computadores laptop e armazenará dados de projeto, um cliente conectado a (local) sempre se conectaria ao SQL Server executado no laptop. A palavra localhost ou um ponto (.) pode ser usado no lugar de (local).

Verificando seu protocolo de conexão

A consulta a seguir retornará o protocolo usado para a conexão atual.

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

Exemplos

Conectando-se ao pipe padrão pelo nome do servidor:

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

Conectando-se ao pipe padrão pelo Endereço IP:

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

Conectando-se ao pipe não padrão pelo nome do servidor:

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

Conectando-se a uma instância nomeada pelo nome do servidor:

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

Conectando-se ao computador local usando localhost:

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

Conectando-se ao computador local usando um ponto:

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

Observação

Para especificar o protocolo de rede como um parâmetro sqlcmd, consulte "Como se conectar ao mecanismo de banco de dados usando sqlcmd.exe" nos SQL Server Manuais Online.

Consulte Também

Criando uma cadeia de conexão válida usando o protocolo de memória compartilhada
Criando uma cadeia de conexão válida usando TCP/IP
Escolhendo um protocolo de rede