一、需求
我不是很经常用SQL server,就不想装在物理机机上闲时不用也占用物理资源,我就把它装虚拟机上了,但是最近在用,因为操作需要频繁切换虚拟机和物理机的界面感觉很麻烦,就想在物理机上用Navicat直接连接虚拟机里面的SQL server算了,但是我尝试的时候报错了,花了比较多的时间解决,所以想记一下过程。一开始是报下面这个错误:
sql server 用户'saa'登录失败(错误18456)
二、 解决报错 sql server 用户'saa'登录失败(错误18456)
上面这个用户saa是我自己创建的,解决上面这个报错很容易就在登录名那设置不启用“强制实施密码策略”和允许连接到数据库引擎、登录名启用。服务器属性上选用SQL server和Windows身份验证模式
重要的是不要忘记了重启服务
三、解决报错[08001] [Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [1326.(1326)
终于解决上面那个报错了,但是又来新的报错了 --😅
[08001] [Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [1326.(1326)
[HYTO0] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0)
[08001][Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing aconnection to SQL Server. Server is not found or not accessible.Checkif instance name is correct and ifSQL Server is configured toallow remote connections. For more information see sQL Server Books Online. (1326)
然后又百度,说要配置 SQL server的网络配置,具体我不懂是不是反正我是这样解决的。
在虚拟机的计算机管理上找到SQL server的网络配置启用TCP/IP。
然后就解决了!!!!
四、总结
感觉关键点就在于一开始的用户是不允许连接数据库引擎和启用登录名的(新建的用户会允许)重点是服务器属性那里默认是用Windows身份验证模式,所以自建的用户名登录才会报错,第二个报错应该是没开启网络服务所以连接不上。
可能有些人可能还不行我建议你关闭虚拟机的防火墙试一试,和给TCP/IP设置一个地址,虽然我没设置成功了,但是你不成功的话可以试一试。