我们使用Ola Hallengren的DatabaseBackup存储过程将Server 2012实例上的SharePoint数据库负载备份到Azure blob存储中。我们这样做已经有一段时间了,没有任何问题。然而,在过去的6周里,我们的DIFFs被随机提升为FULL,我们无法找出原因。
这是代理步骤的输出。
备份数据库数据库到URL = N'https://strorgage.blob.core.windows.net/server/instance/Database/2020/11/diff/Database_完整_20201105_200000.bak‘与NO_CHECKSUM,压缩,凭据=N’*存储帐户名称*‘
如果您查看一下通用URL,您将注意到这些过程存储在DIFF目录中,但是创建了一个完整的备份文件。
https://strorgage.blob.core.windows.net/server/instance/Database/2020/11/diff/Database_FULL_20201105_200000.bak
--^ --^DatabaseBackup (Ola )是从2019年到06-14年间,所以它需要一个公平的升级,但它已经运行了18个月以上。
我们不直接调用Ola代码,因为我们有一个构建Azure虚拟路径名称的小包装程序,但本质上这就是我们如何调用Ola代码的方法。
这是一个问题,因为一些未知的原因,差异备份被提升到完全,这导致了比特的Azure blob备份,而不是千兆字节-每天。
EXECUTE dbo.DatabaseBackup
@Database = @DatabaseName,
@URL = @BackupPath,
@Credential = @StorageAccount,
@BackupType = @backupType,
@Compress = @Compression,
@LogToTable = 'Y',
@ChangeBackupType = 'Y',
@Updateability = @DatabaseReadOnlyState,
@DirectoryStructure = NULL,
@AvailabilityGroupDirectoryStructure = NULL你对此有什么想法吗?
发布于 2020-11-09 16:00:08
您说将DIFF提升到完全备份是“随机的”,但我敢打赌,您可以在数据库本身中找到此活动与数据搅动(或索引维护)之间的联系。
因为您使用的是ChangeBackupType='Y',所以备份任务是查看sys.dm_数据库_文件_空格_用法,查看数据库中有多少被更改了,并在超过阈值时执行完整备份(我很难从源代码中识别默认阈值)。您可以通过调整ModificationLevel参数(即百分比)来更改该阈值。来自文献资料
ModificationLevel 指定差异备份将更改为完全备份时的百分比。此选项只能与@ChangeBackupType = 'Y‘一起使用。DatabaseBackup在sys.dm_db_file_space_usage中检查allocated_extent_page_count和modified_extent_page_count,以计算已修改的数据库的数量。
https://dba.stackexchange.com/questions/279307
复制相似问题