Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server op Windows
Overzicht
Dit artikel helpt u bij het oplossen van kerberos-, gekoppelde server- en beschikbaarheidsgroepverificatiefouten wanneer SQL Server wordt uitgevoerd onder een door een groep beheerd serviceaccount (gMSA). Deze fouten hebben dezelfde oorzaken of het serviceaccount een gMSA- of een domeingebruikersaccount is. Gebruik de volgende verwijzingen voor een volledig diagnostisch pad:
Gebruik de volgende secties voor de verschillen die alleen van toepassing zijn op gMSA's, zoals het eigendom, delegering en eindpuntmachtigingen van de service-principalnaam (SPN).
Voordat u begint, controleert u de vereisten en voert u de controlelijst voor snelle validatie uit in Probleemoplossing SQL Server installatie-, opstart- en verificatiefouten met gMSA's.
fouten met Kerberos of SPN
SPN's voor de gMSA controleren
Maak een lijst met SPN's met de computeraccountvorm van de naam. Een gMSA is een computerklasseobject, dus voor de accountnaam is een afsluitend dollarteken vereist.
setspn -L CONTOSO\SQLgMSA$ setspn -Q MSSQLSvc/sql01.contoso.com:1433Controleer of automatische SPN-registratie mogelijk is. SQL Server registreert de SPN alleen bij het opstarten als het serviceaccount naar een eigen
servicePrincipalNamekenmerk kan schrijven. Als de gMSA niet over deze machtiging beschikt, meldt het SQL Server foutenlogboek dat de SPN niet kan worden geregistreerd en moet een beheerder deze handmatig registreren. Zie Een service-principalnaam registreren voor Kerberos-verbindingen voor meer informatie.Controleer het eigendom van SPN opnieuw nadat een serviceaccount is gewijzigd. SPN's die zijn geregistreerd op het vorige account, blijven op dat account staan. Verplaats of verwijder ze zodat de verwachte
MSSQLSvcSPN precies één eigenaar heeft: de gMSA waaronder SQL Server nu wordt uitgevoerd.
Kerberos-verificatie voor de gMSA verifiëren
Voer de volgende opdracht uit op de client voordat u de test opnieuw uitvoert.
klist purgeMaak opnieuw verbinding vanaf een externe Windows geverifieerde sessie en voer de volgende query uit.
SELECT c.auth_scheme, c.net_transport, c.client_net_address FROM sys.dm_exec_connections AS c WHERE c.session_id = @@SPID;Verwacht resultaat: een nieuwe externe verbinding met Windows-verificatie vermeldt
KERBEROS.
Zie de volgende verwijzingen voor ontbrekende, dubbele of verkeerd geplaatste SPN's en voor Kerberos-Configuration Manager:
- Kan geen SSPI-context genereren
- Expliciet verkeerd geplaatste SPN
- Kerberos-Configuration Manager gebruiken
Fouten met gekoppelde servers of double-hop
Een gekoppelde server die gebruikmaakt van de huidige beveiligingscontext mislukt met NT AUTHORITY\ANONYMOUS LOGON wanneer bij de tweede hop de gebruikersidentiteit niet kan worden gedelegeerd. U hebt juiste SPN's nodig, maar ze schakelen de tweede hop niet zelf in.
Delegatie controleren voor de gMSA
- Configureer beperkte delegatie voor het gMSA-object door
msDS-AllowedToDelegateToin te stellen, of door resourcegebaseerde beperkte delegatie op de bestemming te configureren. Delegering die is geconfigureerd voor een gebruikersaccount, is niet van toepassing. - Als u het serviceaccount van een domeingebruikersaccount hebt gewijzigd in een gMSA, controleert u of de delegeringsinstellingen opnieuw zijn gemaakt op de gMSA. Delegatie gaat niet mee met de SPN.
Controleer de eerste hop voordat u delegatie onderzoekt.
SELECT ORIGINAL_LOGIN() AS original_login, SUSER_SNAME() AS execution_login, c.auth_scheme
FROM sys.dm_exec_connections AS c
WHERE c.session_id = @@SPID;
Verwacht resultaat: de eerste hop rapporteert KERBEROS.
Zie de volgende verwijzingen voor het volledige diagnostische pad met dubbele hops:
- Aanmelden is mislukt voor gebruiker NT AUTHORITY\ANONYMOUS LOGON
- Connectiviteitsfouten met gekoppelde servers in SQL Server
- U kunt Kerberos-onbeperkte delegatie niet gebruiken in bepaalde versies van Windows
Authenticatiefouten van replica’s van beschikbaarheidsgroepen
Connectiviteit van beschikbaarheidsgroepen is afhankelijk van eindpuntstatus, URL en poort, firewall, DNS, CONNECT machtiging en verificatie van serviceaccounts. Valideer deze afzonderlijk van client Kerberos en gebruik alleen SPN-bewijs wanneer de fout specifiek Kerberos of SSPI aangeeft.
Eindpuntmachtigingen voor de gMSA controleren
- Verleen
CONNECTop het databasespiegelingseindpunt aan de gMSA-login in de vorm[CONTOSO\SQLgMSA$]op elke replica. Een aanmelding die is gemaakt voor het vorige serviceaccount, autoriseert de gMSA niet. - Als replica's worden uitgevoerd onder verschillende gMSA's, controleert u of elke replica een aanmelding en
CONNECTmachtiging heeft voor elk partnerserviceaccount.
SELECT ar.replica_server_name, ars.role_desc, ars.connected_state_desc, ars.synchronization_health_desc
FROM sys.availability_replicas AS ar
LEFT JOIN sys.dm_hadr_availability_replica_states AS ars ON ar.replica_id = ars.replica_id;
SELECT name, state_desc, type_desc, port
FROM sys.tcp_endpoints
WHERE type_desc = 'DATABASE_MIRRORING';
Verwacht resultaat: het eindpunt is STARTED, de poort is bereikbaar en de replicastatus wordt voortgezet naar CONNECTED.
Zie Beschikbaarheidsreplica is losgekoppeld binnen een Always On-beschikbaarheidsgroep en Problemen met de configuratie van Always On-beschikbaarheidsgroepen oplossen voor het oplossen van problemen met eindpunten, firewalls en connectiviteit die niet specifiek zijn voor het serviceaccount.
Diagnostische gegevens verzamelen
Als de verificatie nog steeds mislukt nadat u deze stappen hebt voltooid, verzamelt u diagnostische gegevens van de SQL Server host en elke betrokken replica voor hetzelfde foutinterval. Zie Diagnostische gegevens verzamelen in het overzicht van het oplossen van problemen met gMSA voor het verzamelen van gMSA-specifieke gegevens en standaardlogboeken SQL Server. Gebruik deze gegevens om door te gaan met het onderzoek of om een ondersteuningsaanvraag te openen.