Erstellen einer gültigen Verbindungszeichenfolge mithilfe von Named Pipes

Beim Überwachen des Named Pipes-Protokolls durch die Standardinstanz von MicrosoftSQL Server wird \\.\pipe\sql\query als Pipe verwendet, solange dies nicht durch den Benutzer geändert wird. Der Punkt gibt an, dass der Computer der lokale Computer ist, pipe gibt an, dass die Verbindung eine Named Pipe ist, und sql\query ist der Name der Pipe. Zum Herstellen einer Verbindung mit der Standardpipe muss der Alias \\<computer_name>\pipe\sql\query als Pipename aufweisen. Wenn SQL Server zum Überwachen auf einer anderen Pipe konfiguriert worden ist, muss vom Pipenamen diese Pipe verwendet werden. Wenn beispielsweise SQL Server als Pipe \\.\pipe\unit\app verwendet, muss der Alias als Pipenamen \\<computer_name>\pipe\unit\app verwenden.

Gehen Sie wie folgt vor, um einen gültigen Pipenamen zu erstellen:

  • Geben Sie einen Aliasnamen an.

  • Wählen Sie Named Pipes als Protokoll aus.

  • Geben Sie den Pipenamen ein. Sie können das Feld Pipename auch leer lassen. Der SQL Server-Konfigurations-Manager wird den entsprechenden Pipenamen vervollständigen, nachdem Sie das Protokoll und den Server angegeben haben.

  • Geben Sie einen Server an. Sie können für eine benannte Instanz einen Servernamen und Instanznamen angeben.

Während der Verbindung werden von der SQL Server Native Client-Komponente die Werte für den Server, das Protokoll und den Pipenamen aus der Registrierung für den angegebenen Aliasnamen gelesen und ein Pipename im Format np:\\<computer_name>\pipe\<pipename> oder np:\\<IPAddress>\pipe\<pipename> erstellt.Für eine benannte Instanz lautet der Standardpipename \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

HinweisHinweis

Von Microsoft Windows XP Service Pack 2 wird die Windows-Firewall aktiviert, die den Port 445 standardmäßig schließt. Da MicrosoftSQL Server über den Port 445 kommuniziert, müssen Sie diesen Port erneut öffnen, falls SQL Server zum Überwachen von eingehenden Clientverbindungen mithilfe von Named Pipes konfiguriert wurde. Informationen zum Konfigurieren einer Firewall finden Sie unter "Vorgehensweise: Konfigurieren einer Firewall für SQL Server-Zugriff" in der SQL Server-Onlinedokumentation, oder prüfen Sie Ihre Firewalldokumentation.

Herstellen einer Verbindung mit dem lokalen Server

Beim Herstellen einer Verbindung zu SQL Server, das auf dem gleichen Computer wie der Client ausgeführt wird, können Sie (local) als Servernamen verwenden. Aus Gründen der Mehrdeutigkeit wird das Verwenden von (local) nicht empfohlen, kann aber nützlich sein, wenn vom Client bekannt ist, dass er auf dem vorgesehenen Computer ausgeführt wird. Beim Erstellen einer Anwendung für mobile Benutzer mit getrennter Verbindung (beispielsweise für Verkaufspersonal, wobei SQL Server auf Laptops ausgeführt und zum Speichern von Projektdaten verwendet wird) würde beispielsweise die Verbindung eines Clients zu (local) immer zu dem auf dem Laptop ausgeführten SQL Server hergestellt. Anstelle von (local) kann das Wort localhost oder ein Punkt (.) verwendet werden.

Überprüfen des Verbindungsprotokolls

Von der folgenden Abfrage wird das Protokoll zurückgegeben, das für die aktuelle Verbindung verwendet wird.

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

Beispiele

Verbindung mit Servernamen zur Standardpipe:

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

Verbindung mit IP-Adresse zur Standardpipe:

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

Verbindung mit Servernamen zu einer Nichtstandardpipe:

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

Verbindung mit Servernamen zu einer benannten Instanz:

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

Verbindung zum lokalen Computer mithilfe von localhost:

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

Verbindung zum lokalen Computer mithilfe eines Punkts:

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

Informationen zum Angeben eines Netzwerkprotokolls als sqlcmd-Parameter finden Sie unter "Vorgehensweise: Herstellen einer Verbindung zum Datenbankmodul mithilfe von sqlcmd.exe" in der SQL Server-Onlinedokumentation.