使用 TCP/IP 创建有效的连接字符串

适用于:SQL Server - 仅限 Windows

若要使用 TCP/IP 来创建有效的连接字符串,必须执行以下操作:

  • 指定 “别名”

  • 在“服务器”框中,输入可以使用“ping”实用工具连接到的服务器名称或可以使用“ping”实用工具连接到的 IP 地址。 对于命名实例,请追加实例名称。

  • “协议” 框中指定 TCP/IP

  • “端口号” 框中输入端口号(可选)。 默认端口号为 1433,这是服务器上的数据库引擎默认实例的端口号。 若要连接到命名实例或未侦听端口 1433 的默认实例,则必须提供端口号,或者启动 SQL Server Browser 服务。 有关配置 SQL Server Browser 服务的信息,请参阅 SQL Server Browser 服务

连接时,SQL Server Native Client 组件将从指定别名的注册表中读取服务器、协议和端口的值,然后创建一个格式为 tcp:<servername>[\<instancename>],<port>tcp:<IPAddress>[\<instancename>],<port> 的连接字符串。

注意

默认情况下, Windows 防火墙关闭端口 1433。 由于 SQL Serverr 通过端口 1433 进行通信,因此,如果你将 SQL Server 配置为使用 TCP/IP 侦听传入客户端连接,则必须重新打开该端口。 有关配置防火墙的信息,请参阅 SQL Server 联机丛书中的“如何将防火墙配置为允许 SQL Server 访问”,或者查阅防火墙文档。

SQL Server 和 SQL Server Native Client 完全支持 Internet 协议版本 4 (IPv4) 和 Internet 协议版本 6 (IPv6)。 SQL Server 配置管理器接受 IPv4 和 IPv6 格式的 IP 地址。 有关 IPv6 的信息,请参阅 SQL Server 联机丛书中的“使用 IPv6 进行连接”。

连接到本地服务器

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

验证连接协议

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

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

示例

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

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 <servername>

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

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 <servername>\<instancename>

通过服务器名称连接到指定的端口:

设置 “值”
别名 <serveralias>
端口号 <port>
协议 TCP/IP
服务器 <servername>

通过 IP 地址进行连接:

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 <IPAddress>

通过 IP 地址连接到命名实例:

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 <IPAddress>\<instancename>

通过 IP 地址连接到指定的端口:

设置 “值”
别名 <serveralias>
端口号 <port number>
协议 TCP/IP
服务器 <IPAddress>

使用 (local)连接到本地计算机:

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 (local)

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

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 localhost

连接到本地计算机 localhost上的命名实例:

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 localhost\<instancename>

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

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 .

使用句点连接到本地计算机上的命名实例:

设置 “值”
别名 <serveralias>
端口号 <blank>
协议 TCP/IP
服务器 .\<instancename>

注意

若要了解如何将网络协议指定为“sqlcmd”参数的信息,请参阅 sqlcmd - 连接到数据库引擎

另请参阅