Sql server 试图以其访问权限所禁止的方式访问套接字

Sql server 试图以其访问权限所禁止的方式访问套接字,sql-server,sql-server-2008,sockets,tcp,Sql Server,Sql Server 2008,Sockets,Tcp,我在HostGator上有一个网站,还有一台运行SQL server 2008R2的专用服务器。 我使用的连接字符串是X.X.X.X,1433,它指向我的专用服务器的IP地址。 我已经在我的服务器上设置了防火墙,这样我就可以使用SSMS并从家用电脑登录SQL server 这样做之后,我的印象是从hostGator托管的站点连接到SQL会很好。 我收到以下错误: 建立数据库时发生与网络相关或特定于实例的错误 连接到SQL Server。找不到服务器或无法访问服务器。 验证实例名称是否正确,以及S

我在HostGator上有一个网站,还有一台运行SQL server 2008R2的专用服务器。 我使用的连接字符串是X.X.X.X,1433,它指向我的专用服务器的IP地址。 我已经在我的服务器上设置了防火墙,这样我就可以使用SSMS并从家用电脑登录SQL server

这样做之后,我的印象是从hostGator托管的站点连接到SQL会很好。 我收到以下错误:

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

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

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

因为我有一台专用服务器,所以我没有人可以向我的托管公司询问这个问题。

根据此:

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

  • 重新启动windows防火墙服务
  • 重新启动有问题的机器
  • 重新启动“TCP/IP堆栈”。以管理员身份运行CMD,键入“netsh int ip reset resetlog.txt”重置TCP/ip
  • 尝试暂时禁用防病毒

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

    我的windows防火墙阻止了8080端口,所以我把它改成了5000,它成功了

    毫不奇怪,当另一个进程正在侦听所需端口时,可能会出现此错误。今天,当我启动ApacheWeb服务器的一个实例,在其默认端口(80)上侦听时,就发生了这种情况,我忘记了我已经在运行IIS7,并在该端口上侦听。这一点在那篇文章所指的Better Yout中得到了很好的解释,它解释了一种非常简单的解决方法,只需从提升的命令提示符和对我的主机文件的一行编辑中获得一点帮助。

    根据,为我的以太网适配器启用internet连接共享最终导致了这个问题。禁用共享修复了问题

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


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

    我对Docker for Windows和Hyper-V有一个类似的问题,它们保留了供自己使用的端口-在我的例子中,无法访问的是端口
    3001

    • 该端口未被另一个进程使用-在管理员Powershell提示符中运行的
      netstat-ano | findstr 3001
      未显示任何内容
    • 但是,
      netsh interface ipv4 show excludedportrange protocol=tcp
      显示端口处于排除范围之一
    我能够遵循Docker for Windows issue#3171()中描述的解决方案:

  • 禁用Hyper-V:

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

    netsh int ipv4 add excludedportrange protocol=tcp startport=3001 numberofports=1
    
  • 可重入Hyper-V:

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

  • 在此之后,我可以启动docker容器。

    只需重新启动服务hns即可通过Hyper-V更改端口占用者。它可能会释放您所需的端口。

    对于出现此错误但原因稍有不同的其他人,您可以执行以下操作进行故障排除。通过右键单击并选择“以管理员身份运行”打开文本编辑器。打开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!  
    

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

    抱歉延迟响应@Jason…找到此链接:support.microsoft.com/kb/968872?wa=wsignin1.0,并使用附带的说明重新进行防火墙设置在我的服务器上。现在,谢天谢地,它起作用了!默认情况下,McAfee antivirus会阻止端口25,“以防止群发邮件攻击”。Bitdefender还会在中阻止该端口question@RugerSR9; 你是对的。我不得不将Databasemail.exe(用于SQL Server 2016)添加到排除列表中,以使邮件发送出去。谢谢你的发帖。谢谢你,伙计。对我来说,只运行第3步并重新启动我的机器是可行的。如果您使用Hyper-v并启用了Hyper-v网桥,这也适用。请注意,禁用网桥后需要重新启动。我在尝试通过dotnet run命令启动本地主机站点时遇到“…套接字…禁止…”错误。事实证明,我只是忘记了VisualStudio中已经有一个我忘记的“不调试启动”会话。对我来说,我更改了应用程序中用于承载web服务器的端口。我的应用程序使用一个自定义端口8000来承载web服务器。我把它改成了8081,它又开始工作了。我不知道突然出现了什么问题,因此我开始面临此错误。您可以通过进入系统托盘>PgAdmin>配置>运行时选项卡>固定端口号和端口来手动设置端口。理想情况下,此端口应设置为在