欢迎访问机房运维工作室

爱数知识库

AnyBackup-Microsoft SQL Server 备份执行发生异常,显示信息:数据库的事务日志已满

频道:爱数知识库 日期: 浏览:20

AnyBackup-Microsoft SQL Server 备份执行发生异常,显示信息:数据库的事务日志已满

关键字

事务日志、异常

适用产品

  • AnyBackup 5.0.x
  • AnyBackup 6.0.x
  • 超易备 5.0.x

问题描述

使用 AnyBackup 发起 Microsoft SQL Server 数据库备份时,提示以下错误信息:

备份任务的执行线程发生异常。(错误位置:ncMSSQLExecThread.cpp:569)(附加信息:执行SQL语句发生异常。(错误提供者:sqlBackup,错误值:e0343007,错误位置:ncMSSQLExecThread.cpp:542)(附加信息:执行SQL语句(BACKUP DATABASE "xtest" TO VIRTUAL_DEVICE='{841A5825-939C-460E-80D7-C8722BE6DF4A}' with BLOCKSIZE=65536)发生错误,错误原因:[Microsoft][ODBC SQL Server Driver][SQL Server]数据库 'xtest' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。ErrorCode:9002(错误提供者:sqlBackup,错误值:e0343007,错误位置:ncMSSQLCommand.cpp:350)))

问题影响

AnyBackup 无法备份 Microsoft SQL Server 数据库。

问题原因

数据库日志处于大容量模式,日志未开启自动增长且未定期做事务日志备份,导致日志未被截断,日志文件持续被写满。

解决方案

为了解决此问题,可以选择增加数据库日志文件大小,或者做一次日志备份来截断事务日志,日志截断后使得事务日志可以重新循环利用,请按以下步骤执行:
方案一,增加数据库日志文件大小。
打开 Microsoft SQL Server Management Studio,在左侧对象资源管理器内,展开数据库,找到需要修改的数据,以下示例为 xtest,右键点击数据库 xtest,选择属性,在弹出数据库属性对话框中,选择文件,增加数据库日志文件的初始大小的值,在数据库存储空间允许的情况下,可以启用自动增长。


方案二,对事务日志进行一次备份。
1. 打开 Microsoft SQL Server Management Studio,在左侧对象资源管理器内,展开数据库,找到需要修改的数据,以下示例为 xtest,右键点击数据库 xtest,选择任务,然后选择备份,备份类型选择事务日志备份,目标勾选磁盘,点击添加,添加本地文件路径。

2. 点击选项,勾选截断事务日志,然后点击确定。

3. 提示对数据库“<数据库名>”的备份已成功完成后,截断事务日志。


更多信息

增加数据库大小,请参考 MICROSOFT 官方文档:增加数据库的大小