首页 > 解决方案 > 有没有办法在使用 LinqPad 连接到 MSSQL 时指定 SPN

问题描述

我们正在使用 Windows 身份验证使用 SQL Server,并且发现我们需要指定 SPN 才能使连接正常工作。我们的应用程序部分使用通过 UDL 文件连接的 VB6,部分使用我们通过 LinqPad 运行的一系列临时脚本。使用 UDL 文件的服务器 SPN 功能,我们可以使连接正常工作,但找不到 LinqPad 的等效项。

有谁知道如何让这个工作?我们已尝试将 ServerSPN= 作为高级设置中的附加连接字符串参数,但无法识别。

更多详细信息。

更新:在测试期间,我们发现指定 SPN 会导致对服务器进行 NTLM 身份验证。因此,如果有一种方法可以从客户端强制执行此操作,那么这对我们来说可能是一条可行的路线。

更新+解决方法:我们偶然发现了一种解决方法,将服务器添加到具有不同名称的主机文件中似乎会触发相同的回退到 NTLM 身份验证以用于 LinqPad 连接。如果有人了解如何正确解决此问题,我们仍将不胜感激,但目前我们正在使用 hostfile 解决方法。

任何帮助表示赞赏

标签: sql-serverkerberoslinqpad

解决方案


我可以在这里想到几个可能的问题:

  • 您的单向信任设置错误;
  • 太有选择性了;
  • 域之间的 AD 版本不兼容。

我建议尝试使用 Kerberos Configuration Manager for SQL Server,它可能会让您深入了解根本原因。

另外,我相信你可能有更好的机会在 ServerFault 上而不是在这里问这个问题。从表面上看,这是一个配置错误的问题,与编程无关。


推荐阅读