ANAVEM
Languageen
Windows server monitoring displays showing file replication status in a professional data center environment
Event ID 5805InformationDFSRWindows

ID d'événement Windows 5805 – DFSR : Récupération de la base de données terminée avec succès

L'ID d'événement 5805 indique que le service de réplication du système de fichiers distribués (DFSR) a terminé avec succès les opérations de récupération de la base de données après un arrêt inattendu ou un événement de corruption.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 5805DFSR 5 méthodes 12 min
Référence événement

Signification de cet événement

Le service de réplication du système de fichiers distribué maintient une base de données locale qui suit les métadonnées des fichiers, l'état de la réplication et les informations de version pour tout le contenu répliqué. Cette base de données, généralement située dans le dossier d'informations du volume système, est essentielle pour maintenir la cohérence entre les partenaires de réplication. Lorsque Windows s'arrête correctement, DFSR ferme proprement cette base de données et valide toutes les transactions en attente.

Cependant, lorsque le système subit un arrêt inattendu, une perte de courant, ou que le service DFSR se termine de manière anormale, la base de données peut se retrouver dans un état incohérent avec des transactions non validées ou des pages corrompues. Lors du prochain démarrage du service, DFSR détecte automatiquement cette condition et initie des procédures de récupération de la base de données en utilisant des mécanismes intégrés de relecture des journaux de transactions.

Le processus de récupération implique plusieurs phases : d'abord, DFSR vérifie l'intégrité de la base de données et identifie toute corruption ou incohérence. Ensuite, il relit les journaux de transactions pour récupérer les opérations validées qui n'ont pas été écrites dans la base de données avant l'interruption. Enfin, il annule toutes les transactions incomplètes et reconstruit les index nécessaires. L'ID d'événement 5805 confirme que l'ensemble de ce processus de récupération s'est terminé avec succès sans perte de données.

Bien que cet événement indique une récupération réussie, les administrateurs devraient enquêter sur la cause profonde des événements fréquents de récupération de la base de données, car ils peuvent indiquer des problèmes matériels, des procédures d'arrêt incorrectes ou une instabilité du système qui pourraient éventuellement entraîner une perte de données ou des échecs de réplication.

S'applique à

Windows Server 2019Windows Server 2022Windows Server 2025
Analyse

Causes possibles

  • Arrêt inattendu du système ou panne de courant pendant les opérations DFSR
  • Service DFSR terminé anormalement par un crash système ou une intervention manuelle
  • Problèmes de sous-système de stockage causant des échecs d'écriture de la base de données
  • Corruption de la mémoire affectant les opérations de la base de données DFSR
  • Logiciel antivirus interférant avec les fichiers de la base de données DFSR
  • Épuisement de l'espace disque sur le volume système pendant les opérations de la base de données
  • Défaillances matérielles affectant les contrôleurs de stockage ou les modules de mémoire
Méthodes de résolution

Étapes de dépannage

01

Examiner les détails de l'événement et la chronologie

Commencez par examiner les détails spécifiques de l'ID d'événement 5805 et en le corrélant avec les événements système pour comprendre le contexte de récupération.

  1. Ouvrez Observateur d'événements et accédez à Journaux des applications et des servicesRéplication DFS
  2. Localisez l'ID d'événement 5805 et examinez les détails de l'événement pour la durée de récupération et les bases de données affectées
  3. Vérifiez le journal Système pour les événements autour de la même période :
    Get-WinEvent -FilterHashtable @{LogName='System'; StartTime=(Get-Date).AddHours(-24)} | Where-Object {$_.Id -in @(1074,1076,6005,6006,6008)} | Select-Object TimeCreated,Id,LevelDisplayName,Message
  4. Cherchez les événements d'arrêt (1074), les événements de démarrage (6005) ou les indicateurs d'arrêt inattendu (6008)
  5. Documentez la fréquence des événements de récupération à l'aide de PowerShell :
    Get-WinEvent -FilterHashtable @{LogName='DFS Replication'; Id=5805; StartTime=(Get-Date).AddDays(-30)} | Group-Object {$_.TimeCreated.Date} | Sort-Object Name
