Visual Studio 2022中SQL Compare报“目标主体名称不正确”错误求助
VS2022 SQL项目SCMP对比SSL目标主体名称错误解决办法
检查SQL Server证书主体匹配性
VS2022对SSL验证的要求比VS2019更严格,先确认SQL Server的SSL证书主体名称(或SAN扩展)是否和你连接时用的服务器名/IP一致。可以在SQL Server执行以下查询查看证书信息:SELECT name, certificate_id, issuer_name, subject FROM sys.certificates WHERE name LIKE '%SQL Server%'如果证书主体和连接标识不匹配,要么改成证书上的服务器名连接,要么重新申请包含正确主体的SSL证书。
调整VS连接的SSL验证规则
打开SQL项目的数据库连接属性,找到加密连接设置,把加密模式从「强制」改成「可选」(仅限内部测试环境);或者直接在连接字符串里加TrustServerCertificate=True参数,临时绕过主体名称验证(生产环境谨慎使用)。核对集成身份验证的SPN配置
用集成安全登录时,SPN配置错误也会触发SSL验证问题。用以下命令检查SQL服务账户的SPN注册情况:setspn -L <SQL服务账户名>确认存在
MSSQLSvc/<服务器FQDN>:<端口>和MSSQLSvc/<服务器短名>:<端口>的条目,缺失的话用域管理员权限执行:setspn -A MSSQLSvc/<服务器FQDN>:<端口> <SQL服务账户名>更新VS2022的SSDT工具
旧版SSDT可能有SSL兼容bug,打开VS2022的扩展管理器,搜索「SQL Server Data Tools」并更新到最新版本。
内容的提问来源于stack exchange,提问作者Lance
相关产品推荐
相关产品推荐

