【问题标题】:Error connecting to all of my SQL servers连接到我的所有 SQL 服务器时出错
【发布时间】:2010-02-09 18:35:03
【问题描述】:

在 Windows XP 上尝试从 SSMS 连接到我的任何 sql 服务器 (25+) 时,我突然开始收到此错误。当我昨天下班时,一切都很好,今天早上来了,我开始得到这个。尝试重新启动我的电脑,但显然没有解决它。我的同事都可以正常连接。搜索了一个解决方案,但我发现的一切都是关于 .NET 应用程序的加密。不确定如何将其应用于 SSMS。 alt text http://picasaweb.google.com/lh/photo/-l9VrFuYXk-A80NzZ1kzng?feat=directlink

由于某种原因,图像无法正常工作,所以错误是这样的:

已成功与服务器建立连接,但在登录前握手期间发生错误。 (提供者:SSL 提供者,错误:0 - 证书链由不受信任的机构颁发。)(Microsoft SQL Server)

【问题讨论】:

  • 显而易见的问题:证书由什么机构/是/颁发的?是否检查过它是否有效(未过期等)

标签: sql-server-2005 security windows-xp ssms


【解决方案1】:

问题似乎已经得到解答,但我想插话。对于某些提供程序,例如 SQL Server,连接字符串中有一个参数,即使证书未知,您也可以连接到加密的服务器:“TrustServerCertificate=True",因此如果您将其包含在连接字符串中,您将连接并加密工作,而不必运行未加密的连接。

【讨论】:

  • 这节省了我很多时间,这正是问题所在......谢谢 galets
【解决方案2】:

试试这个...

如果您失去与所有远程服务器的连接并且您的同事都很好,那一定是客户端问题。您可能会“点击”并无意中更改了一些设置。

打开您的客户端网络实用程序(我的在此处:C:\WINDOWS\system32\cliconfg.exe)。 在常规选项卡下,检查禁用的协议。它们都应该有“强制协议加密”未选中。如果检查了这些值中的任何一个,则您的本地 SSMS 可能正在尝试强制加密连接并失败。

如果这不起作用,请报告,我会再四处寻找。

【讨论】:

    【解决方案3】:

    在连接窗口中使用 MS SQL Server Management Studio 进行连接时,转到 Options->Connection Properties 并选中复选框 Trust server certificate

    【讨论】:

      【解决方案4】:

      您连接到请求加密连接的 SQL Server,但您不信任这些服务器使用的证书。为什么会发生这种情况取决于多种原因。

      • 您的服务器使用自签名证书还是 PKI 颁发的证书?
      • 为您颁发证书的 PKI 机构是谁?是企业证书服务吗?
      • 您的计算机是否信任 PKI 根权限?

      如果您不知道这个问题的答案,您必须联系您的网络和安全管理员。简单地从您的客户端禁用协议强制要求可能违反公司政策,或者服务器可能会强制执行 SSL,而不管您的本地设置。

      这些都是您应该问自己的环境管理员的问题,而不是公共论坛。您应该尝试解决问题,而不是绕开它,最终得到一台不合规的机器。

      【讨论】:

      • “这些都是你应该问你自己的环境管理员的问题” 是的。
      • 你的评论让我有点困惑,我不应该在公共论坛上问这些问题。我完全同意这个问题应该得到解决,而不是解决方法。
      • 评论指出问题是由您的环境引起的,正确的解决方案主要取决于您现有的策略。例如,如果您的公司要求您与 SQL Server 建立加密连接(例如,服务器存储医疗数据)并且您禁用了客户端加密要求,则您的雇主已面临诉讼。或者可能不是。我们怎么知道?
      • 好点,但不一定与我的原始帖子相关。有人问我的问题是为了更多地了解可能发生的事情以及我无法连接的原因。那,你(或集体的“我们”)可能真的知道。我不是在问我是否应该绕过我公司的安全策略。在我的情况下,我们没有使用加密,我无意中检查了使用加密进行连接。所以我可以看到你可能认为我通过取消选中它来绕过我们的安全性。不用担心,只是用鼠标点击太多。感谢您的帮助!
      • 不合规的机器,你的意思不是/有用的/吗?
      【解决方案5】:

      从此链接:

      禁用客户端强制加密 在服务器上。在那个机器上 运行 SQL Server 实例,打开 SQL Server 配置管理器, 右键单击 SQL Native Client 配置,并设置强制协议 加密为否。然后尝试连接 本地。

      http://blogs.msdn.com/sql_protocols/archive/2005/12/22/506607.aspx

      【讨论】:

      • 在所有 25 台服务器上?看来问题出在我的机器上。我的同事仍然可以正常连接,所以我认为这不是服务器上的问题。
      • 我不反对,但如果您查看问题,您似乎没有注册域中的自签名证书用于向服务器验证您的身份。此链接中也提到了这一点。
      • 我认为你在这里是正确的。起初我有点怀疑您的解决方法,因为您建议在服务器上更改它们。最后我没有使用加密并无意中检查了强制协议加密框。感谢您的帮助!
      【解决方案6】:

      我收到此错误,我尝试在 MS Cloud 中连接远程服务器 SQL (SaaS) 我在 Azure 门户中使用我的客户端 IP 添加了一个新的防火墙规则,解决了我的问题

      【讨论】:

        【解决方案7】:
        • 打开命令提示符:按 Windows 键 + R 然后键入 cmd 并运行
        • 输入这个:

          runas /user:[YourDomainName]\[YourActiveDirectoryUserName] /netonly cmd

        • 输入您的活动目录密码并按回车

        • 在新命令窗口中输入您的 SSMS.exe 路径,并带有如下双引号:

        “C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe”

        • 然后用windows athentication登录

        【讨论】:

          猜你喜欢
          • 2016-01-01
          • 1970-01-01
          • 2013-11-08
          • 2014-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-16
          • 2015-12-07
          相关资源
          最近更新 更多