Conseil pro : Si l'ID d'événement 5805 se produit fréquemment (quotidiennement ou plusieurs fois par semaine), examinez la stabilité du système et les procédures d'arrêt.
02

Vérifier la santé et la configuration du service DFSR

Assurez-vous que le service DFSR fonctionne correctement et vérifiez s'il y a des problèmes de configuration qui pourraient contribuer à des problèmes de base de données.

  1. Vérifiez l'état du service DFSR et le type de démarrage :
    Get-Service -Name DFSR | Select-Object Name,Status,StartType,ServiceType
  2. Examinez la configuration DFSR et la santé du groupe de réplication :
    Get-DfsReplicationGroup | Get-DfsrState -Verbose
  3. Vérifiez l'emplacement de la base de données DFSR et l'espace disque disponible :
    $dfsrConfig = Get-ItemProperty -Path "HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters"
    $dbPath = $dfsrConfig."Database Directory"
    Get-WmiObject -Class Win32_LogicalDisk | Where-Object {$_.DeviceID -eq (Split-Path $dbPath -Qualifier)} | Select-Object DeviceID,Size,FreeSpace,@{Name="FreeSpaceGB";Expression={[math]::Round($_.FreeSpace/1GB,2)}}
  4. Vérifiez l'intégrité de la base de données DFSR à l'aide des outils intégrés :
    dfsrdiag dumpmig /rgname:"ReplicationGroupName" /rfname:"ReplicatedFolderName"
  5. Vérifiez s'il y a un arriéré de réplication en attente qui pourrait indiquer des problèmes en cours :
    dfsrdiag backlog /rgname:"ReplicationGroupName" /rfname:"ReplicatedFolderName" /smem:SourceServer /rmem:DestinationServer
03

Analyser le sous-système de stockage et l'état de santé du matériel

Enquêter sur les problèmes potentiels de matériel ou de stockage qui pourraient causer une corruption de la base de données nécessitant une récupération.

  1. Vérifiez les journaux d'événements système pour les erreurs liées au stockage :
    Get-WinEvent -FilterHashtable @{LogName='System'; StartTime=(Get-Date).AddDays(-7)} | Where-Object {$_.ProviderName -match 'disk|storage|ntfs|volsnap'} | Where-Object {$_.LevelDisplayName -match 'Error|Warning'} | Select-Object TimeCreated,Id,ProviderName,LevelDisplayName,Message
  2. Exécutez des vérifications de l'état du disque sur le volume système :
    Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId,Temperature,PowerOnHours,UnsafeShutdownCount,ReadErrorsTotal,WriteErrorsTotal
  3. Vérifiez les données SMART pour les dispositifs de stockage :
    Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus | Select-Object InstanceName,PredictFailure,Reason
  4. Vérifiez l'intégrité du système de fichiers sur le volume système :
    chkdsk C: /f /r /x
  5. Surveillez l'utilisation de la mémoire et vérifiez les erreurs de mémoire :
    Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001} -MaxEvents 50 | Select-Object TimeCreated,Message
Avertissement : L'exécution de chkdsk avec le paramètre /f nécessite un redémarrage du système et peut prendre plusieurs heures sur de grands volumes.
04

Configurer des procédures d'arrêt appropriées et de surveillance

