Compartilhar via


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

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

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

  • Especificar um Nome de Alias.

  • Selecione Pipes Nomeados como o Protocolo.

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

  • Especificar 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 de 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 o SQL Server estiver configurado para escutar conexões de cliente de entrada usando pipes nomeados. Para obter informações sobre como configurar um firewall, confira "Como fazer: Configurar um Firewall para Acesso ao SQL Server" nos Manuais Online do SQL Server ou consulte a documentação do firewall.

Conectando-se ao servidor local

Ao se conectar ao SQL Server em execução no mesmo computador que o cliente, você pode usar (local)como o nome do servidor. O uso (local) não é incentivado porque leva à ambiguidade; no entanto, pode ser útil quando o cliente é conhecido por estar em execução no computador pretendido. Por exemplo, ao criar um aplicativo para usuários desconectados móveis, como uma força de vendas, em que o SQL Server será executado em computadores portáteis e armazenará dados do projeto, um cliente que se conecta (local) sempre se conectaria ao SQL Server em execução 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 pelo nome do servidor ao pipe padrão:

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

Conectando-se por endereço IP ao pipe padrão:

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

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

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 conectar-se ao mecanismo de banco de dados usando sqlcmd.exe" nos Manuais Online do SQL Server.

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