Partager via


Le basculement de base de données provoque une erreur ExAssertException

Symptômes

Lorsque vous lancez un basculement de base de données, le basculement échoue et génère des entrées de journal des événements qui ressemblent aux entrées suivantes.

Entrée d’événement 1

ID: "1001"
Level: "Error"
Source: "MSExchangeIS"
Message: "Microsoft Exchange Server Information Store has encountered an internal logic error. Internal error 
text is (ProcessId perf counter (0) does not match actual process id (34864).) with a call stack of (at 
Microsoft.Exchange.Server.Storage.Common.ErrorHelper.AssertRetail(Boolean assertCondition, String message) at 
Microsoft.Exchange.Server.Storage.Common.Globals.AssertRetail(Boolean assertCondition, String message) at 
Microsoft.Exchange.Server.Storage.StoreCommonServices.PerformanceCounterFactory.CreateDatabaseInstance(StoreDatabase 
database)"

Entrée d’événement 2

ID: "1002"
Level: "Error"
Source: "MSExchangeIS"
Message: "Unhandled exception (Microsoft.Exchange.Diagnostics.ExAssertException: ASSERT: ProcessId perf counter (0) 
does not match actual process id (34864) at Microsoft.Exchange.Diagnostics.ExAssert.AssertInternal(String formatString, 
Object[] parameters) at Microsoft.Exchange.Server.Storage.Common.ErrorHelper.AssertRetail(Boolean assertCondition, String 
message) at Microsoft.Exchange.Server.Storage.Common.Globals.AssertRetail(Boolean assertCondition, String message) at 
Microsoft.Exchange.Server.Storage.StoreCommonServices.PerformanceCounterFactory.CreateDatabaseInstance(StoreDatabase database)"

Entrée d’événement 3

ID: "4999"
Level: "Error"
Source: "MSExchange Common"
Message: "Watson report about to be sent for process id: <process ID>, with parameters: E12, c-RTL-AMD64, 
15.01.2375.031, M.E.Store.Worker, M.E.S.Storage.StoreCommonServices, 
M.E.S.S.S.PerformanceCounterFactory.CreateDatabaseInstance, M.E.Diagnostics.ExAssertException, 
6c3-dumptidset, 15.01.2375.031."

La cause

La taille par défaut du fichier de page pour les compteurs de performances est insuffisante. Le service Microsoft Exchange Information Store (MSExchangeIS) définit la taille par défaut du fichier de page.

Résolution

Pour résoudre le problème, augmentez la taille du fichier de page pour les compteurs de performances. Procédez comme suit.

Important

Cette section, méthode ou tâche contient des étapes qui vous indiquent comment modifier le registre. Cependant, des problèmes sérieux peuvent survenir si vous modifiez le registre de manière incorrecte. Par conséquent, veillez à suivre attentivement ces étapes. Pour pallier à toute éventualité, sauvegardez le Registre avant de le modifier afin de pouvoir le restaurer en cas de problème. Pour plus d’informations sur la sauvegarde et la restauration du Registre, consultez Comment sauvegarder et restaurer le Registre dans Windows.

  1. Exécutez regedit.

  2. Supprimez la sous-clé de Registre suivante :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<server name>-NonReplicated

  3. (Facultatif) Si un autre serveur Exchange qui n’a pas le problème est disponible, copiez le fichier MSExchangeISStorePerfCounters.xml de ce serveur vers le serveur concerné. Le fichier se trouve dans le dossier %ExchangeInstallPath%Setup\Perf .

  4. Augmentez la taille du fichier de page pour les compteurs de performances en exécutant les commandes PowerShell suivantes pour mettre à jour le Registre :

    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Setup
    New-PerfCounters -DefinitionFileName "$env:exchangeinstallpath\Setup\Perf\MSExchangeISStorePerfCounters.xml" -FileMappingSize 10485760
    
  5. Vérifiez que la valeur de FileMappingSize registre sous la sous-clé de registre suivante correspond à la taille mise à jour du fichier de page :

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS Store\Performance

  6. Redémarrez le serveur.