mco_translog_db_save
将数据库映像保存到外部文件并截断事务日志。
原型
MCO_RET mco_translog_db_save( /*IN*/ void * stream_handle,
/*IN*/ mco_stream_write output_stream_writer,
/*IN*/ mco_db_h db);
参数
stream_handle | 输出流的句柄 |
output_stream_writer | 运行时调用的处理程序函数,用于格式化输出 |
db | 数据库句柄 |
描述
此函数用于将 SmartEDB 数据库流式传输到永久存储。与应用程序一起使用可以实现强大的备份和还原功能。mco_db_load()
应用程序负责以适当的方式打开输出流以流式传输二进制数据,并确保目标处有足够的空间来保存数据库。索引不是流式的;它们将在重新加载数据库时重建。有关更多详细信息,请参阅 Control structure Stream Writer。
在版本 7.1 中,SmartEDB 简化了 and API 和以前的变体 , , ,并且已被弃用。mco_db_save()``mco_db_load()``mco_inmem_save()``mco_inmem_load()``mco_disk_save()``mco_disk_load()``mco_disk_load_file()
的简化版本,允许应用程序将数据库内容流式传输到持久媒体文件、套接字或管道或从持久媒体文件、套接字或管道流式传输,并检查“二进制架构演变”()支持和缓冲,以允许中断和重新启动流式传输过程。如果指定了 mco_db_params_t::cipher_key
,则数据库快照文件也会被加密。mco_db_save()``mco_db_load()``CRC``BSE
返回
MCO_S_OK | 已成功关闭数据库 |
MCO_E_NOINSTANCE | 指定的数据库未打开 |
MCO_E_WRITE_STREAM | 写入输出流时出错 |
示例
查看 TLog_Checkpoint