日志传送“不同步”但没有作业失败

Rac*_*SQL 5 sql-server log-shipping

我已经配置了从服务器到同一台服务器的日志传送,只是使用了不同的实例。


Primary server 是这样配置的:

LSBACKUP_MyDatabase - 每 25 分钟

Secondary server

LSCOPY_MyDatabase - 每 1 分钟

LSRESTORE_MyDatabase - 每 10 分钟


发生的情况是,主要备份作业运行良好(还有更多历史记录,我只显示最后 2 个)。

在此处输入图片说明

在文件夹中,我可以看到 TRN 文件。

在此处输入图片说明

在第二个实例,LSCOPY并且LSRESTORE是OK了。它正在复制文件,但问题就在这里。还原作业正在报告此“消息”(作业成功运行,因此我认为这不是错误):

信息

2015-12-29 09:10:02.41 跳过日志备份文件。辅助数据库:'MyDatabase',文件:'\ServerIP\instancia g\BACKUP\Log_Sp_Secundario\MyDatabase_20151229104500.trn'

2015-12-29 09:10:02.41 找不到可以应用于辅助数据库“MyDatabase”的日志备份文件。

2015-12-29 09:10:02.42 恢复操作成功。辅助数据库:'MyDatabase',恢复的日志备份文件数:0

2015-12-29 09:10:02.42 删除旧的日志备份文件。主数据库:'MyDatabase'

2015-12-29 09:10:02.42 恢复操作成功。辅助 ID:'5a0a361c-039c-40a3-9c39-af5e338c7f72'

然后,当我单击查看LSALERT_作业的历史记录时,它会报告错误并显示以下消息:

在此处输入图片说明

消息以用户身份执行:CMDO\gdladmin。日志传送辅助数据库 VMWGDLPRD04\GDLIC2014.GDL_IC 的还原阈值为 45 分钟,并且不同步。8323 分钟内未执行任何还原。恢复的延迟为 0 分钟。检查代理日志和日志传送监控信息。[SQLSTATE 42000](错误 14421)。步骤失败。

根据 Microsoft 的支持页面之一,此查询可显示日志之间是否存在间隙。没有了:

SELECT 
    s.database_name,s.backup_finish_date,y.physical_device_name
FROM 
    msdb..backupset AS s INNER JOIN
    msdb..backupfile AS f ON f.backup_set_id = s.backup_set_id INNER JOIN
    msdb..backupmediaset AS m ON s.media_set_id = m.media_set_id INNER JOIN
    msdb..backupmediafamily AS y ON m.media_set_id = y.media_set_id
WHERE 
    (s.database_name = 'MyDatabase')
ORDER BY 
    s.backup_finish_date DESC;
Run Code Online (Sandbox Code Playgroud)

我一直在互联网上搜索,但我只能找到那些缺乏信息的dba博客,还有一些帖子说主数据库被删除(显然不是)。

主实例为 2012。辅助实例为 2014。辅助数据库处于恢复模式。

要解决这个问题,我应该重新创建所有日志传送吗?

KAS*_*DBA 5

嗯,它没有修复。我想我会再次重新创建日志传送

之前,您尝试一下,为什么不去寻找最新的差异备份并在辅助上恢复它。

我们也遇到过上面提到的情况,发现:

这是由于 NW 故障造成的,因为共享文件夹(在主要作为与辅助的公共备份位置)不再共享(由于集群资源上的一些问题),因此很少有日志备份从未进入/复制到辅助,因为有一个差距,即使恢复工作已完成但 LS 一直说不同步。

好吧,在我们的例子中,我们继续恢复最新的完整备份以使丢失的 LSN 链同步,然后恢复作业选择下一个日志备份文件并且 LS 恢复同步。