使用SSMS连接Azure SQL DB失败:错误64(网络名称不可用)求助
修复Azure SQL DB连接时的预登录握手错误(错误64)
连接错误详情:
Cannot connect to xxxxxx.database.windows.net. =================================== A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - The specified network name is no longer available.) (Framework Microsoft SqlClient Data Provider) ------------------------------ For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-64-database-engine-error ------------------------------ Server Name: xxxxxxx.database.windows.net Error Number: 64 Severity: 20 State: 0
以下是针对性的修复方案:
检查网络与防火墙规则
- 确认本地网络可正常访问Azure服务,可通过访问其他Azure资源验证连通性
- 登录Azure门户,检查SQL服务器的防火墙规则,确保当前客户端IP已被允许;可临时开启“允许Azure服务和资源访问此服务器”选项测试
- 排查本地防火墙、杀毒软件,确认未拦截1433端口的出站连接
更新SSMS与驱动
- 升级SSMS至最新版本,旧版本驱动可能存在Azure SQL兼容性问题
- 确保本地Microsoft SqlClient Data Provider为最新版本,可通过官方渠道或开发工具更新
调整连接属性
- 在SSMS连接属性中启用“加密连接”选项(Azure SQL默认要求加密,未启用易引发握手失败)
- 尝试在连接字符串中添加
TrustServerCertificate=True参数(仅用于排查,生产环境不建议长期使用)
排查DNS与代理问题
- 用
nslookup xxxxxx.database.windows.net命令手动解析服务器域名,确认返回IP有效 - 若使用代理,检查代理配置是否允许访问1433端口,可尝试关闭代理后重新连接
- 用
验证Azure SQL服务器状态
- 登录Azure门户查看SQL服务器运行状态,确认无服务中断或维护事件
- 检查服务器CPU、内存、存储使用率,资源耗尽也可能导致连接失败
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

