您的位置:首页 > 其它

使用 Named Pipes 创建有效的连接字符串

2010-12-05 15:21 323 查看

使用 Named Pipes 创建有效的连接字符串

SQL Server 2008

SQL Server 2005

默认 Microsoft SQL Server 实例侦听“named pipes”协议时,除非用户进行了更改,否则将使用
//./pipe/sql/query
作为管道名称。句点指示该计算机是本地计算机,
pipe
指示该连接是命名管道,
sql/query
为管道名称。若要连接到默认管道,别名必须使用
//<computer_name>/pipe/sql/query
作为管道名称。如果已将 SQL Server 配置为侦听其他管道,则管道名称必须使用该管道。例如,如果 SQL Server 使用
//./pipe/unit/app
作为管道,则别名必须使用
//<computer_name>/pipe/unit/app
作为管道名称。

若要创建一个有效的管道名称,必须执行以下操作:

指定“别名”

选择“命名管道”作为“协议”

输入“管道名称”。或者,将“管道名称”留空,在您指定了“协议”“服务器”后,SQL Server 配置管理器将会填入适当的管道名称。

指定“服务器”。对于命名实例,可以提供服务器名称和实例名称。

连接时,SQL Server Native Client 组件将从指定别名的注册表中读取服务器、协议和管道名称的值,然后创建一个格式为
np://<computer_name>/pipe/<pipename>
np://<IPAddress>/pipe/<pipename>
的管道名称。对于命名实例,默认的管道名称为
//<computer_name>/pipe/MSSQL$<instance_name>/sql/query



注意:
默认情况下,Microsoft Windows XP Service Pack 2 将启用 Windows 防火墙,这将默认关闭端口 445。因为 Microsoft SQL Server 通过端口 445 进行通信,因此,如果将 SQL Server 配置为使用命名管道侦听传入客户端连接,则必须重新打开该端口。有关配置防火墙的信息,请参阅 SQL Server 联机丛书中的“如何将防火墙配置为允许 SQL Server 访问”,或者查阅防火墙文档。

连接到本地服务器

当连接与客户端运行在同一台计算机上的 SQL Server 时,可以使用
(local)
作为服务器名称。由于上述方法不明确,因此不建议使用
(local)
,但是当客户端运行在已知的计算机上时,该方法还是有用的。例如,当为断开连接的移动用户(如销售人员,其 SQL Server 将运行在便携式计算机上并存储相应的项目数据)创建应用程序时,连接到 (local) 的客户端就可以始终与运行在便携式计算机上的 SQL Server 保持连接。可以使用词语
localhost
或句点 (.) 来取代
(local)


验证连接协议

以下查询将返回当前连接所使用的协议。

复制

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


示例

通过服务器名称连接到默认管道:

复制

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


通过 IP 地址连接到默认管道:

复制

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


通过服务器名称连接到非默认管道:

复制

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


通过服务器名称连接到已命名的实例:

复制

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


使用
localhost
连接到本地计算机:

复制

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


使用句点连接到本地计算机:

复制

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



注意:
若要以 sqlcmd 参数形式指定网络协议,请参阅 SQL Server 联机丛书中的“如何使用 sqlcmd.exe 连接到数据库引擎”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