Udostępnij za pośrednictwem


Creating a Valid Connection String Using Named Pipes

Unless changed by the user, when the default instance of Microsoft SQL Server listens on the named pipes protocol, it uses \\. \pipe\sql\query as the pipe name.The period indicates that the computer is the local computer, pipe indicates that the connection is a named pipe, and sql\query is the name of the pipe.Aby połączyć się z potoku domyślne, musi być alias \\<computer_name>\pipe\sql\query jako nazwa potoku. Jeśli SQL Server został skonfigurowany do nasłuchu na różnych potoku, Nazwa potoku muszą używać tego potoku. Dla wystąpienie, jeśli SQL Server używa \\. \pipe\unit\app as the pipe, the alias must use \\<computer_name>\pipe\unit\app as the pipe name.

Aby utworzyć nazwę prawidłowego potoku, należy:

  • Określ Nazwa alias.

  • Wybierz opcję Nazwane potoki as the Protokół.

  • Wprowadź Nazwa potoku.Alternatywnie można pozostawić Nazwa potoku puste i SQL Server Po określeniu Menedżer konfiguracja zostanie ukończona nazwy potoku odpowiednie Protokół and Serwer

  • Określ Serwer.Dla nazwanego wystąpienie można wprowadzać nazwa serwera i nazwa obiektu.

W czasie połączenia SQL Server Macierzysty składnik klient odczytuje serwer, protokół i wartości nazwy potoku z rejestru dla określonego alias i tworzy nazwy potoku w formacie np:\\<computer_name>\pipe\<pipename> lub np:\\<IPAddress>\pipe\<pipename>. Domyślna nazwa potoku nazwanego wystąpienie jest \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

Uwaga

Microsoft System Windows XP Z dodatkiem usługa Pack 2 Włącza Zaporę systemu Windows, która zamyka porcie 445 przez domyślną.Because Microsoft SQL Server communicates over port 445, you must reopen the port if SQL Server is configured to listen for incoming client connections using named pipes.Aby uzyskać informacje na temat konfigurowania zapory, zobacz temat "How to: Konfigurowanie zapory dla programu SQL Server w programie Access"wSQL Server Książki online lub przejrzyj dokumentację zapory.

Łączenie się z lokalnym serwerem

When connecting to SQL Server running on the same computer as the client, you can use (local)as the server name.Za pomocą (local) nie zaleca się, ponieważ prowadzi niejednoznaczności; jednak może być użyteczne wówczas, gdy klient jest znany będzie uruchomiona na komputerze zamierzone. Na przykład, podczas tworzenia aplikacji dla mobilnych użytkowników odłączona, takich jak dział sprzedaży, gdzie SQL Server będzie działać na komputerach typu laptop i projektu magazynu danych, klient nawiązywanie połączenia (lokalny) zawsze będzie łączyć się z SQL Server uruchomiony na komputerze typu laptop. Wyraz localhost lub kropki (.) można używać zamiast (local).

Weryfikowanie Twoje połączenie protokół

Następująca kwerenda będzie zwracać protokół używany dla bieżącego połączenia.

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

Przykłady

Łączenie się poprzez nazwa serwera do potoku domyślne:

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

Łączenie się za pomocą adresu IP do potoku domyślne:

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

Łączenie się według nazw serwerów do potoku innych niż domyślne:

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

Łączenie się przez nazwa serwera, aby wystąpienie nazwane:

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

Nawiązywanie połączenia przy użyciu komputera lokalnego localhost:

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

Podłączanie do komputera lokalnego przy użyciu okres:

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

Uwaga

Aby określić protokół sieciowy jako SQLCMD parametr, zobacz temat "How to: Podłączenie aparat bazy danych za pomocą sqlcmd.exe"SQL Server Książki online.