sql-server - 尝试使用登录前握手确认时超时时间已过
问题描述
我研究了一堆类似的问题,但没有找到解决我的问题的方法。我有这个错误:
连接超时已过期。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器无法及时响应。尝试连接到此服务器所花费的持续时间是 - [登录前] 初始化 = 501;握手=29876;(.Net SqlClient 数据提供者)
我尝试通过 SSMS 从我的开发机器连接远程 SQL Server 实例,指定 IP 地址,而不是域名。尝试了所有连接选项的组合。
我已经检查过的事情:
- DNS不是问题,因为我使用IP地址
- 我和服务器支持类似的网络协议
- 服务器正在运行,SQL Browser 正在运行,服务器名称和凭据正确
- 我的开发机器支持所有版本的安全协议(例如 TLS 1.2)和密码
- 我检查了选项“信任服务器证书”
- 尝试设置一个像 5 分钟这样的大超时并得到一些不同的错误:
与服务器成功建立连接,但在登录前握手期间发生错误。(提供者:TCP 提供者,错误:0 - 信号量超时期限已过。)(.Net SqlClient 数据提供者)
在我看来,这类错误意味着安全方面的问题。所有的网络问题和防火墙限制都不应该是一个原因。
我确定服务器配置正确,因为其他开发人员在同一台服务器上没有这样的问题。而且我的 SSMS 版本不比其他版本旧。
解决方案
推荐阅读
- angular - 角材料芯片占位符
- ionic-framework - 在 ionic cordova android 中构建时的问题
- javascript - chart js:折线图,数据点在图表的左侧压缩显示
- c# - 如何使用 c# 和 Google API 在 Google 日历中创建活动?
- java - Tomcat URL 重写
- solr - Solr - 通过 HTTP 创建时如何让不同服务器上的核心具有相同的名称
- java - 将定制的 ObjectWriter 与 Jersey 一起使用
- javascript - 如何在 IIFE(立即可调用函数表达式)函数中导入 javascript 模块?
- node.js - 使用 socket.io 动态连接到 NodeJS 服务器
- c# - 带有 MVVMCross 6.2+ 的选项卡