JetTruncateLogInstance 函数

适用于: Windows |Windows Server

JetTruncateLogInstance 函数

JetTruncateLogInstance 函数在 JetBeginExternalBackup 发起的备份期间使用,以删除当前备份成功完成后不再需要的任何事务日志文件。

Windows XP:JetTruncateLogInstance 在 Windows XP 中引入。

    JET_ERR JET_API JetTruncateLogInstance(
      __in          JET_INSTANCE instance
    );

参数

instance

用于此调用的实例。

对于 Windows 2000,接受此参数的 API 变体不可用,因为仅支持一个实例。 在本例中,这一全局实例的使用是隐含的。

对于 Windows XP 及更高版本,仅当引擎处于旧模式 (Windows 2000 兼容模式时,才能调用不接受此参数的 API 变体) 其中仅支持一个实例。 否则,操作将失败并出现JET_errRunningInMultiInstanceMode。

返回值

此函数返回具有以下返回代码之一 的JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误错误处理参数

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errBackupAbortByServer

Windows Server 2003: 此返回值在 Windows Server 2003 中引入。

操作失败,因为调用 JetStopBackup 中止了当前外部备份。

JET_errClientRequestToStopJetService

由于调用 JetStopService,与会话关联的实例上的所有活动都已停止,因此操作无法完成。

JET_errInstanceUnavailable

该操作无法完成,因为与会话关联的实例遇到一个致命错误,该错误要求撤销对所有数据的访问权限以保护该数据的完整性。 此错误仅由 Windows XP 和更高版本返回。

JET_errInvalidBackupSequence

备份操作失败,因为它被按顺序调用。 如果有使用 JetOpenFile 为实例创建的任何未完成的文件句柄,JetTruncateLog 将返回此错误。

JET_errInvalidParameter

提供的其中一个参数包含意外值,或者多个参数的组合产生了意外的结果。 当指定的实例句柄无效时 ,JetTruncateLog 可能会发生这种情况。

JET_errNoBackup

操作失败,因为没有外部备份正在进行。

JET_errNotInitialized

操作无法完成,因为与会话关联的实例尚未初始化。

JET_errRestoreInProgress

该操作无法完成,因为正在对与会话关联的实例执行还原操作。

JET_errRunningInMultiInstanceMode

操作失败,因为尝试在旧模式下使用引擎, (Windows 2000 兼容模式) 其中仅支持一个实例,但实际上已存在多个实例。

JET_errTermInProgress

操作无法完成,因为正在关闭与会话关联的实例。

如果此函数成功,则会删除当前备份成功完成后不再需要的事务日志文件集。 备份状态机将处于高级状态,以便不再允许备份数据库文件。 仅允许打开数据库修补程序文件和事务日志文件,以便在此时间点之后进行备份。

如果此函数失败,可以高级备份状态机,以便不再允许备份数据库文件。 可能会删除一些小于所需数量的事务日志文件,但它们将始终从最旧到最年轻删除。

要求

要求

客户端

需要 Windows Vista 或 Windows XP。

服务器

需要 Windows Server 2008 或 Windows Server 2003。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

另请参阅

可扩展存储引擎文件
JET_ERR
JET_INSTANCE
JetBeginExternalBackup
JetOpenFile
JetStopBackup
JetStopService