gpt4 book ai didi

sql - 无法连接到远程SQL Server

转载 作者:行者123 更新时间:2023-12-02 21:30:04 26 4
gpt4 key购买 nike

我的一个客户给了我一个服务器名称,该服务器名称是完全合格的[servername].somedomain.net尝试通过VPN连接到其SQL Server实例。

因此,我尝试使用他们给我的用户名和密码。没有运气。我可以ping但不能连接,我收到用户名和密码不正确的错误。

因此,我登录到实际的服务器,确认我的登录名是安全的并且具有权限,并且显示在此处。 Workgroup\mylogin,看来workgroup\实际上与somedomain.net\mylogin相同。因为当我尝试添加somedomain.net\mylogin时,只能诉说它已经添加了workgroup\mylogin

不知道在这里还要检查什么。我给自己在SQL Server中的sysadmin角色。我可以ping服务器的IP。

我研究了他们如何对我进行身份验证,并且他们将我的用户设置为使用Windows Auth在SQL Server中。好吧,我得到的错误是,当我尝试在Management Studio中本地连接时,当尝试使用Windows身份验证时,它不能信任跨域。我已经连接到他们的VPN,这可能是什么问题?

他们暂时不可用,无法对其进行故障排除,我很好奇如果可以的话,我还可以尝试自己尝试解决什么问题。

最佳答案

