Encryption requested but no valid certificate was found. SQL Server terminating.

Microsoft.SQLServer.2000.Encryption_requested_but_no_valid_certificate_was_found__SQL_Server_terminating (Rule)

Knowledge Base article:

Causes

The Force protocol encryption option has been checked in the Server Network Utility for this SQL Server instance. This forces communication between all clients and this SQL Server instance to be encrypted through certificates. Therefore, if a certificate is not installed on the computer that is running SQL Server, or if SQL Server cannot validate that the certificate is appropriate for use with SSL-based encryption, SQL Server fails to start.

Resolutions

For a nonclustered instance of SQL Server, you can choose to turn off the Force protocol encryption option. This option is available in the Server Network Utility as a check box. Turning this option off means that connections will no longer be encrypted. However, turning this option off is not possible for a clustered instance of SQL Server because once you have enabled server-side protocol encryption, you cannot turn it off.

If you choose to use the Force protocol encryption option, you must ensure that the SQL Server instance has an available, properly configured certificate.

External

For more information about the Force protocol encryption option on a clustered instance, see Microsoft Knowledge Base article 319349.

For more information about how SQL Server uses a certificate when the Force protocol encryption option is on, see Microsoft Knowledge Base article 318605.

Element properties:

TargetMicrosoft.SQLServer.2000.DBEngine
CategoryEventCollection
EnabledTrue
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Encryption requested but no valid certificate was found. SQL Server terminating.
{0}
Event LogApplication
CommentMom2005ID='{8B95F207-9E4D-4F29-A579-FEC28DAC26EF}'

Member Modules:

ID Module Type TypeId RunAs 
EventDS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2000.Encryption_requested_but_no_valid_certificate_was_found__SQL_Server_terminating" Target="SQL2000Core!Microsoft.SQLServer.2000.DBEngine" Enabled="true" Comment="Mom2005ID='{8B95F207-9E4D-4F29-A579-FEC28DAC26EF}'" Remotable="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="EventDS" 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>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>^(17052|17055)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDescription</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005BooleanRegularExpression</Operator>
<Pattern>(^.*19015 and (not ^.*\n.*19015)) or (^.*19015.*\n.*19015)</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner>$Data/PublisherName$</AlertOwner>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2000.Encryption_requested_but_no_valid_certificate_was_found__SQL_Server_terminating.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>