我正在尝试远程连接到我在工作组上运行的家庭服务器上的 Sql server 2016 实例。我需要设置一个 SPN 来执行此操作。那里的所有指南似乎都与针对域情况而不是工作组设置 SPN 有关。这是我为在 NT SERVICE\MSSQLSERVER(默认服务帐户)下运行的服务器 Odin 尝试过的 SPN
C:\Windows\system32>setspn -A MSSQLSvc/Odin:1433 "NT SERVICE\MSSQLSERVER"
Ldap Error(0x51 -- Server Down): ldap_connect
Failed to retrieve DN for domain "" : 0x00000051
Warning: No valid targets specified, reverting to current domain.
FindDomainForAccount: Call to DsGetDcNameWithAccountW failed with return value 0x000004BC
Unable to locate account MSSQLSERVER
我以管理员身份运行 cmd 提示符,我以管理员身份登录,现在没有想法。帐户 MSSQLSERVER 必须存在,否则 SQL 服务器将无法运行(我可以在本地连接)。
您使用的是 SQL 登录,对吧?不是 Windows 身份验证。当客户端和服务器都是域的成员时,SPN 用于 Windows 身份验证 (Kerberos)。
我认为还有另一个问题阻止您连接到 SQL 服务器。可能是路由问题、防火墙、SQL 服务或防病毒的端口配置。尝试在 SQL Server 上禁用 Windows 防火墙并重新连接以查看它是否与防火墙有关。防病毒软件也是如此。
对于端口配置,您可以使用 SQL Server 配置管理器和运行
netstat -an | find /i "1433"
命令来验证它,以查看端口是否为Listening
.