我们配置了完整备份和日志备份。
在恢复过程中,我们应用完整备份和后续日志备份。
我知道,如果我进行手动完整备份(非仅复制模式),那么它将破坏差异链。但在本例中没有差异备份。然而,存在事务日志链。由于仅非复制完整备份,该链是否会受到负面影响?
我们使用 Ola Hallengren 的DatabaseBackup
存储过程将 SQL Server 2012 实例上的 SharePoint 数据库负载备份到 Azure blob 存储中。我们已经这样做了很长一段时间,没有任何问题。然而,在过去的 6 周里,我们DIFFs
被随机提升FULL
,我们无法找出原因。
这是代理步骤的输出
Run Code Online (Sandbox Code Playgroud)BACKUP DATABASE [Database] TO URL = N'https://strorgage.blob.core.windows.net/server/instance/Database/2020/11/diff/Database_FULL_20201105_200000.bak' WITH NO_CHECKSUM, COMPRESSION, CREDENTIAL = N'*storeageaccountname*'
如果您查看生成的 URL,您会注意到该过程存储在 DIFF 目录中,但创建了一个完整的备份文件。
https://strorgage.blob.core.windows.net/server/instance/Database/2020/11/diff/Database_FULL_20201105_200000.bak
--^ --^
Run Code Online (Sandbox Code Playgroud)
DatabaseBackup (Ola proc) 是从 2019-06-14 开始的,所以它需要升级才能公平,但它已经运行了超过 18 个月。
我们不直接调用 Ola 代码,因为我们有一个构建 Azure 虚拟路径名的小包装程序,但本质上这就是我们调用 Ola 代码的方式。
这是一个问题,因为某些未知原因 DIFF 备份被提升为 FULL,这会导致每天 PB 级而不是 GB 级的 Azure blob 备份。
EXECUTE dbo.DatabaseBackup
@Database = @DatabaseName,
@URL = @BackupPath,
@Credential = @StorageAccount,
@BackupType …
Run Code Online (Sandbox Code Playgroud) 假设我在凌晨 12 点进行完整备份。然后每小时记录一次备份。
然后假设在晚上 8.30 我进行手动日志备份(从而截断日志)并删除该文件。这样后续晚上9点的日志备份就会有不完整的日志。
因此,从晚上 8 点到凌晨 12 点的时间点恢复数据是不可能的。
现在中午 12 点将进行另一次完整备份。随后像往常一样每小时进行一次日志备份。现在假设下午 4.30 发生崩溃。
在此完整备份之前进行的手动日志备份是否会使完整备份后的正常日志备份变得无用?或者只有上次手动日志备份到上次完整备份的日志没有用?
我们的“硬件”部门已经在我们运行 SQL Server 的其中一台服务器上启动了一些 ASR 复制。似乎他们为此使用的方法使用了 VSS,我可以在 SQL 日志中看到很多关于正在备份的数据库以及 I/O 冻结/恢复的消息。它似乎每小时都这样做。
VSS 进行的这些备份会破坏日志链,还是复制备份?有没有办法查看它们是否是副本备份?是否可以指示 VSS 使用副本备份?
任何反馈表示赞赏。
我有一个 SQL 数据库服务器,它使用R1Soft 备份备份每 24 小时在 02:00 进行一次服务器备份。这是一个完整的文件系统备份(裸机加上每日差异,因此包括操作系统等)。
我想增加一些数据库的备份频率,以便在发生故障时,我可以恢复到15分钟的时间窗口,例如
我无法找到任何关于清晰度是否R1Soft备份(通过完成VSS写入),会引起我的做法任何问题(particuarly打破日志链)。我对 VSS 知之甚少,而且我读得越多,它就越令人困惑。
我联系了 R1Soft 澄清,他们的回应是:
我们正在使用 VSS 进行 SQL 备份。您可以使用这两种解决方案,只要它不会同时运行。我们使用 VSS 编写器将日志刷新到数据中,然后完全备份数据库。
这对我来说毫无意义,因为我不知道他们所说的"data"是什么意思,并且它没有澄清日志链问题。因此,任何有 VSS 经验的人都可以澄清 VSS 备份是否“干扰”本机完整/传输日志备份?从我的研究中,我看到了相互矛盾的消息,因为 Microsoft 站点指出:
SQL Writer 不支持...日志备份
我不知道我是否应该按照我的建议去做,还是应该改为
任何输入,即使只是为了突出我应该问他们的问题,也将不胜感激。我读得越多,我就越困惑。
database_name backup_start_date backup_finish_date expiration_date backup_type backup_size MB logical_device_name physical_device_name backupset_name description is_copy_only is_snapshot checkpoint_lsn database_backup_lsn differential_base_lsn first_lsn fork_point_lsn last_lsn
--------------- ----------------------- ----------------------- ----------------- ----------- ------------------ ----------------------- --------------------------------------------------- --------------- …
Run Code Online (Sandbox Code Playgroud) 我正在 SQL Server 2017 上运行加密备份。
进行测试恢复,失败:
RESTORE DATABASE [test]
FROM DISK = N'\\DPH-DD-SLI-001\SLI_SQL_Backups\Encrypted\DPH-SQL-SLI-12P\BTBLEAD\FULL\DPH-SQL-SLI-12P_BTBLEAD_FULL_20201021_185145.bak'
WITH NORECOVERY, REPLACE;
RESTORE DATABASE [test]
FROM DISK = N'\\DPH-DD-SLI-001\SLI_SQL_Backups\Encrypted\DPH-SQL-SLI-12P\BTBLEAD\DIFF\DPH-SQL-SLI-12P_BTBLEAD_DIFF_20201022_071002.bak'
WITH NORECOVERY;
Run Code Online (Sandbox Code Playgroud)
Processed 199264 pages for database 'test', file 'BTBLEAD_Data' on file 1.
Processed 2 pages for database 'test', file 'BTBLEAD_Log' on file 1.
RESTORE DATABASE successfully processed 199266 pages in 446.348 seconds (3.487 MB/sec).
Msg 3136, Level 16, State 1, Line 6 This differential backup cannot be restored
because the database has not been restored to …
Run Code Online (Sandbox Code Playgroud)