CChkSGFiles.ErrCheckDbHeaders 函数

适用于:Exchange Server 2003 |Exchange Server 2007 |Exchange Server 2010 |2013 Exchange Server

验证 ErrInit 函数指定的数据库文件的标头。 此函数还返回每个指定数据库中的页大小和页数。

Vitual ERRErrCheckDbHeaders  
(
        ULONG  * const pcbDbPageSize,
        ULONG  * const pcHeaderPagesPerDb,
        ULONG   const piDbErrorEncountered,
    Const ULONGulFlags = NO_FLAGS
);

参数

线路板DbPageSize

输出参数。 每个指定数据库的页大小(以字节为单位)。

pcHeaderPagesPerDb

输出参数。 数据库引擎保留供内部使用的每个指定数据库开头的页数。 请注意, 不应 将标头页传递到 ErrCheckDbPages 函数进行验证。

piDbErrorEncountered

输出参数。 如果函数的返回值指示错误,此参数将是传递给 ErrInit 函数的 rgwszDb[] 数组中的索引。 索引数组元素表示遇到错误的数据库。 如果函数不返回错误值,则此参数值无效。

ulFlags

可选输入参数。 此值保留供将来使用。 传递的值应为 0 (零) 。

返回值

此函数从 CChkSGFiles.ERR 枚举返回错误代码。

备注

ErrCheckDbHeaders 验证向 ErrInit 注册的所有数据库是否具有相同的日志签名和数据库页大小。 还可以使用最低 genMin 参数值和最高的 genMax 参数值来确定将所有已注册数据库置于干净关闭状态所需的日志文件集。

仅当检测到错误时,才会设置 piDbErrorEncountered 参数,如非零 ErrCheckDbHeaders 返回值所示。

当此函数中发生错误时,错误事件将添加到 Windows 错误事件日志中。

只能在调用 ErrInit 之后调用 ErrCheckDbHeaders,并且必须在调用 ErrCheckDbPagesErrCheckLogs 之前调用它。

如果在多线程应用程序中使用 CHKSGFILES,则必须在单线程部分调用 ErrCheckDbHeaders 函数,并且只能为每个 CCheckSGFiles 对象调用它一次。

要求

Exchange 2013 仅包含 64 位版本的 CHKSGFILES API。

运行应用程序的帐户必须对要检查的数据库和日志文件具有读取访问权限。