Wenn Sie die Integrität eseutil /g <database>
und den aktuellen Status eseutil /mh <database>
einer Exchange Datenbank überprüfen möchten, müssen Die zuerst die Datenbank offline schalten. Im ECM wird dieser Vorgang Bereitstellung der Datenbank aufheben
genannt, in der PowerShell wird dazu das Kommando Dismount-Database
verwendet:
[PS] C:\Windows\system32>Dismount-Database DB1
Danach können zu zuerst mal den Header der Datenbank mit eseutil
auslesen /mh
:
[PS] C:\Windows\system32>eseutil.exe /mh e:\database\db1.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.03 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating FILE DUMP mode... Database: e:\database\db1.edb DATABASE HEADER: Checksum Information: Expected Checksum: 0x0bcfe2c1 Actual Checksum: 0x0bcfe2c1 Fields: File Type: Database Checksum: 0xbcfe2c1 Format ulMagic: 0x89abcdef Engine ulMagic: 0x89abcdef Format ulVersion: 0x620,17 Engine ulVersion: 0x620,17 Created ulVersion: 0x620,17 DB Signature: Create time:03/19/2013 14:01:05 Rand:10417143 Computer: cbDbPage: 32768 dbtime: 349695038 (0x14d7ec3e) State: Clean Shutdown Log Required: 0-0 (0x0-0x0) Log Committed: 0-0 (0x0-0x0) Log Recovering: 0 (0x0) GenMax Creation: 00/00/1900 00:00:00 Shadowed: Yes Last Objid: 8972 Scrub Dbtime: 0 (0x0) Scrub Date: 00/00/1900 00:00:00 Repair Count: 0 Repair Date: 00/00/1900 00:00:00 Old Repair Count: 0 Last Consistent: (0x7B03C,22C,CC) 05/20/2015 15:59:57 Last Attach: (0x6CC96,9,86) 04/28/2015 11:09:12 Last Detach: (0x7B03C,22C,CC) 05/20/2015 15:59:57 Dbid: 1 Log Signature: Create time:03/19/2013 14:01:05 Rand:10408743 Computer: OS Version: (6.1.7601 SP 1 NLS ffffffff.ffffffff) Previous Full Backup: Log Gen: 497308-497315 (0x7969c-0x796a3) - OSSnapshot Mark: (0x796A4,8,16) Mark: 05/17/2015 12:01:55 Previous Incremental Backup: Log Gen: 499465-502812 (0x79f09-0x7ac1c) - OSSnapshot Mark: (0x7AC1D,8,16) Mark: 05/19/2015 23:46:42 Previous Copy Backup: Log Gen: 0-0 (0x0-0x0) Mark: (0x0,0,0) Mark: 00/00/1900 00:00:00 Previous Differential Backup: Log Gen: 0-0 (0x0-0x0) Mark: (0x0,0,0) Mark: 00/00/1900 00:00:00 Current Full Backup: Log Gen: 0-0 (0x0-0x0) Mark: (0x0,0,0) Mark: 00/00/1900 00:00:00 Current Shadow copy backup: Log Gen: 0-0 (0x0-0x0) Mark: (0x0,0,0) Mark: 00/00/1900 00:00:00 cpgUpgrade55Format: 0 cpgUpgradeFreePages: 0 cpgUpgradeSpaceMapPages: 0 ECC Fix Success Count: none Old ECC Fix Success Count: none ECC Fix Error Count: none Old ECC Fix Error Count: none Bad Checksum Error Count: none Old bad Checksum Error Count: none Last checksum finish Date: 00/00/1900 00:00:00 Current checksum start Date: 00/00/1900 00:00:00 Current checksum page: 0 Operation completed successfully in 0.125 seconds.
Nach einem Absturz des Exchange Servers stellt sich häufig die Frage, nach dem Status der Datenbank (Zeile 25)
Zur weiteren Analyse der Datenbank kann der Integritycheck /g
ausgeführt werden, dieser dauert je nach Datenbankgröße schon ein paar Minuten. Die hier getestete Datenbank war nur ca, 30GB groß:
[PS] C:\Windows\system32>eseutil.exe /g e:\database\db1.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server Version 14.03 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating INTEGRITY mode... Database: e:\database\db1.edb Temp. Database: TEMPINTEG16356.EDB Checking database integrity. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Integrity check successful. Operation completed successfully in 270.131 seconds.
Sollten hier Probleme identifiziert werden, kann die Datenbank mit dem Schalter /r
recoverd werden. Dadurch wird eine Datenbank, die sich im Dirty Shutdown
State befindet, wieder mit den Transactionlogs zusammengeführt.
Abschließend wird die Datenbank wieder online geschaltet. Im EMC
nennt sich das Datenbank bereitstellen
, in der Konsole wird das Mount-Database
Kommando dafür verwendet:
[PS] C:\Windows\system32>Mount-Database DB1