移动数据库文件之前验证一致性

 

上一次修改主题: 2005-05-23

如果没有从联机备份进行还原,则在将数据库文件(.edb 和 .stm)移动到其他存储组之前,这些文件必须处于“干净关闭”状态。

可以通过使用 Exchange Server 数据库实用程序 (Eseutil.exe) 工具,并使用 Eseutil /mh [database filename].edb 命令检查每个文件,了解数据库是否已干净关闭。在 Exchange 2000 Service Pack 1 及更高版本中,此命令输出的某一行将显示“状态:干净关闭”或“状态:异常关闭”。在此 Exchange 版本之前,相同的状态被报告为“状态:一致”或“状态:不一致”。

对 .edb 和 .stm 文件运行 Eseutil.exe 以验证关闭状态。下面是 Eseutil /mh 的输出示例(突出显示重要行):

Microsoft(R) Exchange Server Database Utilities

Version 6.5

Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...

Database: priv1.edb

File Type: Database

Format ulMagic: 0x89abcdef

Engine ulMagic: 0x89abcdef

Format ulVersion: 0x620,9

Engine ulVersion: 0x620,9

Created ulVersion: 0x620,9

cbDbPage: 4096

dbtime: 20887 (0-20887)

Log Required: 0-0

Streaming File: Yes

Shadowed: Yes

Last Objid: 127

Scrub Dbtime: 0 (0-0)

Scrub Date: 00/00/1900 00:00:00

Repair Count: 0

Repair Date: 00/00/1900 00:00:00

Microsoft(R) Exchange Server Database Utilities

Version 6.5

Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...

Database: priv1.stm

File Type: Streaming File

Format ulMagic: 0x89abcdef

Engine ulMagic: 0x89abcdef

Format ulVersion: 0x620,9

Engine ulVersion: 0x620,9

Created ulVersion: 0x620,9

cbDbPage: 4096

dbtime: 0 (0-0)

Log Required: 0-0

Shadowed: Yes

Last Objid: 0

Scrub Dbtime: 0 (0-0)

Scrub Date: 00/00/1900 00:00:00

Repair Count: 0

Repair Date: 00/00/1900 00:00:00

若要完全确保 .edb 和 .stm 文件是一组匹配文件,也可以比较 Eseutil.exe 输出的 DB SignatureLast Consistent 行。DB Signature 是标识特定数据库的唯一值。如果 .edb 和 .stm 文件的值不同,则无论是否处于关闭状态这些文件都不匹配。

Last Consistent 行将验证文件最后是否同时关闭。Last Consistent 的时间戳不必匹配,但是圆括号中的数字应该完全匹配。这些数字表示关闭时使用的当前事务日志文件(在本示例中,数据库处于事务日志 3),以及日志文件已填充部分的大小(在本示例中,日志文件的 0x46 扇区和该扇区的 0xDC 字节发生了关闭)。