使用 VIA 协议创建有效的连接字符串

若要使用**“虚拟接口适配器”**(VIA) 创建有效连接字符串,您必须提供下列所有元素:

  • 指定**“别名”**。

  • 在**“VIA 参数”**框中,提供网络接口卡 (NIC) 编号,后跟端口号。如果保留空白,则 VIA 将尝试连接到端口 <NIC#>:1433。

  • 将**“VIA”指定为“协议”**。

  • 在**“服务器”字段中,输入命名实例的服务器名称或“<servername>\<instancename>”**。

连接时,SQL Server Native Client 组件将从指定**“别名”的注册表中读取“服务器”“协议”“VIA 参数”**值,然后创建一个格式为 via:<servername> [\instancename],<nic number>:<port> 的连接字符串。

重要说明重要提示

如果同一计算机上安装有两个或多个 Microsoft SQL Server 实例,则 VIA 连接可能会不明确。VIA 协议启用后,将尝试使用 TCP/IP 设置,并侦听端口 0:1433。对于不允许配置端口的 VIA 驱动程序,两个 SQL Server 实例均将侦听同一端口。传入的客户端连接可能是到正确服务器实例的连接,也可能是到不正确服务器实例的连接,还有可能由于端口正在使用而被拒绝连接。

重要说明重要提示

不推荐使用 VIA 协议。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

验证连接协议

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

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

示例:

通过服务器名称进行连接:

Alias Name         ServerAlias
Via Parameters     0:1433
Protocol           VIA
Server             <servername>

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

Alias Name         ServerAlias
Via Parameters     0:1433
Protocol           VIA
Server             <servername>\<instancename>
注意注意

若要以 sqlcmd 参数形式指定网络协议,请在联机丛书中搜索主题“如何使用 sqlcmd.exe 连接到数据库引擎”。