MSSQL 2016: Service Broker non è riuscito ad allocare memoria per le operazioni di crittografia

Microsoft.SQLServer.2016.Service_Broker_was_not_able_to_allocate_memory_for_cryptographic_operations_5_Rule (Rule)

La regola attiva un avviso quando SQL Server Service Broker non riesce ad allocare la memoria per le operazioni di crittografia.

Knowledge Base article:

Riepilogo

Service Broker non è in grado di allocare memoria per operazioni di crittografia. Questo messaggio è sintomo di un altro problema.

Nota: alcuni errori nelle operazioni di crittografia non correlati a condizioni di memoria insufficiente possono essere riportati come errori di allocazione.

Cause

Questo errore viene registrato come evento MSSQLSERVER con ID 9634 nel registro applicazioni di Windows.

Soluzioni

Per ulteriori messaggi e informazioni su come risolvere il problema di origine, vedere il log degli errori di SQL Server.

Aumentare la memoria disponibile e riavviare il server. Per aumentare la memoria disponibile, prendere in considerazione le soluzioni riportate di seguito.:

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro.

Priorità

Definisce la priorità dell'avviso.

1

Gravità

Definisce la gravità dell'avviso.

2

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID9634
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: Service Broker non è riuscito ad allocare memoria per le operazioni di crittografia
{0}
Event LogApplication
CommentMom2016ID='{80FD1A3B-1CBC-451A-850E-234279CE3CAE}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.Service_Broker_was_not_able_to_allocate_memory_for_cryptographic_operations_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{80FD1A3B-1CBC-451A-850E-234279CE3CAE}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" 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>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>9634</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Service_Broker_was_not_able_to_allocate_memory_for_cryptographic_operations_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>