基本上,当您无法连接到SQL Server时,问题可能是:

  • 网络问题
  • SQL Server配置问题。
  • 防火墙问题
  • 客户端驱动程序问题
  • 应用程序配置问题。
  • 身份验证和登录问题。

  • 步骤1:网络问题

    您可能可以在没有可用网络的情况下进行本地连接,但这是一种特殊情况。对于远程连接,需要稳定的网络。解决SQL连接问题的第一件事是确保我们所依赖的网络可行且稳定。请运行以下命令:

    ping -a(对于IPv4和IPv6,请分别使用-4和-6)
    ping -a
    nslookup(多次键入您的本地和远程计算机名称和IP地址)

    请小心,以防返回结果不匹配。如果您无法ping通您的目标计算机,则很有可能网络中断或目标计算机未运行。不过,目标计算机可能位于防火墙后面,并且防火墙阻止了通过ping发送的数据包。 Windows防火墙默认情况下不会阻止ping(ECHO)数据包。网络上DNS配置的正确性对于SQL连接至关重要。错误的DNS输入可能导致以后出现各种连接问题。请参阅此链接,例如,“无法生成SSPI上下文”错误消息,中毒的DNS。

    步骤2:SQL Server配置问题

    您需要确保目标SQL Server正在运行并且正在监听适当的协议(protocol)。您可以使用SQL Server配置管理器(SCM)在服务器计算机上启用协议(protocol)。 SQL Server支持共享内存,命名管道和TCP协议(protocol)(以及需要特殊硬件且很少使用的VIA)。对于远程连接,必须启用NP和/或TCP协议(protocol)。在SCM中启用协议(protocol)后,请确保重新启动SQL Server。

    您可以打开错误日志文件,以查看服务器是否在任何协议(protocol)上成功监听。错误日志文件的位置通常在以下位置:
    %ProgramFile%Microsoft SQL Server/MSSQLxx.xxx/MSSQL/Log
    如果目标SQL实例是命名实例,则还需要确保SQL Browser在目标计算机上运行。如果您无法访问远程SQL Server,请询问您的管理员以确保所有这些情况都发生了。

    步骤3:防火墙问题

    SQL Server计算机上(或客户端和服务器之间的任何位置)的防火墙可能会阻止SQL连接请求。隔离这是否是防火墙问题的一种简单方法是,如果可以的话,请关闭防火墙一小段时间。长期解决方案是为SQL Server和SQL Browser设置异常(exception)。

    对于NP协议(protocol),请确保文件共享位于防火墙异常(exception)列表中。文件共享和NP都在下面使用SMB协议(protocol)。
    对于TCP协议(protocol),需要将SQL Server监听的TCP端口置于异常(exception)状态。
    对于SQL Browser,请将UDP端口1434置于异常(exception)状态。
    同时,您也可以将sqlservr.exe和sqlbrowser.exe置于异常中,但是不建议这样做。我们不信任的机器之间的IPSec也可能会阻止某些数据包。请注意,防火墙永远不会成为本地连接的问题。

    步骤4:客户端驱动程序问题

    在此阶段,您可以使用一些工具测试连接。当然,必须在客户端计算机上进行测试。

    第一次尝试:
    远程登录
    如果启用了TCP,则应该能够远程登录到SQL Server TCP端口。否则,请返回检查步骤1-3。然后,使用OSQL,SQLCMD和SQL Management Studio来测试sql连接。如果您没有这些工具,请从Microsoft下载SQL Express,您可以免费获得这些工具。

    OSQL(SQL Server 2000附带的一种)使用MDAC。
    OSQL(SQL Server 2005和2008附带的OSQL)使用SNAC ODBC。
    SQLCMD(随SQL Server 2005和2008一起提供)使用SNAC OLEDB。
    SQL Management Studio(随SQL Server 2005和2008一起提供)使用SQLClient。

    Possilbe命令的用法是:
    osql -E -SYour_target_machine\Your_instance用于Windows身份验证
    osql -Uyour_user -SYour_target_machine\Your_instance用于SQL身份验证

    SQLCMD也适用于此。另外,可以将“-Stcp:Your_target_machine,Tcp_port”用于TCP,将“-Snp:Your_target_machine\Your_instance”用于NP,将“-Slpc:Your_target_machine\Your_instance”用于共享内存。您会知道它对所有协议(protocol)还是仅对某些特定的procotols均无效。

    在此阶段,您应该再也不会看到一般错误消息,例如错误26和错误40。如果您使用的是NP,但仍然看到错误40(命名管道提供程序:无法打开与SQL Server的连接),请尝试以下步骤:
    a)在服务器计算机上打开文件共享。
    b)运行“net view\your_target_machine”和“net use\your_target_machine\your_share”(您也可以从Windows资源管理器尝试“映射网络驱动器”)
    如果在b)中失败,则很可能是OS/网络配置问题,这不是SQL Server特有的。请先在互联网上搜索以解决此问题。

    您可以尝试使用Windows身份验证和SQL身份验证进行连接。如果所有工具的测试均失败,则很有可能没有正确设置步骤1-3,除非失败与登录有关,则可以查看步骤6。

    如果您使用某些工具成功,但使用其他工具失败,则可能是驱动程序问题。您可以在我们的论坛上发布问题,并向我们提供详细信息。

    您也可以使用“\windows\system32\odbcad32.exe”(Windows附带)来测试连接,方法是为各种驱动程序添加新的DSN,但这仅适用于ODBC。

    步骤5:应用程序问题

    如果成功执行步骤1-4,但仍然看到应用程序失败,则很可能是应用程序中的配置问题。在这里考虑几个可能的问题。
    a)您的应用程序是否与您在步骤4中测试过的帐户使用同一帐户运行?如果没有,您可能想尝试在该帐户下的步骤4中进行测试,或者尽可能更改为适用于您的应用程序的可用服务帐户。
    b)您的应用程序使用哪个SQL驱动程序?
    c)您的连接字符串是什么?连接字符串与您的驱动程序兼容吗?请检查 http://www.connectionstrings.com/以供引用。

    步骤6:身份验证和登录问题
    这可能是sql连接问题中最困难的部分。它通常与网络,操作系统和SQL Server数据库上的配置有关。没有简单的解决方案,我们必须逐案解决。 sql_protocols中已经有一些博客讨论某些特殊情况,您可以检查它们是否适用于您的情况。除此之外,请记住以下几点:
    a)如果使用SQL身份验证,则必须启用混合身份验证。检查此页面以获取引用 http://msdn.microsoft.com/en-us/library/ms188670.aspx
    b)确保您的登录帐户对您在登录期间使用的数据库(OLEDB中的“初始目录”)具有访问权限。
    c)检查系统上的事件日志,看是否还有更多信息

    引用: http://blogs.msdn.com/b/sql_protocols/archive/2008/04/30/steps-to-troubleshoot-connectivity-issues.aspx

    对不起,我希望这里的内容能帮助您解决问题!

    问候。

    关于sql - 无法连接到远程SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12041629/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com