除了仅复制完整备份还有其他解决方案吗?

Is there an other solution than copy-only full backup?

我每个月进行一次完整备份,然后在两者之间进行增量备份。

但与此同时,另一个用户可以进行完整备份,这会破坏我的链条。我知道有一个只有副本的完整备份。

但在我的情况下,我不知道何时以及由谁来进行备份,所以我需要找到一个解决方案在我这边实施以避免这个问题。

有人有实施的想法或解决方案吗?非常感谢。

为了便于理解,此代码示例有点冗长,但 table msdb.dbo.backupset 可以帮助您解决这个问题。 https://docs.microsoft.com/en-us/sql/relational-databases/system-tables/backupset-transact-sql

declare @MostRecentAuthorizedFullBackup datetime
declare @MostRecentUnauthorizedNonCopyOnlyBackup datetime
declare @AuthorizedBackupUser nvarchar(128) = N'YourBackupUser'
declare @DatabaseName nvarchar(128) = N'YourDatabase'

select @MostRecentAuthorizedFullBackup = backup_start_date
from msdb.dbo.backupset
where database_name = @DatabaseName
  and is_copy_only = 0
  and type = 'D'
  and user_name = @AuthorizedBackupUser
order by backup_start_date desc

select @MostRecentUnauthorizedNonCopyOnlyBackup = backup_start_date
from msdb.dbo.backupset
where database_name = @DatabaseName
  and is_copy_only = 0
  and type = 'D'
  and user_name <> @AuthorizedBackupUser
order by backup_start_date desc

if @MostRecentAuthorizedFullBackup > @MostRecentUnauthorizedNonCopyOnlyBackup
begin
    print 'Differential base is good'
end
else
begin
    print 'Differential base is bad'
end