証明書サービスは開始されませんでした: データベース接続。
証明機関 (CA) データベースには、要求、要求者、要求が許可または拒否されたかを含めたすべての証明書トランザクション、秘密キー、シリアル番号、有効期限など発行された証明書の情報、および失効した証明書の情報が記録されます。CA データベースへアクセスできなければ、CA は起動および正しく作動できません。
CA と証明書データベースの間の接続を有効にする
証明機関 (CA) はレジストリ内で特定された証明書データベース ファイルに接続できる必要があります。この問題を解決するには、レジストリ内に特定された問題が存在していることを確認し、存在している場合はそのレジストリが壊れていないかどうかを確認します。
この手順を実行するには、ローカルの管理者権限を持っているか、適切な権限を委任されている必要があります。
証明機関 (CA) と証明書データベースの間の接続を有効にするには、次の手順を実行します。
注意:レジストリを誤って編集すると、システムに重大な障害をもたらす可能性があります。レジストリを変更する前に、重要なデータのバックアップを作成するようにしてください。
CA をホストしているコンピューター上で、[スタート] をクリックし、「regedit」と入力してから、Enter キーを押します。
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration」に移動します。
DBLogDirectory、DBSystemDirectory、および DBTempDirectory という REG_SZ エントリの値データを確認します。次に、これらのロケーションに CA データベース ファイルがあることを確認します。
コマンド プロンプトで「Esentutl.exe /g <databasename> 」と入力し、Enter キーを押して、壊れているデータベースがないかどうかを確認します。
「databasename」をレジストリ設定内で表示されているデータベースの名前に置き換えます。
データベースが壊れている場合、コマンド プロンプトで「Esentutl /r <databasename>」と入力し、Enter キーを押して問題を修正します。
Active Directory 証明書サービス (AD CS) を再起動します。
Active Directory 証明書サービス (AD CS) サービスを開始するには、証明書データベースが使用可能になっている必要があります。
この手順を実行するには、証明機関 (CA) をホストしているコンピューター上のローカルの Administrators のメンバーであるか、適切な権限が委任されている必要があります。
CA データベース接続が有効になっていることを確認するには、次の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、[管理ツール] をポイントし、[サービス] をクリックします。
「Active Directory 証明書サービス」サービスの「ステータス」列に「開始」と表示されている場合、CA データベース接続が有効であることを表します。
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 17 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.17" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">17</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageID93ef9fe5caa24b0eacc22de5148f2b5d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>