托管备份大型数据库到 Azure

dkw*_*dkw 5 sql-server backup azure-blob-storage sql-server-2017

这里有一个问题,我需要一些帮助来解决。

托管一个数据库,大约 400Gigs。这让我们有点头疼让它与托管备份到 Azure 存储容器一起工作。

这是我们得到的错误

10/21/2018 12:45:18,spid149,Unknown,Write to backup block blob device https://NAME.blob.core.windows.net/CONTAINER/DB_NAME_20181021120709+02.bak failed. Device has reached its limit of allowed blocks.
Run Code Online (Sandbox Code Playgroud)

设置完成

EXEC managed_backup.sp_backup_config_basic

@database_name = 'DB_NAME',
@enable_backup=1,  
@container_url = 'https://NAME.blob.core.windows.net/CONTAINER',  
@retention_days=30;


USE msdb;  
GO  
EXEC managed_backup.sp_backup_config_schedule   
     @database_name =  'DB_NAME'  
    ,@scheduling_option = 'Custom'  
    ,@full_backup_freq_type = 'Daily'  
    ,@backup_begin_time =  '00:30'  
    ,@backup_duration = '02:00'  
    ,@log_backup_freq = '00:05'  
GO
Run Code Online (Sandbox Code Playgroud)

并且日志备份运行良好,所以我们知道凭证没问题。但是它不会备份数据库,因为它太大了,所以需要拆分。但是怎么做呢?当我像这样运行手动备份时

Use MSDB  
Go  
EXEC managed_backup.sp_backup_on_demand  
 @database_name = 'DB_NAME'  
,@type = 'Database' 
Run Code Online (Sandbox Code Playgroud)

它确实在 Azure 容器中将其分成两部分。那么我如何获得拆分 BAK 文件的自动作业。

我们在 SQL Server 2017 上运行。

希望有人有一个好主意,因为谷歌没有提供任何好处。

谢谢

Sql*_*ide 1

参考:

根据您的大小,您应该能够使用页面博客并指定MAXTRANSFERSIZE = 4194304BLOCKSIZE = 65536。如果需要备份大于 1TB 的数据库,请使用block blob条带备份。要使用块 blob,您需要创建共享访问签名 (SAS),并为 SAS 创建凭据。上面的第三个参考文献中有例子。

第一篇参考文献的评论部分回答了很多问题,如果您遇到任何问题,这些问题将有所帮助。