You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSMS中基于SQL Server证书的登录认证失败问题排查

问题分析与解决

问题根源

从证书创建的SQL Server登录名不支持通过SSMS进行交互式登录。这类登录的设计用途是代码签名、存储过程/代理作业的身份验证,或者服务级别的非交互式访问,并非供用户手动输入登录名完成连接。

你看到的错误:

Reason: Attempting to use an NT account name with SQL Server Authentication

本质是SQL Server无法识别针对证书登录名的交互式登录请求,进而误判为登录方式与账户类型不匹配的错误场景。

正确的无密码登录方案

根据你的需求,提供两种对应场景的解决方案:

1. 交互式无密码登录(优先推荐)

如果需要实现用户手动无密码登录SQL Server,直接使用Windows集成认证即可:

  • 在SSMS连接服务器时,选择「Windows身份验证」选项,无需输入密码,SQL Server会自动验证当前Windows账户的权限。

2. 证书登录的正确用法(非交互式场景)

如果你的初衷是用证书实现代码签名或服务级非交互式访问,而非用户手动登录,当前的证书和登录名创建步骤是正确的,但需通过以下方式使用:

  • 为存储过程、函数等数据库对象签名,让对象执行时拥有该登录名的权限:
    USE YourTargetDatabase;
    ADD SIGNATURE TO YourStoredProcedureName BY CERTIFICATE certif41120221152;
    GO
    
  • 或者将该登录名配置为SQL Server代理作业的运行账户,实现作业的非交互式身份验证。

内容的提问来源于stack exchange,提问作者user2050269

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 06:48:25