目标主体名称不正确。无法生成SSPI上下文

时间:2015-08-31 11:13:11

标签: sql-server tfs kerberos sspi spn

我正在努力从机器A到运行SQL Server的机器B获得SQL Server连接。

我已经广泛搜索了所有我发现的东西都没有用。他们也没有引导你逐步解决这个问题。

我们没有使用Kerberos,而是使用配置的NTLM。

enter image description here

涉及的机器是(xx用于隐藏某些机器名称以用于安全目的):

  • xxPRODSVR001 - Windows Server 2012域控制器
  • xxDEVSVR003 - Windows Server 2012(此计算机正在生成错误)
  • xxDEVSVR002 - Windows Server 2012(此计算机正在运行SQL Server 2012)

以下SPN已在DC(xxPRODSVR001)上注册。为了安全起见,我用yyy掩盖了域名:

  

CN = xxDEVSVR002的注册ServicePrincipalNames,CN = Computers,DC = yyy,DC = local:

            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 = Computers,DC = yyy,DC = local:

            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错误消息更具描述性,并告诉我它尝试连接的主要名称,我可能能够诊断出来。

那么,任何人都可以指导我如何解决这个问题,或者你能看到我所提供的任何错误吗?

我很乐意生成更多调试信息,告诉我你需要什么。

48 个答案:

答案 0 :(得分:22)

我遇到了一个我正在处理的ASP.NET MVC应用程序的问题。

我意识到我最近更改了密码,我可以通过注销并重新登录来修复它。

答案 1 :(得分:21)

我花了大约几个小时来解决同样的问题。 事实证明,"Integrated Security=true"导致了问题。

尝试从连接字符串中删除此参数。

答案 2 :(得分:14)

使用Windows身份验证通过SQL Server Management Studio进行连接时收到此错误。我的密码已过期,但我还没有更改。一旦更改,我就必须退出并重新登录,以便机器使用我的新凭据工作。

答案 3 :(得分:8)

我使用PIN而不是密码登录Windows 10。我退出并使用我的密码重新登录,然后能够通过Management Studio进入SQL Server。

答案 4 :(得分:7)

尝试通过Windows身份验证时遇到了同样的错误。听起来很荒谬,但万一它可以帮助别人:这是因为我的域名帐户在我登录时被某种方式锁定了(!)。解锁帐户修复了它。

答案 5 :(得分:6)

该问题似乎是Windows凭据问题。我在使用VPN的工作笔记本电脑上遇到相同的错误。我应该以我的域/用户名登录,这是我在直接连接时成功使用的名称,但是当我通过另一个连接转到VPN时,会收到此错误。我认为这是DNS问题,因为我可以对服务器执行ping操作,但事实证明,我需要从命令提示符下以我的用户身份明确运行SMSS。

例如 Runas / netonly / user:YourDoman \ YourUsername“ C:\ Program Files(x86)\ Microsoft SQL Server Management Studio 18 \ Common7 \ IDE \ Ssms.exe”

答案 6 :(得分:5)

只是为这个最不明确的错误添加另一个潜在的解决方案The target principal name is incorrect. Cannot generate SSPI context. (.Net SqlClient Data Provider)

验证ping SQL Server时解析的IP是否与Configuration Manager中的IP相同。要检查,请打开SQL Server配置管理器,然后转到SQL Server网络配置> MSSQLServer的协议> TCP / IP。

确保已启用TCP / IP,并在“IP地址”选项卡中,确保在ping时服务器解析为的IP与此处相同。这为我解决了这个错误。

答案 7 :(得分:5)

登录您的SQL Box和您的客户端并输入:

ipconfig /flushdns
nbtstat -R

如果这不起作用,请在客户端计算机上续订DHCP ...这项工作适用于我们办公室的2台PC。

答案 8 :(得分:3)

SSPI上下文错误肯定表明正在尝试使用kerberos进行身份验证。

检查安全事件日志,如果您使用的是kerberos,则应该看到使用身份验证包的登录尝试:Kerberos。

