数据库版本 SQL SERVER 2012 企业版,版本号:11.0.5582.0

问题场景: 数据库配置Alwayson环境,同机房2节点同步自动切换+跨机房异步,在异步机房中选取同一节点做完整备份和日志备份,完整备份为COPY_ONLY方式,完整备份从0:35开始至1:40成功结束,日志备份从00:00开始每15分钟一次日志备份。DBA在0:48左右手动对数据库日志文件进行一次收拾操作,收缩操作顺利完成,未报任何错误。主数据库处于正常提供服务,每15分钟产生约200MB的日志备份文件(压缩备份方式)。

下面是备份出错情况:

0:30 备份成功
0:45 备份成功
1:00 备份成功
1:15 备份失败
1:30 备份失败
1:45 备份成功

错误信息:

2017-01-16 01:15:09.59 *** 错误: 备份 对于 服务器“SERVER_XXXX”失败。 (Microsoft.SqlServer.SmoExtended) ***
2017-01-16 01:15:09.59 *** 错误: 执行 Transact-SQL 语句或批处理时发生了异常。(Microsoft.SqlServer.ConnectionInfo) ***
2017-01-16 01:15:09.59 *** 错误: 辅助副本上数据库“DB_XXX”的日志备份失败,因为来自主数据库的最后一个备份 LSN (0x000840fc:00000420:0001)大于当前本地重做 LSN (0x000840fc:00000418:0001)。此时不需要备份任何日志记录。请在以后重试该日志备份操作。
BACKUP LOG 正在异常终止。(.Net SqlClient Data Provider) ***

该问题在无人干涉条件下自动恢复,因事务日志备份作业失败被发现。

--=========================================================================--

原因猜测:

单独对类似配置的数据库做日志文件收拾操作不会有类似问题,而单独对类似配置的数据库做COPY_ONLY也不会出现问题,很有可能是因为在做COPY_ONLY的完整备份时做日志文件收拾导致。

虽然COPY_ONLY从字面意思上理解不会对日志文件有任何影响,但完整备份期间会影响到CHECKPOINT操作,CHECKPOINT操作又影响到数据库日志,由于在辅助节点上进行完整备份,因此主节点和辅助节点之间必定达成一致来避免CHECKPOINT问题,但此时DBA手动执行数据库日志收缩被当成“一个事务日志备份”来处理,因此报主数据库最后一个备份LSN大于本地重做LSN。

最后当完整COPY_ONLY备份完成后,主数据库上的最后一个备份LSN被调整会正确状态,从而默默地修复了该问题。

--=========================================================================--

夜深啦,随便找个妹子镇贴,各位凑合下!

SQL SERVER BUG--Alwayson日志备份报错的更多相关文章

  1. sql server 2008 创建新数据库报错、创建表报错、更改表的设计报错

    一:创建数据库报错如下: 二:解决,将软件以管理员身份运行 三:创建表报错如下图: 四:解决办法,在你创建的数据库下面的安全里,找到你创建的用户,属性,添加权限,红色标注,然后确定: 五:更改表的设计 ...

  2. SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错

    在window server 2012服务器上,安装 SQL Server 2012的过程中,报了一个错误,一个安装失败, 在安装SQL 2012的过程中.出现下面错误:启用 Windows 功能 N ...

  3. 开启bin-log日志mysql报错:This function has none of DETERMINISTIC, NO SQL解决办法

    开启bin-log日志mysql报错:This function has none of DETERMINISTIC, NO SQL解决办法: 创建存储过程时 出错信息: ERROR 1418 (HY ...

  4. SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

    转自:http://www.cnblogs.com/CareySon/archive/2012/02/23/2365006.html SQL Server中灾难时备份结尾日志(Tail of log) ...

  5. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  6. 从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)

    这一篇是从0开始搭建SQL Server 2012 AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 操作步骤: 1.安装SQL server ...

  7. 服务器搭建域控与SQL Server的AlwaysOn环境过程(四)配置AlwaysOn

    0 引言 这一篇才真正开始搭建AlwaysOn,前三篇是为搭建AlwaysOn 做准备的. 步骤 1.3 配置AlwaysOn 请先使用本地用户Administrator登录这两个集群节点并执行下面的 ...

  8. SQL Server的AlwaysOn错误19456和41158

    SQL Server的AlwaysOn错误19456和41158 最近在公司搞异地数据库容灾,使用AlwaysOn的异地节点进行数据同步,在搭建的过程中遇到了一些问题 软件版本 SQL Server2 ...

  9. SQL Server数据库定时自动备份

    SQL Server 数据库定时自动备份[转]   在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求 ...

随机推荐

  1. 使用STM32CubeMX来创建属于自己的工程

    使用STM32CubeMX的好处就是GPIO口可以使用图形化的方式进行配置,配置完成之后可以立即生成支持多种编译器的工程文件,之后打开即可编译通过了,非常方便. 操作很简单,如下所述: 1 从ST的官 ...

  2. js面向对象学习总结

    1.函数作为参数进行传递 function a(str,fun){ console.log(fun(str)) }; function up(str){ return str.toUpperCase( ...

  3. Android-往来:包Group添加到联系人

    long groupId = Constant.createGroupId; ContentValues values = new ContentValues(); for(int i=0,len=C ...

  4. CSS知识点:选择符

    一.选择符的种类 1)通配选择符 它用来给页面所有的元素设置样式 *{margin:0;padding:0;}.但是实际当中不建议这么用,页面中用到了哪些样式,就统一设置样式,因为*影响性能.也可以给 ...

  5. Javascript Array API

    JS数组对象提供了很多API方法,由于前段时间要用到某一些方法,但是突然一时又想不起来该怎么用了,上网找有很多资料都不全,所以就自己整理了一篇,完全是自己写的的JS,只是复制到这里来了 ,要用到的朋友 ...

  6. OpenGl绘制螺旋线

    /** * 缓冲区工具类 */public class BufferUtil { /**  * 将浮点数组转换成字节缓冲区  */ public static ByteBuffer arr2ByteB ...

  7. Javascript多线程引擎(五)

    Javascript多线程引擎(五)之异常处理 C语言没有提供一个像Java一样的异常处理机制, 这就带来了一个问题, 对于一个子函数中发生异常后, 需要在父函数调用子函数的位置进行Check, 如果 ...

  8. (蓝牙)网络编程中,使用InputStream read方法读取数据阻塞的解决方法

    问题如题,这个问题困扰了我好几天,今天终于解决了,感谢[1]. 首先,我要做的是android手机和电脑进行蓝牙通信,android发一句话,电脑端程序至少就要做到接受到那句话.android端发送信 ...

  9. SZU:B47 Big Integer I

    Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Normal Descrip ...

  10. 控制winform中控件的输入格式

    private void txtNum1_KeyPress(object sender, KeyPressEventArgs e) { ') && e.KeyChar != '\r' ...