[sql-server] The target principal name is incorrect. Cannot generate SSPI context

This is usually due to missing, incorrect or duplicated Service Principle Names (SPNs)

Steps to resolve:

  1. Confirm what AD account SQL Server is using
  2. Run the following command in Powershell or CMD in administrator mode (service account should not contain the domain)
setspn -L <ServiceAccountName> | Select-String <ServerName> | select line
  1. Make sure the returned output contains an SPN which is fully qualified, no fully qualified, with a port and without a port.

    Expected Output:

    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. If you don't see all of the above, run the following command in PowerShell or CMD in admin mode (make sure to change the port if you don't use default 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. Once above is complete it normally takes a few minutes for DNS propagation

Also, if you get a message about duplicate SPNs found, you may want to delete them and recreate them

Examples related to sql-server

Passing multiple values for same variable in stored procedure SQL permissions for roles Count the Number of Tables in a SQL Server Database Visual Studio 2017 does not have Business Intelligence Integration Services/Projects ALTER TABLE DROP COLUMN failed because one or more objects access this column Create Local SQL Server database How to create temp table using Create statement in SQL Server? SQL Query Where Date = Today Minus 7 Days How do I pass a list as a parameter in a stored procedure? SQL Server date format yyyymmdd

Examples related to tfs

git clone: Authentication failed for <URL> How to connect TFS in Visual Studio code .net Core 2.0 - Package was restored using .NetFramework 4.6.1 instead of target framework .netCore 2.0. The package may not be fully compatible The target principal name is incorrect. Cannot generate SSPI context Git in Visual Studio - add existing project? How to remove a TFS Workspace Mapping? How do I get my solution in Visual Studio back online in TFS? Error TF30063: You are not authorized to access ... \DefaultCollection Source file 'Properties\AssemblyInfo.cs' could not be found How to get tf.exe (TFS command line client)?

Examples related to kerberos

The target principal name is incorrect. Cannot generate SSPI context Cannot get Kerberos service ticket: KrbException: Server not found in Kerberos database (7) How to connect with Java into Active Directory How do I get JSON data from RESTful service using Python?

Examples related to sspi

The target principal name is incorrect. Cannot generate SSPI context Cannot create SSPI context

Examples related to spn

The target principal name is incorrect. Cannot generate SSPI context