【问题标题】:How to check Port 1433 is working for Sql Server or not?如何检查端口 1433 是否适用于 Sql Server?
【发布时间】:2016-08-31 07:01:06
【问题描述】:

如何检查 1433 端口是否对 Sql Server 开放?我已经设置了入站和出站规则,在 SQL 配置管理器中进行了检查,但不确定它是否有效。

【问题讨论】:

标签: sql-server


【解决方案1】:

如果安装了 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"

【讨论】:

    【解决方案2】:

    如果服务器使用 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 编写的,但我认为这方面没有太大变化,如果有的话。

    【讨论】:

    • @Neeraj 我得到 Failed to open loopback connection 错误
    • @Sprezlaus 是的,这正是我想要的
    • 我的 telnet myservername 1433 出现 cmd 错误。我无法 telnet。为什么?
    • @LittleBirdy,如果您已验证 SQL Server 服务正在运行并在 SQL Server 错误日志中看到端口 1433 侦听消息,则必须是网络连接。除了 Windows 防火墙之外,可能还有另一个防火墙。
    • @Dan Guzman,我无法远程登录,因为我还没有安装它。有趣...除了防火墙还有什么可能阻止的?可以解释一下吗?
    【解决方案3】:

    你可能希望它打开,因为你在问。我为此找到的最省时的一张图片在这里:

    这是对这个问题的推断答案,有点元,但在我看来是最重要的。

    【讨论】:

    • 在 SQL Server 2019 的标准安装中我缺少此配置,IPAll 的 TCP 端口为空。在我将其设置为 1433 后一切正常,谢谢!
    【解决方案4】:

    您可以安装Netstat 或使用命令提示符

    netstat -abn
    

    查看正在使用的端口。

    您也可以使用this method from rackspace 远程连接到您的服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 2011-01-10
      相关资源
      最近更新 更多