MSSQL 2016: non è possibile avviare lo strumento di gestione di Service Broker a causa di un errore del sistema operativo

Microsoft.SQLServer.2016.Cannot_start_service_broker_manager_due_to_operating_system_error_5_Rule (Rule)

La regola attiva un avviso quando SQL Server non riesce ad avviare lo strumento di gestione di Service Broker a causa di un errore del sistema operativo.

Knowledge Base article:

Riepilogo

Si è verificato un problema che impedisce l'avvio di Service Broker. Controllare se nel log degli errori di SQL Server sono registrati altri messaggi.

Cause

Durante l'avvio di SQL Server, Service Broker ha rilevato un'incoerenza nel database. Ciò non indica un problema relativo a Service Broker, ma è necessario investigare per stabilire la causa principale dell'errore. Questo errore viene registrato nel registro applicazioni di Windows come ID evento 28002 di MSSQLSERVER.

Soluzioni

Controllare la presenza di errori nel registro eventi di sistema e nel registro applicazioni di Windows. Correggere qualsiasi errore rilevato e riavviare il servizio SQL Server.

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_ID28002
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: non è possibile avviare lo strumento di gestione di Service Broker a causa di un errore del sistema operativo
{0}
Event LogApplication
CommentMom2016ID='{8786F816-4707-41A1-A4BE-74F6649936D3}';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.Cannot_start_service_broker_manager_due_to_operating_system_error_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{8786F816-4707-41A1-A4BE-74F6649936D3}';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>28002</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.Cannot_start_service_broker_manager_due_to_operating_system_error_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>