NTLM身份验证可能失败,因此正在进行kerberos身份验证尝试。您可能还会在安全事件日志中看到NTLM登录尝试失败?

你可以打开dev中的kerberos事件记录来尝试调试kerberos失败的原因,尽管它非常冗长。

答案 9 :(得分:3)

就我而言,重新启动SQL Server 2014(在开发服务器上)解决了该问题。

答案 10 :(得分:3)

我正在隔离网络中的一台PC群集上测试IPv6,当我还原到IPv4时遇到了这个问题。我以前在活动目录DNS和DHCP中玩过,所以不知道我有什么意图破坏Kerberos设置。

我用这个有用的技巧重新测试了软件外部的连接,以连接发现的远程连接。

https://blogs.msdn.microsoft.com/steverac/2010/12/13/test-remote-sql-connectivity-easily/

然后经过简短搜索,即可在Microsoft网站上找到此内容 https://support.microsoft.com/en-gb/help/811889/how-to-troubleshoot-the-cannot-generate-sspi-context-error-message

在SQL Server上运行该工具,看是否有任何问题 如果状态显示错误,则单击出现的修复按钮。

这为我解决了这个问题。

答案 11 :(得分:3)

这通常是由于缺少,不正确或重复的服务主体名称(SPN)

解决步骤:

  1. 确认SQL Server使用的AD帐户
  2. 在Powershell或CMD中以管理员模式运行以下命令(服务帐户不应包含域)
setspn -L <ServiceAccountName> | Select-String <ServerName> | select line
  1. 确保返回的输出包含SPN,该SPN完全合格,没有完全合格,带有端口和没有端口。

    预期输出:

    Registered ServicePrincipalNames for CN=<ServiceAccountName>,OU=CSN Service Accounts,DC=<Domain>,DC=com: 
    MSSQLSvc/<ServerName>.<domain>.com:1433
    MSSQLSvc/<ServerName>:1433                                           
    MSSQLSvc/<ServerName>.<domain>.com
    MSSQLSvc/<ServerName>
    
  2. 如果您没有看到以上所有内容,请在admin模式下在PowerShell或CMD中运行以下命令(如果不使用默认的1433,请确保更改端口)

SETSPN -S  MSSQLSvc/<ServerName> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain> <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>:1433 <Domain>\<ServiceAccountName> 
SETSPN -S  MSSQLSvc/<ServerName>.<Domain>:1433 <Domain>\<ServiceAccountName>
  1. 完成上述操作后,DNS传播通常需要几分钟的时间

此外,如果您收到有关发现重复SPN的消息,则可能要删除它们并重新创建它们

答案 12 :(得分:3)

我刚刚碰到了这个并通过做两件事来修复它:

  1. 使用ADSI Edit向服务帐户授予读/写servicePrincipalName权限,如https://support.microsoft.com/en-us/kb/811889
  2. 中所述
  3. 使用

    删除以前存在于SQL Server 计算机帐户上的SPN(而不是服务帐户)
    setspn -D MSSQLSvc/HOSTNAME.domain.name.com:1234 HOSTNAME
    

    其中 1234 是实例使用的端口号(我的不是默认实例)。

答案 13 :(得分:2)

访问Web应用程序时遇到此问题。可能是因为我最近更改了一个Windows密码。

当我更新了托管Web应用程序的应用程序池的密码时,此问题得到了解决。

答案 14 :(得分:2)

检查客户端和服务器之间的时钟匹配。

当我断断续续地遇到此错误时,以上答案均无济于事,然后我们发现某些服务器上的时间已经过去,一旦它们再次同步,错误就消失了。搜索w32tm或NTP,以了解如何在Windows上自动同步时间。

答案 15 :(得分:1)

此Microsoft工具就像Magic。运行它,将其连接到SQL Server,然后单击“修复”

此处链接的旧版本适用于SQL Server2017。

用于SQL Server的Kerberos配置管理器 https://www.microsoft.com/en-us/download/details.aspx?id=39046

答案 16 :(得分:1)

