我正努力从计算机A获得SQL Server连接到运行SQL Server的计算机B.目标主体名称不正确。无法生成SSPI上下文
我已经Google广泛搜索,所有我发现的东西都没有奏效。他们也不会一步一步地引导你解决这个问题。
我们没有使用Kerberos,而是配置了NTLM。
涉及的机器(XX是用来掩盖一些机器名的出于安全目的):
- xxPRODSVR001 - 在Windows Server 2012域控制器
- xxDEVSVR003 - Windows Server 2012(本机发生错误)
- xxDEVSVR002 - Windows Server 2012中(本机运行SQL Server 2012)
以下SPN的注册到DC(xxPRODSVR001)。我模糊了与YYY域为安全起见:
注册ServicePrincipalNames为CN = xxDEVSVR002,CN =电脑,DC = YYY,DC =本地:
MSSQLSvc/xxDEVSVR002.yyy.local:49298 MSSQLSvc/xxDEVSVR002.yyy.local:TFS RestrictedKrbHost/xxDEVSVR002 RestrictedKrbHost/xxDEVSVR002.yyy.local Hyper-V Replica Service/xxDEVSVR002 Hyper-V Replica Service/xxDEVSVR002.yyy.local Microsoft Virtual System Migration Service/xxDEVSVR002 Microsoft Virtual System Migration Service/xxDEVSVR002.yyy.local Microsoft Virtual Console Service/xxDEVSVR002 Microsoft Virtual Console Service/xxDEVSVR002.yyy.local SMTPSVC/xxDEVSVR002 SMTPSVC/xxDEVSVR002.yyy.local WSMAN/xxDEVSVR002 WSMAN/xxDEVSVR002.yyy.local Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/xxDEVSVR002.yyy.local TERMSRV/xxDEVSVR002 TERMSRV/xxDEVSVR002.yyy.local HOST/xxDEVSVR002 HOST/xxDEVSVR002.yyy.local
为CN = xxDEVSVR003注册ServicePrincipalNames, CN =电脑,DC = YYY,DC =本地:
MSSQLSvc/xxDEVSVR003.yyy.local:1433 MSSQLSvc/xxDEVSVR003.yyy.local Hyper-V Replica Service/xxDEVSVR003 Hyper-V Replica Service/xxDEVSVR003.yyy.local Microsoft Virtual System Migration Service/xxDEVSVR003 Microsoft Virtual System Migration Service/xxDEVSVR003.yyy.local Microsoft Virtual Console Service/xxDEVSVR003 Microsoft Virtual Console Service/xxDEVSVR003.yyy.local WSMAN/xxDEVSVR003 WSMAN/xxDEVSVR003.yyy.local TERMSRV/xxDEVSVR003 TERMSRV/xxDEVSVR003.yyy.local RestrictedKrbHost/xxDEVSVR003 HOST/xxDEVSVR003 RestrictedKrbHost/xxDEVSVR003.yyy.local HOST/xxDEVSVR003.yyy.local
现在,如果只有SQL Server错误消息是更具描述性的,并告诉我什么主体名称有人尝试连接到我可能能够诊断这一点。
那么,任何人都可以通过如何解决这个问题,或者你能看到我提供的是错误的东西吗?
我很乐意生成更多的调试信息,只是告诉我你需要什么。
我们不运行内部DNS服务器。但是为了消除这个问题,你说我应该“ping -a x.x.x.x”或者有另一种方法来确定是否有重复项? – TheEdge
我不是专家,但我认为SPN和SSPI是一个Kerberos的东西?你确定你没有使用Kerberos吗? –
@DylanSmith不是我可以看到.....当我在SQL Server中运行SP(现在忘记名字)时,它全部成为NTLM。你知道我如何检查? – TheEdge