1

我的任务是从一夜之间的备份中自动恢复数据库。备份保存到 Azure Blob 存储容器。

我想直接从 Blob Storgae 执行还原,还有其他人实现了吗?

我尝试创建一个 powershell 脚本来将备份文件下载到安装 SQL Server 的服务器上,然后在那里恢复表单,但我遇到了很多问题。

4

1 回答 1

0

是的,这是可能的。这些说明适用于 SQL Server 2012。

我能够使用带有 AZCopy 命令的 /BlobType:page 开关上传备份。

然后,我能够使用存储在数据库中的存储凭据直接从该位置恢复。

这是一些示例代码:

复制文件 -

Azcopy /Source:<locationOfYourBackup> /Dest:https://<yourContainerName>.blob.core.windows.net/sqlbackup/<yourBackupFile> /DestKey:<YourContainerKey> /BlobType:page

在数据库服务器上 -

Create credential 'sqlbackup'
With identity ='<yourContainerName>', secret = '<YourContainerKey>'

RESTORE DATABASE [nameOfYourDatabase] FROM  URL = https://<yourContainerName>.blob.core.windows.net/sqlbackup/<yourBackupFile>  
WITH credential = 'sqlbackup' , FILE = 1, NOUNLOAD,  REPLACE,  BLOCKSIZE=4096

匹配当前数据库的块大小非常重要,这样还原将成功完成。

于 2018-04-10T20:31:18.647 回答