确保已从“ SQL Server配置管理器”中启用“命名管道”。这对我有用。

  1. 打开“ SQL Server配置管理器”。
  2. 从左侧列表中展开“ SQL Server网络配置”。
  3. 选择“ [您的实例名称]的协议”。
  4. 右键单击右侧列表中的“命名管道”。
  5. 选择“启用”
  6. 重新启动实例服务。

答案 17 :(得分:1)

在我的情况下,我试图使用Integrated Security将PC连接到没有域的网络上的另一台PC上的SQL Server。在两台PC上,我都是使用相同的Microsoft帐户登录Windows 。我在两台PC上切换到本地帐户,并且SQL Server现在成功连接。

答案 18 :(得分:1)

就我而言,自从我在开发环境中工作以来,有人关闭了域控制器,并且Windows凭据无法通过身份验证。打开域控制器后,错误消失了,一切正常。

答案 19 :(得分:1)

由网络连接引起的此问题的另一个利基。我通过Windows VPN客户端连接,当我从Wifi切换到有线连接时,会弹出此问题。解决我的情况的方法是手动调整适配器指标。

在powershell中,使用Get-NetIPInterface查看所有度量标准值。较低的数字是较低的成本,因此它们是Windows首选的。我切换了以太网和VPN,凭证就达到了让SSMS满意的位置。

要配置“自动度量”功能: 在控制面板,中双击网络连接。 用鼠标右键单击网络接口,然后选择属性。 单击“ Internet协议(TCP / IP)”,然后选择“属性”。 在常规选项卡上,选择高级。 要指定度量标准,请在“ IP设置”选项卡上,选中以清除“自动度量标准”复选框,然后在“接口度量标准”字段中输入所需的度量标准。

来源: https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/automatic-metric-for-ipv4-routes

答案 20 :(得分:1)

因为我在寻找解决自己问题的方法时来到这里,所以我会在这里分享我的解决方案,以防其他人也来到这里。

我正好连接到SQL Server,直到我的机器被移动到另一个域上的另一个办公室。然后,在切换之后,我收到有关目标主体名称的错误。修复此问题的方法是使用完全限定名称进行连接,例如: server.domain.com 。实际上,一旦我连接到第一台服务器,我就可以使用服务器名称连接到其他服务器(没有完整的资格),但你的里程可能会有所不同。

答案 21 :(得分:1)

我今天碰到了这个并希望分享我的修复,因为这个只是被忽视并且很容易修复。

我们管理自己的rDNS,最近重新设计了服务器命名方案。作为其中的一部分,我们应该更新我们的rDNS并忘记这样做。

ping出现了正确的主机名,但ping -a返回了错误的主机名。

轻松修复:更改rDNS,执行ipconfig / flushdns,等待30秒(我正在做的事情),再做一次ping -a,看看它解析正确的主机名,连接......利润。

答案 22 :(得分:1)

我为此遇到了一个新的:SQL 2012托管在Server 2012上。 负责为SQL AlwaysOn创建集群 创建群集每个人都获得了SSPI消息。

要解决以下命令运行的问题:

setspn -D MSSQLSvc/SERVER_FQNName:1433 DomainNamerunningSQLService

DomainNamerunningSQLService ==我为SQL设置的域帐户 我需要域管理员来运行命令。群集中只有一台服务器出现问题。

然后重新启动SQL。令我惊讶的是我能够连接。

答案 23 :(得分:1)

