【发布时间】:2016-08-31 07:01:06
【问题描述】:
如何检查 1433 端口是否对 Sql Server 开放?我已经设置了入站和出站规则,在 SQL 配置管理器中进行了检查,但不确定它是否有效。
【问题讨论】:
标签: sql-server
如何检查 1433 端口是否对 Sql Server 开放?我已经设置了入站和出站规则,在 SQL 配置管理器中进行了检查,但不确定它是否有效。
【问题讨论】:
标签: sql-server
如果安装了 TELNET,您可以使用TELNET 1433 来验证端口连接。否则,下面的 PowerShell 命令可以使用 .NET TcpClient 完成这项工作:
$server="yourserver"; $port=1433; echo ((new-object Net.Sockets.TcpClient).Connect($server,$port)) "$server is listening on TCP port $port";
较新版本的 PowerShell 包含一个 Test-NetConnection cmdlet,以方便测试 ICMP 和端口连接。从 Windows 命令提示符调用示例:
powershell -Command "Test-NetConnection -ComputerName 'yourserver' -Port 1433"
【讨论】:
如果服务器使用 TCP/IP,那么简单的方法是直接 telnet 到 SQL Server 端口并查看它是否连接。默认情况下,这是端口 1433,所以这应该可以工作:
telnet servername 1433
这在大多数情况下可能是合适的。
如果它使用不同的端口或动态端口(与命名实例通用),那么您需要确定它当前正在侦听的端口。检查 SQL Server 配置管理器以查看它是特定端口还是动态端口。如果它使用动态端口,那么只要您在服务器上没有多个实例,netstat -abn 可能是查找它正在使用的最简单的方法。否则,请在 Windows 事件日志或 SQL Server 错误日志中挖掘指示实例正在使用哪个端口的消息。
如果 SQL Server 使用命名管道,那么我相信如果您能够访问计算机上的共享,那么您就有足够的网络连接。 This article 表示您可以进一步尝试连接到 IPC$ 共享:
net use \\servername\IPC$
这是为 SQL Server 2000 编写的,但我认为这方面没有太大变化,如果有的话。
【讨论】:
【讨论】: