You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebird nbackup:存在活跃连接时出现CreateFile(open)问题

Firebird备份时SQLCODE:-902错误的原因与解决方案

文件“...”执行"CreateFile (open)"操作时发生I/O错误
进程无法访问文件'file path',因为该文件正在被另一个进程使用
SQLCODE:-902

错误原因

Firebird为了保证事务的ACID一致性,当数据库存在活跃连接时,会对数据库文件施加独占写锁定。如果用操作系统级的文件复制或者非Firebird原生工具备份,就会触发这个“文件被占用”的错误——因为备份进程无法获取文件的读写权限。

解决方法(支持在线备份,不中断用户工作)

  • 使用Firebird原生备份工具gbak:这是官方专门设计的在线备份工具,能和Firebird服务器协同工作,在用户正常连接数据库的同时,创建一份一致性的数据库快照备份。基础命令如下:
    gbak -b -user SYSDBA -password 你的管理员密码 源数据库路径 备份文件路径
    
    其中-b参数指定执行备份操作,-user和-password用于验证管理员权限。
  • 匹配工具与Firebird版本:不同版本的Firebird对应的gbak存在兼容性差异,务必使用和你的数据库版本一致的备份工具,避免出现未知问题。
  • 启用增量备份(Firebird 2.5+):如果全量备份耗时过长,可以配置增量备份策略,仅备份自上次全量备份后变更的数据,进一步降低对业务的影响。

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:23:12