【问题标题】:Organize the log backups chains in SQL Server在 SQL Server 中组织日志备份链
【发布时间】:2022-11-29 01:51:39
【问题描述】:

我试图在 SQL Server 中组织日志链。链坏了,我想按正确的顺序恢复数据库。
我执行这个查询:

SELECT BS.backup_set_id,
       BS.backup_finish_date,
       BS.type,
       BM.physical_device_name,
       first_lsn,
       last_lsn,
       database_backup_lsn,
       BS.has_incomplete_metadata,
       BS.begins_log_chain
FROM msdb.dbo.backupmediafamily BM
     INNER JOIN msdb.dbo.backupset BS ON BM.media_set_id = BS.media_set_id
WHERE BS.database_name = 'MyDb';

并得到这些结果:

所以如果我想恢复到 17:45:00,我不能,因为链坏了。

我试图编写一个查询来检查第一个和最后一个 lsn。

这是我试过的:

WITH T AS
    (SELECT BS.backup_set_id,
            BS.backup_finish_date,
            BS.type,
            BM.physical_device_name,
            first_lsn,
            last_lsn,
            database_backup_lsn,
            BS.has_incomplete_metadata,
            BS.begins_log_chain
     FROM msdb.dbo.backupmediafamily BM
          INNER JOIN msdb.dbo.backupset BS ON BM.media_set_id = BS.media_set_id
     WHERE BS.database_name = 'MyDb')
SELECT T1.*
FROM T T1,
     T T2
WHERE T1.first_lsn = T2.last_lsn;

但这并没有给我我想要的东西,我想得到一条可以用来恢复的链条。

【问题讨论】:

  • 这是智力练习还是实践练习?如果是后者,你肯定是在重新发明轮子。查看 dbatools powershell 模块。特别是 Get-DbaDbBackupHistoryRestore-DbaDatabase cmdlet。后者有一个 -OutputScriptOnly 标志,让您有机会检查它将运行的脚本,而无需实际这样做。

标签: sql sql-server


【解决方案1】:

LSN 是重叠的,所以尝试:

WITH T AS
    (SELECT BS.backup_set_id,
            BS.backup_finish_date,
            BS.type,
            BM.physical_device_name,
            first_lsn,
            last_lsn,
            database_backup_lsn,
            BS.has_incomplete_metadata,
            BS.begins_log_chain
     FROM msdb.dbo.backupmediafamily BM
          INNER JOIN msdb.dbo.backupset BS ON BM.media_set_id = BS.media_set_id
     WHERE BS.database_name = 'MyDb')
SELECT T1.*
FROM T T1,
     T T2
WHERE T1.first_lsn BETWEEN T1.first_lsn AND T2.last_lsn;

【讨论】:

  • 此查询选择了所有这些
猜你喜欢
  • 2020-10-21
  • 1970-01-01
  • 2011-02-22
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
相关资源
最近更新 更多