在Visual Studio Code中用Windows身份验证连接SQL Server遇问题求助
解决VS Code通过Windows身份验证连接SQL Server的问题
一、先检查VS Code的连接配置
- 打开VS Code的mssql扩展,调出连接配置界面
- 找到Authentication Type,必须选Windows Authentication,别选SQL Login
- 服务器名要填对,格式是
服务器名\实例名,默认实例直接写服务器名/IP就行
二、修复"目标主体名称不正确"的SSL错误
这个错误大多和SQL Server的SSL证书或SPN配置有关,试试下面的方法:
方法1:禁用SSL验证
在VS Code的连接配置里加encrypt: false:
- 按Ctrl+,打开用户设置,搜
mssql.connections - 找到对应连接,修改配置添加
"encrypt": false - 示例配置:
{ "server": "你的服务器名", "authenticationType": "Windows", "encrypt": false, "database": "目标数据库名" }
方法2:注册正确的SPN(域环境适用)
如果是域内的SQL Server,可能是SPN没注册对:
- 用域管理员身份开命令提示符,执行:
替换掉服务器名、完整域名、SQL服务账户,默认端口是1433,改了的话对应替换setspn -S MSSQLSvc/服务器名:1433 域\SQL服务账户 setspn -S MSSQLSvc/服务器完整域名:1433 域\SQL服务账户 - 执行完重启SQL Server服务
方法3:调整SQL Server的SSL设置
- 打开SQL Server配置管理器,找到SQL Server网络配置 -> 对应实例的协议
- 右键点TCP/IP选属性,切到证书标签
- 如果没配置证书,选无,然后重启SQL Server服务;如果有证书,确保证书主体名和服务器完整域名一致
三、其他排查方向
- 确认你的Windows账号在SQL Server里有登录权限(得先在SQL Server里加对应的Windows登录名并赋权)
- 把VS Code和mssql更到最新版本再试
- 先用SSMS用Windows身份验证连,如果SSMS能连上,就是VS Code配置的问题;连不上的话,就是SQL Server本身的配置问题
内容的提问来源于stack exchange,提问作者jfranklin27
相关产品推荐
相关产品推荐

