若要使用 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 防火墙Microsoft关闭端口 1433。 由于 MicrosoftSQL Server 通过端口 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;
例子
通过服务器名称进行连接:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <servername>
通过服务器名称连接到已命名的实例:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <servername>\<instancename>
通过服务器名称连接到指定的端口:
Alias Name <serveralias>
Port No <port>
Protocol TCP/IP
Server <servername>
通过 IP 地址进行连接:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <IPAddress>
通过 IP 地址连接到命名实例:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server <IPAddress>\<instancename>
通过 IP 地址连接到指定的端口:
Alias Name <serveralias>
Port No <port number>
Protocol TCP/IP
Server <IPAddress>
使用 (local)
连接到本地计算机:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server (local)
使用 localhost
连接到本地计算机:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server localhost
连接到本地计算机 localhost
上的命名实例:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server localhost\<instancename>
使用句点连接到本地计算机:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server .
使用句点连接到本地计算机上的命名实例:
Alias Name <serveralias>
Port No <blank>
Protocol TCP/IP
Server .\<instancename>
注释
有关将网络协议指定为 sqlcmd 参数的信息,请参阅 SQL Server 联机丛书中的“如何:使用 sqlcmd.exe连接到数据库引擎”。