Mettre en œuvre des mesures pour prévenir les arrêts inattendus et améliorer la surveillance de l'état de la base de données DFSR.

  1. Configurer la stratégie de groupe pour empêcher les arrêts forcés pendant la réplication :
    Naviguer vers Configuration de l'ordinateurModèles d'administrationSystèmeOptions d'arrêt
    Activer "Désactiver la terminaison automatique des applications qui bloquent ou annulent l'arrêt"
  2. Configurer la surveillance des performances DFSR :
    $counterPaths = @(
        "\DFS Replication Service Connections(*)\Total Bytes Received",
        "\DFS Replication Service Volumes(*)\Database Commits",
        "\DFS Replication Service Volumes(*)\Database Lookups"
    )
    Get-Counter -Counter $counterPaths -SampleInterval 60 -MaxSamples 10
  3. Créer une tâche planifiée pour surveiller la santé de DFSR :
    $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command Get-DfsrState | Out-File C:\Logs\DFSRHealth.log -Append"
    $trigger = New-ScheduledTaskTrigger -Daily -At "02:00AM"
    Register-ScheduledTask -TaskName "DFSR Health Check" -Action $action -Trigger $trigger -Description "Surveillance quotidienne de la santé DFSR"
  4. Configurer Windows pour retarder l'arrêt du service DFSR :
    Modifier la clé de registre HKLM\SYSTEM\CurrentControlSet\Control
    Définir WaitToKillServiceTimeout à 60000 (60 secondes)
  5. Activer la journalisation de débogage DFSR pour un dépannage détaillé :
    wevtutil sl "DFS Replication" /l:5
05

Récupération et optimisation avancées de la base de données

Effectuer une maintenance et une optimisation avancées de la base de données DFSR pour prévenir les événements de récupération futurs.

  1. Arrêter le service DFSR et sauvegarder la base de données actuelle :
    Stop-Service DFSR -Force
    $dbPath = (Get-ItemProperty "HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters")."Database Directory"
    Copy-Item $dbPath "$dbPath.backup.$(Get-Date -Format 'yyyyMMdd')" -Recurse
  2. Effectuer une compaction de la base de données pour réduire la fragmentation :
    esentutl /d "$dbPath\DataBase_GUID.edb" /o
  3. Vérifier l'intégrité de la base de données et réparer si nécessaire :
    esentutl /g "$dbPath\DataBase_GUID.edb" /v
    esentutl /p "$dbPath\DataBase_GUID.edb" /o
  4. Optimiser les paramètres de la base de données DFSR dans le registre :
    Accéder à HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Parameters
    Créer un DWORD MaxLogFileSize avec la valeur 67108864 (64MB)
    Créer un DWORD LogFileCheckpointDepthMax avec la valeur 20971520
  5. Redémarrer le service DFSR et vérifier le fonctionnement :
    Start-Service DFSR
    Start-Sleep 30
    Get-WinEvent -FilterHashtable @{LogName='DFS Replication'; Id=@(4102,5002)} -MaxEvents 5
  6. Surveiller le démarrage réussi et vérifier l'absence d'événements de récupération immédiats :
    Get-WinEvent -FilterHashtable @{LogName='DFS Replication'; Id=5805; StartTime=(Get-Date).AddMinutes(-10)} -ErrorAction SilentlyContinue
Avertissement : Les opérations de réparation de la base de données peuvent prendre plusieurs heures et peuvent entraîner une perte de données. Sauvegardez toujours la base de données avant d'effectuer des opérations de réparation.

Aperçu

L'ID d'événement 5805 du service DFSR (Distributed File System Replication) indique l'achèvement réussi des opérations de récupération de la base de données. Cet événement se déclenche lorsque le service DFSR démarre et détecte que sa base de données interne nécessite une récupération en raison d'un arrêt incorrect, d'une panne de courant ou d'une corruption de la base de données. Le processus de récupération implique la vérification de l'intégrité de la base de données, le retour en arrière des transactions incomplètes et l'assurance que la base de données de réplication est dans un état cohérent.

Cet événement apparaît généralement dans le journal des événements de réplication DFS après les redémarrages du système, en particulier après des arrêts inattendus ou lorsque le service DFSR a été terminé de manière anormale. Bien qu'il s'agisse d'un événement informatif indiquant une récupération réussie, des occurrences fréquentes peuvent suggérer des problèmes sous-jacents de stabilité du système, des problèmes de sous-système de stockage ou des procédures d'arrêt incorrectes.

