刚安装好的sqlserver在安装服务器上,直接使用Windows身份认证登录就报错
未找到或无法访问服务器。请验证实例名称是否正确并且SQL Server已配置为允许远程连接。(provider:命名管道提供程序,error:40 -无法打开到SQLServer的连接)(Microsoft SQLServer, 错误:2)
切换sqlserver身份认证 同样的错误。
先说结果
分析可能是因为刚安装好,Studio连接是采用默认端口,但是实际是用的动态TCP端口。
端口都不对了, 肯定也就连不上了。telnet默认端口1433也就不通了。
问题排查
首先检查1433端口,发现不通
网络问题,那就直接去检查 “SQLServer 配置管理器 => SQL Server网络配置”
找到本机IP 和 127.0.0.1对应的模块:
设置 TCP端口 = 1433
设置 已启用 = 是
然后 “应用” 保存。
最后,重启SQLServer服务。
再测,还是同样的错误。继续排查问题。
检查系统服务和端口
netstat -ano | findstr "1433"
果然1433没有被使用。但是服务实际又在运行。那又用的是哪个端口呢?
通过任务管理器,找到进程号,然后通过 netsstat -ano |findstr "进程号" 查询端口号
tasklist |findstr "进程号" // 根据进程号查询服务
netsstat -ano |findstr "进程号" // 根据进程号查询端口号
尝试 使用找到的端口连接,哎,成功了。哈哈哈!!!【方案1】
再想想,为啥不是默认的1433呢?那又要怎么才能设置成1433呢?
至此,最后的解决方案就出来了,关闭 TCP动态端口。设置默认端口1433即可。重启服务即可。