DFS-R : base de données de réplication

Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor (UnitMonitor)

Cet objet surveille la base de données de réplication DFS et crée une alerte d'avertissement si des erreurs surviennent et empêchent la réplication DFS de récupérer automatiquement.

Knowledge Base article:

Résumé

Cet objet surveille les opérations de récupération sur la base de données de la réplication DFS et crée une alerte d'avertissement si une erreur survient. Il agit en recherchant la présence d'un événement 2104 de réplication DFS.

Causes

Un état non intègre de cette analyse indique que la réplication s'est arrêtée à cause d'une erreur interne avec la base de données de réplication. Ceci peut se produire pour les raisons suivantes :

Résolutions

Attendez que la recréation de la base de données se termine

Aucune action n'est nécessaire.

La réplication DFS reconstruit automatiquement la base de données puis commence la synchronisation initiale pour tous les dossiers répliqués hébergés sur ce volume. Par conséquent, cela peut prendre beaucoup de temps pour que la récupération se termine, en fonction de la quantité de données et du nombre de fichiers dans les dossiers répliqués sur le volume précisé.

Si vous constatez que cette erreur survient fréquemment, exécutez la commande chkdsk sur le volume concerné afin de savoir si ce sont les erreurs de disque qui provoquent ce problème, et examinez le journal des événements système à la recherche d'erreurs en lien avec le disque.

Augmentez l'espace disque disponible

Si le volume hébergeant le dossier intermédiaire ou les fichiers journaux de débogage est faible sur l'espace disque, augmentez l'espace disque disponible sur le volume, augmentez la taille du volume, ou changez le chemin du dossier intermédiaire pour un volume avec plus d'espace disque disponible.

Pour vérifier manuellement l'espace disque disponible, ouvrez une fenêtre d’invite de commandes, puis tapez la commande suivante où [servername] correspond au nom du serveur hébergeant le dossier concerné et [domain\user] est votre nom d'utilisateur :

WMIC /node: "[servername]" /user: [domain\user] volume list status.

Après avoir libéré de l'espace, redémarrez le service de réplication DFS.

Vérifiez les erreurs de volume

Si ce problème survient fréquemment, utilisez la commande chkdsk pour vérifier le volume hébergeant la base de données de la réplication DFS. Vérifiez également le journal système dans l'Observateur d'événements, à la recherche d'événements avec la source NTFS. Ces événements peuvent indiquer si le disque est défectueux.

Si vous continuez d'expérimenter des problèmes, contactez le support technique de Microsoft (http://support.microsoft.com).

Vérification

Une fois la réplication terminée et après que la réplication DFS a enregistré l'événement 2106 ou 4108, cette analyse se réinitialise automatiquement à un état intègre.

Pour confirmer manuellement que la réplication est intègre, exécutez un test de propagation dans le dossier concerné à l'aide de la gestion DFS ou des commandes suivantes où [ReplicationGroup]correspond au nom du groupe de réplication et [ReplicatedFolder]est le nom du dossier répliqué :

Informations complémentaires

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.Volume
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R : erreur interne de la base de données de réplication
La réplication DFS n'a pas réussi à résoudre une erreur interne avec la base de données de réplication et a arrêté la réplication sur tous les dossiers répliqués sur ce volume.
Informations supplémentaires :
Erreur : {0} ({1} ({2}))
Volume : {3}.
GUID : {4}
Base de données : {5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.Volume" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.InternalDBErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[3]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[4]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[5]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[2]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[1]$</AlertParameter5>
<AlertParameter6>$Data/Context/Params/Param[6]$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.Volume"]/VolumeGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.Volume"]/VolumeGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2106</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2002</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2010</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>$Target/Property[Type="System!System.Entity"]/DisplayName$</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>