无法从 Azure 存储备份还原 MSSql 数据库

无法从 Azure 存储备份还原 MSSql 数据库

我们有一个简单的 SQL 脚本,可以从 Azure 存储 Blob 中恢复 MSSql DB。我们将 PROD DB 备份到 Azure 存储。

尝试运行此脚本(我们发誓用过的工作了一段时间)。现在出现错误:

消息 3271,级别 16,状态 1,第 11 行 文件“https://<{snip}.blob.core.windows.net/full/{snip}.bak:”发生不可恢复的 I/O 错误。指定的 URL 指向块 Blob。不允许对块 Blob 进行备份和还原操作。消息 3013,级别 16,状态 1,第 11 行 RESTORE DATABASE 正在异常终止。

.bak文件通过 MSSql 使用内置的维护计划功能生成,并每周一次完整备份到 Azure:

BACKUP DATABASE [<snip>]
TO URL = N'https://<snip>.blob.core.windows.net/full/<snip>.bak' 
WITH CREDENTIAL = N'<snip>' ,
NOFORMAT,
NOINIT,
NAME = N'<snip>',
SKIP,
REWIND,
NOUNLOAD,
COMPRESSION,
STATS = 10

以下是 Azure 存储中此目标博客的 Azure GUI 显示的内容:

在此处输入图片描述

我们使用的脚本:

RESTORE DATABASE <snip> -- |||||--CHANGE--|||||
FROM URL = 'https://<snip>.blob.core.windows.net/full/<snip>.bak' -- |||||--CHANGE--|||||
WITH CREDENTIAL = '<snip>',
MOVE N'<snip>' TO <snip>,
MOVE N'<snip>_log' TO <snip>,  
NOUNLOAD,  
REPLACE,  
STATS = 1
GO

这是我们的恢复脚本的问题吗,或者我们错误地将完整数据备份到 Azure?

相关内容