MSSQL sur Windows : SQL Server n'a pas pu allouer suffisamment de mémoire pour démarrer le gestionnaire des tâches Service Broker

Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_could_not_allocate_enough_memory_to_start_Service_Broker_task_manager_5_Rule (Rule)

SQL Server Service Broker ne peut pas démarrer le gestionnaire des tâches Service Broker.

Knowledge Base article:

Résumé

SQL Server Service Broker ne peut pas démarrer le gestionnaire des tâches Service Broker.

Causes

Cette erreur est enregistrée dans le journal des applications Windows en tant qu'ID d'événement 9695 MSSQLSERVER. Cela peut être dû à un manque de mémoire pendant le démarrage du serveur. Ceci est sans doute lié à un ou plusieurs autres problèmes matériels ou logiciels de l'ordinateur.

Résolutions

Diagnostiquez le problème en suivant la même procédure que pour des conditions de mémoire insuffisante. Augmentez la mémoire disponible en supprimant moins d'applications essentielles ou en ajoutant de la mémoire virtuelle ou physique.

Pensez aux solutions suivantes pour augmenter la mémoire disponible :

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

Intervalle (en secondes)

Intervalle régulier (en secondes) auquel exécuter le flux de travail.

300

Priorité

Définit la priorité de l'alerte.

1

Gravité

Définit la gravité de l'alerte.

2

Heure de synchronisation

Heure de synchronisation

 

Délai d'expiration (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s’exécuter avant d’être fermé et marqué comme ayant échoué.

200

Délai d’attente pour la connexion de base de données (secondes)

Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Windows : SQL Server n'a pas pu allouer suffisamment de mémoire pour démarrer le gestionnaire des tâches Service Broker
{0}
CommentMom2017ID='{E1C60E5E-168D-4436-862B-48DB57C97270}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_could_not_allocate_enough_memory_to_start_Service_Broker_task_manager_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{E1C60E5E-168D-4436-862B-48DB57C97270}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9695</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.SQL_Server_could_not_allocate_enough_memory_to_start_Service_Broker_task_manager_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>