Création d'une chaîne de connexion valide à l'aide de canaux nommés

Sauf modification par l'utilisateur, lorsque l'instance par défaut de MicrosoftSQL Server est à l'écoute sur le protocole des canaux nommés, elle utilise \\.\pipe\sql\query comme nom de canal. Le point indique que l'ordinateur est l'ordinateur local, pipe indique que la connexion est un canal nommé et sql\query est le nom du canal. Pour définir la connexion au canal par défaut, l'alias doit avoir \\<computer_name>\pipe\sql\query comme nom de canal. Si SQL Server a été configuré de manière à être à l'écoute sur un autre canal, le nom de canal doit correspondre à ce canal. Par exemple, si SQL Server utilise \\.\pipe\unit\app comme canal, l'alias doit utiliser \\<computer_name>\pipe\unit\app comme nom de canal.

Pour créer un nom de canal valide, vous devez procéder comme suit :

  • Spécifiez un nom d'alias.

  • Sélectionnez Canaux nommés en tant que Protocole.

  • Entrez le Nom du canal. Vous pouvez également ne pas compléter le Nom du canal et le Gestionnaire de configuration SQL Server spécifiera le nom de canal approprié une fois que vous aurez spécifié le Protocole et le Serveur.

  • Spécifiez un Serveur. Pour une instance nommée, vous pouvez indiquer un nom de serveur et un nom d'instance.

Au moment de la connexion, le composant SQL Server Native Client lit dans le Registre les valeurs de serveur, protocole et nom de canal pour le nom d'alias spécifié et crée un nom de canal au format np:\\<computer_name>\pipe\<pipename> ou np:\\<IPAddress>\pipe\<pipename>.Pour une instance nommée, le nom de canal par défaut est \\<computer_name>\pipe\MSSQL$<instance_name>\sql\query.

[!REMARQUE]

Microsoft Windows XP Service Pack 2 prend en charge le pare-feu Windows, qui ferme le port 445 par défaut. Comme MicrosoftSQL Server communique par le biais du port 445, vous devez ouvrir de nouveau le port si SQL Server est configuré pour être à l'écoute des connexions clientes entrantes utilisant des canaux nommés. Pour plus d'informations sur la configuration d'un pare-feu, consultez « Procédure : configurer un pare-feu pour accéder à SQL Server » dans la documentation en ligne SQL Server ou passez en revue la documentation de votre pare-feu.

Connexion au serveur local

Lorsque vous vous connectez à SQL Server alors que celui-ci est exécuté sur le même ordinateur que l'ordinateur client, vous pouvez utiliser (local)comme nom de serveur. L'utilisation de (local) n'est pas conseillée dans la mesure où elle est source d'ambiguïté ; toutefois, elle peut s'avérer utile lorsqu'il est certain que le client s'exécute sur l'ordinateur prévu. Par exemple, lorsque vous créez une application destinée à des utilisateurs itinérants déconnectés, tels que des vendeurs, pour lesquels SQL Server s'exécute sur des ordinateurs portables et stocke les données de projet, un client établissant une connexion à (local) se connecte toujours à l'instance de SQL Server en cours d'exécution sur l'ordinateur portable. Vous pouvez utiliser le mot localhost ou un point (.) à la place de (local).

Vérification de votre protocole de connexion

La requête suivante renvoie le protocole utilisé pour la connexion actuelle.

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

Exemples

Connexion au canal par défaut à partir du nom de serveur :

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

Connexion au canal par défaut à partir de l'adresse IP :

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

Connexion à partir du nom de serveur à un canal autre que celui utilisé par défaut :

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

Connexion à une instance nommée à partir du nom de serveur :

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

Connexion à l'ordinateur local à l'aide du paramètre localhost :

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

Connexion à l'ordinateur local à l'aide d'un point :

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

[!REMARQUE]

Pour spécifier le protocole réseau en tant que paramètre sqlcmd, consultez « Procédure : se connecter au moteur de base de données à l'aide de sqlcmd.exe » dans la documentation en ligne de SQL Server.