42

我在 HostGator 上有一个网站,我自己有一个运行 SQL Server 2008R2 的专用服务器。我使用的连接字符串是 XXXX,1433,它指向我的专用服务器的 IP 地址。我已经在我的服务器上进行了防火墙设置,以便我可以使用 SSMS 并从我的家用 PC 登录到 SQL Server。

完成之后,我的印象是从我的 hostGator 托管站点连接到 SQL 就可以了。我收到以下错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:TCP 提供者,错误:0 - 试图以访问权限禁止的方式访问套接字。)

我查找了这个错误并找到了很多解释,但没有一个与我的情况有关。我的服务器正在运行带有 IIS 7.5 的 Windows 2008。HostGator 技术支持向我保证,他们不会有任何问题。]]

我的防火墙允许 SQL Server Browser 服务使用 TCP 端口 1433 和 UDP 端口 1434。

由于我有一台专用服务器,我没有人可以向我的托管公司提出这个问题。

4

11 回答 11

63

我在 Docker for Windows 和 Hyper-V 中遇到了类似的问题,它们保留了自己使用的端口——在我的情况下,它是3001无法访问的端口。

  • 该端口没有被另一个进程使用netstat -ano | findstr 3001——在管理员 Powershell 提示符下运行什么也没显示。
  • 但是,netsh interface ipv4 show excludedportrange protocol=tcp表明该端口处于排除范围之一。

我能够遵循 Docker for Windows 问题 #3171 中描述的解决方案(无法绑定端口:Docker-for-Windows & Hyper-V 不包括但不使用重要的端口范围):

  1. 禁用 Hyper-V:

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
    
  2. 在所需的重新启动后,保留您想要的端口,以便 Hyper-V 不会将其保留回来:

    netsh int ipv4 add excludedportrange protocol=tcp startport=3001 numberofports=1
    
  3. 重新启用 Hyper-V:

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
    

在此之后,我能够启动我的 docker 容器。

于 2019-12-03T21:14:26.147 回答
19

根据此链接

如果复制服务尝试使用被其他人或故障 NIC 占用的端口,则可能会出现此症状。请尝试以下步骤:

  1. 重启windows防火墙服务
  2. 重启有问题的机器
  3. 重新启动“TCP/IP 堆栈”。以管理员身份运行 CMD,键入“netsh int ip reset resetlog.txt”以重置 TCP/IP。
  4. 尝试暂时禁用防病毒软件。
于 2013-03-26T02:04:46.600 回答
16

只是Restart-Service hns可以改变Hyper-V占用的端口。它可能会释放您需要的端口。

于 2020-11-16T03:29:04.587 回答
8

毫不奇怪,当另一个进程正在侦听所需端口时,可能会出现此错误。今天发生了这种情况,当时我启动了一个 Apache Web 服务器实例,在其默认端口 (80) 上进行侦听,忘记了我已经运行 IIS 7,并在该端口上进行了侦听。这在SYSTEM (PID 4) 正在使用端口 80 中得到了很好的解释,那是什么?更好的是,那篇文章指出Stop http.sys from listener on port 80 in Windows ,这解释了一种非常简单的解决方法,只需从提升的命令提示符和我的主机文件的单行编辑中获得一点帮助.

于 2017-07-27T15:48:56.353 回答
3

我的 Windows 防火墙阻止了端口 8080,所以我将其更改为 5000 并且它工作!

于 2017-06-29T12:35:52.350 回答
2

根据https://stackoverflow.com/a/33859341/446250,为我的以太网适配器启用 Internet 连接共享最终导致了这个问题。禁用共享解决了问题

于 2017-12-12T03:37:00.453 回答
1

我的情况和解决方案:我创建并启用了 HyperV 以太网适配器。出于某种原因,我的主 Windows 机器使用的是“虚拟”以太网适配器而不是“硬件”适配器。

我禁用了虚拟以太网,并显示了我的网络设置以更改网络公共/隐私设置。

于 2019-10-14T21:35:21.087 回答
0

没有什么对我有用。Grep 找不到罪魁祸首。重置 TCP / IP 或防火墙也没有做任何事情。以下命令解决了它:

net stop http
于 2021-11-03T09:06:36.463 回答
0

对于收到此错误但原因略有不同的其他人,您可以执行以下操作进行故障排除。通过右键单击并选择以管理员身份运行来打开文本编辑器。打开 C:\Program Files\pgAdmin 4\v4\web\pgAdmin4.py 并添加一行代码,没有其他任何内容。输出将截然不同且很有帮助。您可以在系统托盘 > pgAdmin > 查看日志中找到错误。

import traceback # <--- add this line too.
try:
    app.run(
        host=config.DEFAULT_SERVER,
        port=config.EFFECTIVE_SERVER_PORT,
        use_reloader=(
            (not app.PGADMIN_RUNTIME) and app.debug and
            os.environ.get("WERKZEUG_RUN_MAIN") is not None
        ),
        threaded=config.THREADED_MODE
    )

except IOError:
    #app.logger.error("Error starting the app server: %s", sys.exc_info())
    app.logger.error("Error starting the app server: %s", traceback.format_exc()) # <--- add this line!  

而不是这个:

ERROR flask.app: Error starting the app server: (<class 'OSError'>, OSError(10013, 'An attempt was made to access a socket in a way forbidden by its access permissions', None, 10013, None),

你会得到这个:

2021-03-01 11:38:33,817: ERROR  flask.app:  Error starting the app server: (<class 'OSError'>, OSError(10013, 'An attempt was made to access a socket in a way forbidden by its access permissions', None, 10013, None), <traceback object at 0x00000279EF74A3C0>)
Traceback (most recent call last):
  File "C:/Program Files/pgAdmin 4/v4/web/pgAdmin4.py", line 210, in main
    app.run(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\flask\app.py", line 943, in run
    run_simple(host, port, self, **options)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 1052, in run_simple
    inner()
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 996, in inner
    srv = make_server(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 847, in make_server
    return ThreadedWSGIServer(
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib/site-packages\werkzeug\serving.py", line 740, in __init__
    HTTPServer.__init__(self, server_address, handler)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\socketserver.py", line 452, in __init__
    self.server_bind()
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\http\server.py", line 138, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "C:/Program Files/pgAdmin 4/v4/venv/Lib\socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
于 2021-03-01T17:59:36.230 回答
0

通过关闭防火墙中的环回地址过滤,我能够解决本地 Analysis Services 实例上的相同错误消息。

于 2021-03-02T22:14:22.820 回答
0

如果您需要使用 SSMS 远程访问 hostgator 上的 SQL 服务器,则需要在 hostgator 中将您的 IP 列入白名单。通常需要 1 小时才能打开白名单 IP 的端口

于 2016-10-25T10:43:55.870 回答