Impossible de nettoyer les tables de l'historique de distribution

Microsoft.SQLServer.2008.CouldNotCleanUpDistributionHistoryTablesRule (Rule)

Knowledge Base article:

Résumé

Le processus de nettoyage de l'historique de distribution n'a pas réussi à supprimer les lignes expirées d'une ou de plusieurs des tables d'historique.

Causes

Les données des tables d'historique comprennent la table msdbsysreplicationalerts et les tables de la base de données de distribution MSsnapshot_history, MSlogreader_history, MSdistribution_history, MSqreader_history, MSmerge_history et MSrepl_errors ne peuvent pas être supprimées.

Solutions

Recherchez dans l'historique des travaux ou d'autres journaux d'autres messages ayant pu se produire en même temps que cette erreur. Corrigez d'abord ces messages.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

Priorité

Définit la priorité de l'alerte.

2

Gravité

Définit la gravité de l'alerte.

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Impossible de nettoyer les tables de l'historique de distribution
{0}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2008.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.CouldNotCleanUpDistributionHistoryTablesRule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2008.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<PublisherName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</PublisherName>
<EventNumber>20553</EventNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.CouldNotCleanUpDistributionHistoryTablesRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>