La base de données DFSR stocke des métadonnées sur les fichiers répliqués, les vecteurs de version et les informations d'état de réplication. Lorsque cette base de données devient incohérente, le service initie automatiquement des procédures de récupération pour maintenir l'intégrité des données à travers la topologie de réplication. Comprendre cet événement aide les administrateurs à surveiller la santé du DFSR et à identifier les problèmes potentiels d'infrastructure.

Questions Fréquentes

Que signifie l'ID d'événement 5805 et est-ce grave ?+
L'ID d'événement 5805 indique que DFSR a réussi à terminer la récupération de la base de données après avoir détecté un état incohérent, généralement après un arrêt inattendu. Bien que l'événement lui-même montre une récupération réussie, des occurrences fréquentes suggèrent des problèmes de stabilité du système sous-jacents qui devraient être investigués. Le processus de récupération garantit l'intégrité des données, mais des événements répétés peuvent indiquer des problèmes matériels, des procédures d'arrêt incorrectes ou des problèmes de sous-système de stockage qui pourraient éventuellement conduire à des problèmes plus graves.
À quelle fréquence devrais-je m'attendre à voir l'ID d'événement 5805 dans mon environnement ?+
Dans un environnement sain, l'ID d'événement 5805 devrait être rare, apparaissant uniquement après des arrêts inattendus réels comme des pannes de courant ou des plantages système. Si vous voyez cet événement plus d'une fois par mois par serveur, examinez la stabilité du système, les procédures d'arrêt et l'état du matériel. Des événements de récupération fréquents (hebdomadaires ou quotidiens) indiquent des problèmes sous-jacents graves nécessitant une attention immédiate, car ils suggèrent que la base de données DFSR est laissée de manière répétée dans un état incohérent.
L'ID d'événement 5805 peut-il causer une perte de données dans mes dossiers répliqués ?+
L'ID d'événement 5805 indique lui-même une récupération réussie sans perte de données. Le processus de récupération DFSR est conçu pour maintenir l'intégrité des données en rejouant les transactions validées et en annulant celles incomplètes. Cependant, les conditions sous-jacentes qui déclenchent des événements de récupération fréquents (pannes matérielles, corruption, arrêts inattendus) pourraient potentiellement entraîner une perte de données si elles ne sont pas traitées. Le processus de récupération protège contre la corruption de la base de données mais ne peut pas empêcher la perte de données due à des pannes de stockage physique ou à une corruption sévère du système.
Que dois-je faire si l'ID d'événement 5805 apparaît chaque fois que je redémarre mon serveur ?+
Si l'ID d'événement 5805 apparaît après chaque redémarrage, vérifiez vos procédures d'arrêt et la configuration du système. Assurez-vous que le service DFSR dispose de suffisamment de temps pour s'arrêter correctement en augmentant la valeur de registre WaitToKillServiceTimeout. Vérifiez qu'aucune application ou processus ne termine de force le service DFSR lors de l'arrêt. Vérifiez les problèmes du sous-système de stockage, les interférences de l'antivirus ou l'espace disque insuffisant. Envisagez d'activer la journalisation de débogage DFSR pour capturer des informations plus détaillées sur ce qui provoque la nécessité de récupérer la base de données à chaque démarrage.
Comment puis-je empêcher l'ID d'événement 5805 de se produire à l'avenir ?+
Empêchez l'ID d'événement 5805 en assurant des procédures d'arrêt système appropriées, en maintenant un espace disque adéquat sur le volume système et en résolvant rapidement les problèmes matériels. Configurez la stratégie de groupe pour empêcher la terminaison forcée des applications lors de l'arrêt, augmentez les valeurs de délai d'attente d'arrêt des services et implémentez des systèmes UPS pour éviter les pertes de courant inattendues. Une surveillance régulière de la santé du stockage, de l'intégrité de la mémoire et de la stabilité du système aidera à identifier les problèmes potentiels avant qu'ils ne causent une corruption de la base de données. Établissez des fenêtres de maintenance appropriées pour les mises à jour et redémarrages du système afin d'assurer des arrêts propres.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...