Uruchomienie usługi systemu Windows usług AD FS nie powiodło się z powodu błędu ładowania konfiguracji

Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerServiceConfigurationInitializationErrorMonitor (UnitMonitor)

Knowledge Base article:

Podsumowanie

Nie powiodło się uruchomienie usługi systemu Windows usług AD FS, ponieważ nie można było prawidłowo załadować bazy danych konfiguracji usług AD FS.

Jeśli usługa systemu Windows usług AD FS zostanie pomyślnie uruchomiona, stan monitora zmieni się na Zielony, a pierwotny alert krytyczny zostanie automatycznie rozwiązany.

Przyczyny

Oto możliwe przyczyny tego zdarzenia:

Przyczyna

Rozwiązanie

Komputer zdalny hostujący bazę danych serwera SQL jest nieosiągalny.

Użyj narzędzia Ping.exe w celu sprawdzenia, czy komputer zdalny może zostać osiągnięty z serwera federacyjnego.

Komputer z serwerem SQL skonfigurowany do magazynowania danych konfiguracji usług AD FS nie został uruchomiony.

Uruchom wystąpienie serwera SQL hostujące bazę danych AdfsConfiguration.

Sprawdź, czy usługa działa, uruchamiając polecenie „sc query mssqlserver” na komputerze hostującym serwer SQL, i upewnij się, że jej stan to Uruchomiona (STATE = RUNNING). Musi być używane domyślne wystąpienie serwera SQL. Każde wystąpienie bazy danych serwera SQL ma własne usługi, których nazwy można sprawdzić w węźle Usługi w Menedżerze serwera. Po zlokalizowaniu odpowiedniego wystąpienia nazwanego uruchom usługę za pomocą polecenia „net start mssqlserver” na komputerze zdalnym z serwerem SQL.

Wewnętrzna baza danych systemu Windows (WID) skonfigurowana do magazynowania danych konfiguracyjnych usług AD FS nie została uruchomiona.

Uruchom wystąpienie bazy danych WID hostujące bazę danych AdfsConfiguration.

Sprawdź, czy usługa działa, uruchamiając polecenie „sc query mssql$microsoft##ssee” na komputerze hostującym usługę federacyjną, i upewnij się, że jej stan to Uruchomiona (STATE = RUNNING). Należy pamiętać, że jest to nazwa używanego domyślnego wystąpienia bazy danych WID. Uruchom usługę za pomocą polecenia net start mssql$microsoft##ssee na serwerze federacyjnym.

Tożsamość usługi systemu Windows usług AD FS nie może się zalogować do serwera SQL.

Sprawdź, czy serwer SQL działa w ramach wbudowanego konta, takiego jak Usługa sieciowa lub System lokalny. Jeśli serwer SQL działa w ramach konta domeny, sprawdź, czy nazwa główna usługi (SPN) dla tego konta została prawidłowo zarejestrowana.

Aby sprawdzić główną nazwę usługi, użyj polecenia SetSpn.exe o następującej składni:

SetSpn -L <serviceaccount>

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

Innym możliwym rozwiązaniem tego błędu jest połączenie się z serwerem SQL za pomocą narzędzia SQL Management Studio i sprawdzenie następujących ustawień:

  • 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.

Tożsamość usługi systemu Windows usług AD FS może zalogować się na serwerze SQL, ale nie ma dostępu do bazy danych AdfsConfiguration.

Za pomocą narzędzia SQL Server Management Studio ustaw tożsamość usługi systemu Windows usług AD FS jako właściciela schematu IdentityServerPolicy (zob. poprzednie rozwiązanie).

Serwer SQL przekracza limit czasu.

Oto możliwe rozwiązania tego błędu:

  • Określ obciążenie kwerendami w instalacji serwera SQL, sprawdzając inne bazy danych hostowane na komputerze.

  • Rozważ hostowanie bazy danych AdfsConfiguration na dedykowanym serwerze.

  • Uruchom ponownie serwer SQL.

Uprawnienia list ACL w punktach końcowych usług AD FS nie są prawidłowo ustawione.

Uruchom ponownie kreatora konfiguracji serwera federacyjnego usług AD FS, aby naprawić uprawnienia list ACL w określonych punktach końcowych.

Rozwiązania

Zob. wyżej.

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
Uruchomienie usługi systemu Windows usług AD FS nie powiodło się z powodu błędu ładowania konfiguracji
Nie można prawidłowo załadować bazy danych konfiguracji usług AD FS. Nie powiodło się uruchomienie usługi systemu Windows usług AD FS.
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>