SQL事务日志传送无法将数据库还原到备用数据库

Jas*_*agg 5 database sql-server log-shipping sql-server-2014

我已经设置了两个SQL 2014服务器之间的事务日志传送,一切似乎都正确设置但是当恢复发生时,如果.trn非常小,例如7k,它似乎失败了.

不确定这是否与它有关,但它是唯一不同的东西.

以下是还原作业的日志.

日期25/04/2016 22:59:24记录工作经历(LSRestore_IRIS_WebStock)

步骤ID 1服务器HERA作业名称LSRestore_IRIS_WebStock步骤名称日志传送还原日志作业步骤.持续时间00:00:04 Sql严重性0 Sql消息ID 0操作员已通过电子邮件发送
操作员网络已发送操作员已分页重试尝试0

消息2016-04-25 22:59:28.71错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn'应用于辅助数据库'WebStock'.(Microsoft.SqlServer.Management.LogShipping)2016-04 -25 22:59:28.71错误:处理数据库'WebStock'的日志时发生错误.如果可能,从备份还原.如果备份不可用,则可能需要重建日志.恢复期间发生错误,导致数据库"WebStock"(12:0)无法重新启动.诊断恢复错误并修复它们,或从已知良好的备份恢复.如果错误未得到纠正或预期,请联系技术支持.

RESTORE LOG异常终止.数据库'WebStock'处理0页,文件'文件'WebStock'处理1页数据库'WebStock',文件'文件'WebStock_log'.(.Net SqlClient数据提供者)2016-04-25 22:59: 28.71错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425033000.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73为二级数据库'WebStock'跳过日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425034500.trn',因为该文件不能验证.2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59:28.73错误:ExecuteNonQuery需要一个打开且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:恢复数据库访问模式时出错.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59 :28.73错误:ExecuteScalar需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法记录历史记录/错误消息.(Microsoft.SqlServer.Management.LogShipping)2016-04-25 22:59: 28.73错误:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.(System.Data)2016-04-25 22:59:28.73错误:无法将日志备份文件'E:\ ShippingLogs\WebStock\WebStock_20160425040000.trn'应用于辅助数据库'WebStock'.( Microsoft.SqlServer.Management.LogShipp

如果我删除该日志并再次运行还原,它将一直有效,直到找到另一个非常小的日志.

如果日志为空,还原会失败吗?

maS*_*uFu 0

http://sqlmag.com/database-high-availability/how-restart-failed-log-shipping-quickly

请阅读这篇文章......还有更多内容。我想我不能在这里发布整篇文章。

一切都与 LSN 有关

LSN(即日志序列号)是面包屑的踪迹,它允许 SQL Server 中的任何恢复进程了解要应用的事务的顺序。所有恢复过程都需要按此特定顺序进行,以确保以最初应用于主数据库的方式从事务日志和日志备份文件中读取事务。