Kan de Windows-service AD FS niet starten vanwege een fout bij het laden van de configuratie

Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerServiceConfigurationInitializationErrorMonitor (UnitMonitor)

Knowledge Base article:

Samenvatting

De Windows-service AD FS kan niet worden gestart omdat de AD FS-configuratiedatabase niet juist is geladen.

Zodra de Windows-service AD FS is gestart, krijgt de monitor de status Groen en wordt de oorspronkelijke kritieke melding automatisch gewist.

Oorzaken

Deze gebeurtenis kan de volgende oorzaken hebben:

Oorzaak

Oplossing

De externe computer die de SQL-serverdatabase host is niet bereikbaar.

Gebruik Ping.exe om te controleren of de externe computer vanaf de federatieserver kan worden bereikt.

De computer waarop SQL-server wordt uitgevoerd en die geconfigureerd is voor het opslaan van AD FS-configuratiegegevens is niet opgestart.

Start het SQL-server exemplaar dat de AdfsConfiguration-database host.

Controleer of de service de "sc query mssqlserver" uitvoert op de computer die de SQL-server host en zorg voor STATUS = ACTIEF. Hierbij wordt ervan uitgegaan dat het standaard exemplaar van SQL-server wordt gebruikt. Ieder exemplaar van de SQL-serverdatabase heeft zijn eigen services en u kunt de namen daarvan controleren door het Services-knooppunt in Serverbeheer te bekijken. Zodra u het bijbehorende benoemde exemplaar hebt gevonden, start u de service met behulp van "net start mssqlserver" op de externe computer met SQL-server.

De WID die geconfigureerd is voor het opslaan van AD FS-configuratiegegevens is niet opgestart.

Start het WID-exemplaar dat de AdfsConfiguration-database host.

Controleer of de service de sc-query mssql$microsoft##ssee uitvoert op de computer die de Federation Service host en zorg voor STATUS = ACTIEF. Let op: dit is de naam van het standaard WID-exemplaar dat gebruikt wordt. Start de service door net start mssql$microsoft##ssee op de federatieservercomputer te gebruiken.

De identiteit van de Windows-service AD FS kan niet worden aangemeld bij de SQL-server.

Zorg dat de SQL-server actief is onder een ingebouwd account, zoals NetworkService of LocalSystem. Als de SQL-server actief is onder een domeinaccount, controleert u of de SPN (Service Principal Name) voor dat account juist is geregistreerd.

Om de SPN te controleren, gebruikt u de volgende syntaxis bij de opdracht SetSpn.exe:

SetSpn -L <serviceaccount>

The output of this command should have MSSQLSvc/<SQL server name>.

Een andere mogelijke oplossing voor deze fout is om met SQL Management Studio verbinding te maken met de SQL-server en de volgende instellingen te controleren:

  • Confirm that the AD FS Windows service identity is present under the Security->Logins node in the SQL console.

  • Confirm that the AD FS Windows service identity is present under Databases->AdfsConfiguration->Security->Users, and that it owns the IdentityServerPolicy schema.

De identiteit van de Windows-service AD FS kan worden aangemeld bij de SQL-server, maar heeft geen toegang tot de AdfsConfiguration-database.

Gebruik SQL Server Management Studio om de identiteit van de Windows-service AD FS eigenaar te maken van het schema IdentityServerPolicy (zie de vorige omzetting).

Er treedt een time-out op van de SQL-server.

Deze fout kan de volgende oplossingen hebben:

  • Stel de querybelasting op de SQL-serverinstallatie vast door andere databases te bekijken die op de computer zijn gehost.

  • U kunt AdfsConfiguration hosten op een toegewijde server.

  • Start SQL-server opnieuw.

De ACL-machtigingen van AD FS-eindpunten zijn niet juist ingesteld.

Voer de wizard Configuratie AD FS Federatie-server nogmaals uit om ACL-machtigingen voor de gespecificeerde eindpunten te herstellen.

Oplossingen

Zie boven.

Element properties:

TargetMicrosoft.ActiveDirectoryFederationServices2012R2.FederationServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Kan de Windows-service AD FS niet starten vanwege een fout bij het laden van de configuratie
Kan de AD FS-configuratiedatabase niet juist laden. Kan de Windows-service AD FS niet starten.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerServiceConfigurationInitializationErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerServiceConfigurationInitializationErrorMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">220</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">100</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>