mco_async_backup_progress_info
备份恢复进程返回状态。
有关概述,请参阅页面C中的增量备份和恢复。
原型
MCO_RET mco_async_backup_progress_info (/*IN*/ mco_db_h connection, /*OUT*/ mco_async_backup_progress_info_t * info)
参数
connection | 用于备份的数据库连接 |
info | 指针指向mco_async_backup_progress_info_t 变量,该变量将接收数据 |
描述
该函数通过信息结构返回备份和恢复进程的状态。(有关详细信息,请参阅增量备份和恢复页面。)
返回
MCO_S_OK | 返回备份信息 |
示例
{
mco_db_h con;
MCO_RET rc;
char * db_name = “myDb”;
char * filename = “backup.bak”;
char * label = “a label”;
int i = 0;
mco_async_backup_progress_info_t abinfo;
/* connect to a database */
rc = mco_db_connect( db_name, &con );
...
/* report backup progress */
rc = mco_async_backup_progress_info( con, &abinfo );
printf("\t%3u. Async. backup info %u %s:\n"
"\t\t Progress: Phase %s, Pass %llu of %llu, step %llu of %llu\n"
"\t\t File name: %s\n"
"\t\t Label: %s\n"
"\t\t Type: %s\n"
"\t\tCompression level: %u\n"
"\t\t Error code: %u %s\n"
"\t\t Error message: %s\n\n",
i+1,
rc, mco_ret_string( rc, 0 ),
abinfo.core_info.phase == MCO_BACKUP_PROGRESS_IDLE ? "MCO_BACKUP_PROGRESS_IDLE" :
abinfo.core_info.phase == MCO_BACKUP_PROGRESS_LOOPING ? "MCO_BACKUP_PROGRESS_LOOPING" :
abinfo.core_info.phase == MCO_BACKUP_PROGRESS_FINALIZING ? "MCO_BACKUP_PROGRESS_FINALIZING" :
"Invalid phase",
(unsigned long long)abinfo.core_info.pass_no,
(unsigned long long)abinfo.core_info.max_passes,
(unsigned long long)abinfo.core_info.step_no,
(unsigned long long)abinfo.core_info.max_steps,
abinfo.file_name ? abinfo.file_name : "N/A",
abinfo.last_label ? abinfo.last_label: "N/A" ,
abinfo.type == MCO_BACKUP_TYPE_AUTO ? "MCO_BACKUP_TYPE_AUTO" :
abinfo.type == MCO_BACKUP_TYPE_SNAPSHOT ? "MCO_BACKUP_TYPE_SNAPSHOT" :
abinfo.type == MCO_BACKUP_TYPE_INCREMENTAL ? "MCO_BACKUP_TYPE_INCREMENTAL" :
"Invalid type",
abinfo.compression_level,
abinfo.last_error_code,
mco_ret_string(abinfo.last_error_code, 0 ),
abinfo.last_error_msg ? abinfo.last_error_msg : "N/A"
);
}