An Azure relational database service.
Hello Steve !
Thank you for posting on MS Learn Q&A.
I think the client tried Windows auth using Kerberos but could not build a valid security context and this is commonly caused by SPN or name resolution problems or Kerberos not falling back successfully.
For Azure SQL Managed Instance with Windows auth, the client should be able to obtain a Kerberos ticket for an SPN like:
MSSQLSvc/<mi-name>.<dns-zone>.database.windows.net:1433
You can test this on an affected VPN client:
klist purge
klist get krbtgt/kerberos.microsoftonline.com
klist get MSSQLSvc/<mi-name>.<dns-zone>.database.windows.net:1433
MSSQLSvc ticket should come from the kerberos.microsoftonline.com and error 0x6fb indicates the SQL SPN was not found or the Kerberos trust flow is incomplete.
So try to verify that the SQL MI FQDN resolves the same way over AOVPN as it does on prem or DirectAccess. split tunnel often misses the right DNS suffix, NRPT rule, private DNS zone or route.
The tunnel must allow traffic to:
- SQL MI private endpoint/subnet or MI VNet endpoint
- Domain Controllers/KDCs, if using the incoming trust-based flow
- Microsoft Entra Kerberos endpoints
There is a known Always On VPN pattern where SQL/SSMS Kerberos fails with this exact error unless the VPN profile is configured not to reuse RAS credentials. For Windows 11 24H2+, test adding this to the VPN ProfileXML:
<UseRasCredentials>false</UseRasCredentials>
For older clients, test setting this in rasphone.pbk:
UseRasCredentials=0
This workaround is specifically reported for Always On VPN + SQL target principal name is incorrect scenarios.
Use the exact Azure SQL MI FQDN expected by Kerberos because using an IP address, short name, CNAME or different DNS alias can make the SPN mismatch.