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。辅助数据库处于恢复模式。
要解决这个问题,我应该重新创建所有日志传送吗?
嗯,它没有修复。我想我会再次重新创建日志传送
之前,您尝试一下,为什么不去寻找最新的差异备份并在辅助上恢复它。
我们也遇到过上面提到的情况,发现:
这是由于 NW 故障造成的,因为共享文件夹(在主要作为与辅助的公共备份位置)不再共享(由于集群资源上的一些问题),因此很少有日志备份从未进入/复制到辅助,因为有一个差距,即使恢复工作已完成但 LS 一直说不同步。
好吧,在我们的例子中,我们继续恢复最新的完整备份以使丢失的 LSN 链同步,然后恢复作业选择下一个日志备份文件并且 LS 恢复同步。
归档时间: |
|
查看次数: |
18009 次 |
最近记录: |