我试图在Visual Studio 2015控制台应用程序中从我的笔记本电脑连接到运行SQL Server 2015的VM。我前一天晚上运行我的应用程序,它很好。在早上我尝试调试应用程序,我收到此错误。我尝试了import java.util.*; import java.io.*; import java.math.*; /** * Auto-generated code below aims at helping you parse * the standard input according to the problem statement. **/ class Solution { public static void main(String args[]) { Scanner in = new Scanner(System.in); int n = in.nextInt(); // the number of temperatures to analyse //Variables declared here below int[] temps = new int[n]; int closest = 0; // DO I NEED THIS NEXT BLOCK??!! //if (in.hasNextLine()) //{ // in.nextLine(); //} //For loop here, to take the input from in.nextInt() for (int i = 0; i < n; i++) { //int closest = temps[0]; temps[i] = in.nextInt(); closest = Math.abs(temps[0]); //System.err.println(temps[i]); if (closest > 0) { if (closest > i) { closest = i; } } else if (closest < 0) { if (closest < i) { closest = i; } } } //String temps = in.nextLine(); // the n temperatures expressed as integers ranging from -273 to 5526 // Write an action using System.out.println() // To debug: System.err.println("Debug messages..."); System.err.println("Final Results: n = " + n); System.err.println("Temps are: "); for (int i = 0; i < n; i++) { System.err.println(temps[i]); } System.err.println("Closest to zero is " + closest); System.out.println(closest); } } ipconfig/flush + release以及一堆其他垃圾,但最后......

重新启动VM并重新启动客户端。这为我解决了这个问题。我应该知道,每次都重启。

答案 24 :(得分:0)

我的问题竟然是如此奇怪和简单:

  • ServerA上的SQL Server Windows服务(配置为使用DOMAIN \ svcAccountA运行)
  • ServerB上的SQL Server Windows服务(配置为使用DOMAIN \ svcAccountB运行)

DOMAIN \ svcAccountA和DOMAIN \ svcAccountB都是我们Active Directory域中的服务帐户。

即使为DOMAIN \ svcAccountA正确设置了所有权限以连接到ServerB,ServerA上的C#CLR(以DOMAIN \ svcAccountA运行)也无法再使用SqlConnection连接到ServerB(相同的奇怪的非提示性错误消息:目标主体名称不正确。无法生成SSPI上下文。

最简单的部分?重新启动ServerA后,SQL Server Windows服务将不再自动启动!这就是发现有人更改了DOMAIN \ svcAccountA的密码的线索,而我不得不在此处更正SQL Server Windows Service配置:

enter image description here

更正密码后,ServerA上的SQL Server Windows服务正常启动,并且ServerA上的C#CLR(以DOMAIN \ svcAccountA运行)现在可以使用SqlConnection连接到ServerB。

答案 25 :(得分:0)

我找到了, Michael Hotekthis MSDN post 中回答了这个问题。

<块引用>

如果 SQL Server 配置为仅用于 Windows 身份验证,则连接到它的唯一方法是使用您的域凭据。由于您的笔记本电脑上没有域凭据,因此您将无法连接。如果要使用 SQL Server 登录名进行连接,则需要将实例的安全模型更改为 Windows 和 SQL Server 身份验证。然后,您将能够使用标准 SQL Server 登录名而不是域凭据。如果这是不可能的,那么一个非常简单的解决方法是将 VPN 连接到办公室,然后将 RDP 连接到安装了 SQL Server 工具的机器。然后,您将使用您的凭据登录到域中,并且可以在 RDP 进入的机器上直接使用这些工具。

事实证明,如果您不在域中,则必须使用 Mixed mode Auth

答案 26 :(得分:0)

连接字符串中的数据库不存在。我以为是,但还没有创建。

答案 27 :(得分:0)

我在 SQL Server 2014 上遇到了同样的问题,我所要做的就是以管理员身份运行应用程序。

答案 28 :(得分:0)

使用人脸识别登录Windows 10时遇到相同的问题。解决方法是按住shift键并右键单击SSMS,然后使用“以其他用户身份运行”并为用户名提供密码。

答案 29 :(得分:0)

更改SQL Server服务用户时遇到此问题。 当它发生在主要实例上时,由于未更新SPN,因此下面的第1点和第2点解决了该问题。

更改命名实例服务用户时,我也遇到此问题。该新用户是主实例已在使用的域帐户。我不知道出了什么问题,但是我这样解决了:

  1. 我遵循了上述建议(请参见前面的主题)来运行Microsoft® Kerberos Configuration Manager for SQL Server®
  2. 该工具发现了一些问题,并为我修复了这些问题
  3. 该工具建议在命名实例上启用动态端口不是一个好主意,因此我运行了sql server配置管理器,并且:
  4. 将命名实例配置为使用静态端口(编号不重要,只要可用即可)。配置路径:命名实例的协议,右键单击TCP / IP,属性,IP地址,清除所有TCP动态端口内容,将所选端口号设置为所有TCP端口属性。
  5. 创建别名:sql本机客户端配置->别名->新别名。服务器是您的数据库服务器名称,端口是上面提到的端口,我选择的别名与没有服务器名称的实例名称相同(例如,server1 \ sqlsrv2017:server = server1,alias = sqlsrv2017)
  6. 按照提示重新启动实例服务

不用说,必须启用防火墙才能清除端口

答案 30 :(得分:0)

在SQL Server防火墙中,为入站和出站打开端口1433、4022、135、1434。对我来说就像魔术一样。

答案 31 :(得分:0)

万一有人想知道,我理清了MS术语:

Target = (active directory) target

Active directory target = target server running the domain controller

Domain controller = server that verifies your login information

Principal name = your windows username

SSPI = security support provider interface

Security support provider interface = software interface that manages "authenticated 
communications" and allows SSPs like TLS to allow SSL, among others

SSP = security support provider (SSPI implementation)

TLS/SSL = you should already know this
 

=无法验证您的密码。

答案 32 :(得分:0)

我遇到了这个问题的一个变种,这是特征:

  • 用户能够成功连接到命名实例,例如,与Server\Instance的连接成功
  • 用户无法连接到默认实例,例如,与Server的连接失败并显示有关SSPI的OP屏幕截图
  • 用户无法使用完全限定名称连接默认实例,例如,与Server.domain.com的连接失败(超时)
  • 用户无法在没有命名实例的情况下连接IP地址,例如,与192.168.1.134的连接失败
  • 不在域上的其他用户(例如,VPN到网络的用户)但使用域凭据能够成功连接到默认实例和IP地址

因此,在尝试弄清楚这个单一用户无法连接的原因之后,我们采取了以下步骤来解决这个问题:

  1. 使用
    来查看SPN列表中的服务器 setspn -l Server
    一个。在我们的例子中,它说Server.domain.com
  2. C:\Windows\System32\drivers\etc\hosts中的hosts文件中添加一个条目(以管理员身份运行记事本以更改此文件)。我们添加的条目是
    Server.domain.com Server
  3. 在此之后,我们能够通过SSMS成功连接到默认实例。

答案 33 :(得分:0)

我遇到了这个问题,它花了大约4-5个小时来找到此错误消息的根本原因。唯一的不同是,我仅从Visual Studio连接数据库而不是通过SQL Server Management Studio直接连接时遇到此错误。

错误背后的原因是,我的应用程序托管在本地IIS上,并且一天前更改了系统密码,但没有将其更新为托管应用程序的IIS应用程序池。

我转到IIS,单击应用程序池,在池列表中右键单击相应的应用程序池,转到“高级设置”,选择“身份”,然后在“自定义帐户”下更改其值(域\帐户名和新密码) ”这解决了我的问题。

谢谢

答案 34 :(得分:0)

我在sql server上遇到了这个问题。我setpn -D mssqlsvc \ Hostname.domainname主机名然后停止并启动我的SQL服务器服务。

我想只是停止并启动我的SQL服务就可以了。

答案 35 :(得分:0)

我在这里尝试了所有的解决方案,但没有一个能够解决。有效的解决方法是单击连接,输入服务器名称,选择选项,连接属性选项卡。将“网络协议”设置为“命名管道”。这允许用户使用其网络凭据进行远程连接。当我得到修复时,我会发布更新。

答案 36 :(得分:0)

在使用Windows身份验证进行日志记录时,我也在SQL Server 2014上遇到此问题,以解决我已重新启动服务器一次然后尝试登录的问题,它对我有用。

答案 37 :(得分:0)

尝试在加入域的Windows 10计算机上通过L2TP VPN连接到我的SQL Server 2017实例时遇到此问题。

问题最终出在我的VPN设置中。在安全设置中的“身份验证”中,使用EAP-MSCHAPv2,在“属性”对话框中,我选择了Automatically use my Windows logon name and password (and domain if any).

Location of the option to turn off

我关闭了此功能,然后重新连接了VPN,然后我就能够成功连接到SQL Server。

我认为这导致我的SQL登录名(具有Windows帐户安全性)使用Kerberos而不是NTLM,从而导致SSPI错误。

答案 38 :(得分:0)

只有一个用户在一个SQL Server上出现此错误。原来,他已在Windows凭据下的“控制面板-凭据管理器”中为服务器名称存储了旧密码。删除了存储的凭据,它就起作用了。

答案 39 :(得分:0)

就我而言,问题是在wifi上设置DNS。我删除了设置,将它们留空,然后开始工作。

Como ficou minha configuração do DNS

答案 40 :(得分:0)

我将在此处添加它,因为它吸引了我,并可能会帮助其他人。请注意,我不是Windows使用者,但必须查看包含SQL Server的方案。

我下载了完整的SQL Server产品的开发人员版本并将其安装在Windows 10上。所有这些都对本地连接有好处,对远程客户端没有好处。

尝试了许多上述操作,但最终我意识到Windows身份验证想要对remoteclient \ myuser进行身份验证,并且在独立的Windows世界中没有办法创建针对该身份验证的机制(据我所知,是kerberos)。错误消息为“无法生成SSPI上下文”。

使用SQL身份验证似乎也不起作用。

我最终回到具有组合模式的SQL Server Express,然后可以从远程客户端使用SQL身份验证。

答案 41 :(得分:0)

我有同样的问题,但锁定和解锁机器对我有用。有时,防火墙问题会产生错误。

我不确定这对你有用,只是分享我的经验。

答案 42 :(得分:0)

根本不是理想的解决方案,我只是想添加此内容以供以后查看此页面的任何人参考:

我在尝试使用我的域帐户连接到远程SQL Server实例时遇到了这个问题,在另一台计算机上托管的实例上尝试相同的操作可以正常工作。

因此,如果您可以选择仅使用其他实例,则可能会有所帮助,但这实际上无法解决任何问题。

答案 43 :(得分:0)

我有同样的问题。我最近更改了我的Windows密码,我的网站丢失了错误。我试图注销并登录但没有工作。然后我意识到我在“自定义帐户”部分使用我的帐户配置了defaultappppol,并使用新密码再次配置了帐户。这太神奇了!!!请告诉我您对此解决方案的反馈意见。

答案 44 :(得分:0)

似乎问题与DNS服务器有关。 要解决此问题,请将IP地址更改为ComputerName。

实施例: 更改值&#34; 10.0.0.10 \ TestDB&#34;到&#34; YourcomputerName \ TestDB&#34;

答案 45 :(得分:0)

我正在运行基于SQL.COM的米老鼠测试系统。

我在我无法连接的机器和我可以使用的机器上运行setspn -T sql -F -Q */Servername(在本例中为SQL01)。然后,我只是删除问题机器中的其他条目,这一切都有效,例如setspn -D MSSQLSvc/SQL01.SQL.COM:1433 SQL01

答案 46 :(得分:-1)

请检查SQL server management studio中提到的登录名的权限,勾选sysadmin复选框,然后在.config文件中生成Integrated Security=False

客户端计算机上的Fire 2命令

  1. ipconfig / flushdns

  2. klist purge。

  3. 在客户端计算机上安装kerbarose配置管理器。

    最后,重新启动客户端计算机和主SQL服务器服务。在客户端计算机上运行该应用程序。这100%正确工作。

答案 47 :(得分:-2)

groupBy

$data = \App\Logs::select('id', 'created_at') ->get() ->groupBy(function($val) { return Carbon::parse($val->created_at)->format('d-M-'); }) ->transform(function ($collection, $key) { return $collection->count(); }); 连接字符串中将此标志设为false。它会工作!