2017-06-21 60 views
0

目标:我试图将我们的内部SSMS数据库备份到我们的Azure云存储。使用共享访问备份SQL Server数据库到Azure Blob时出现“解码存储密钥时出错”

我有一个blob容器https://zutosqlbackupslive.blob.core.windows.net/dw1/ 这是设置为私人。

我创建了具有完全权限(允许所有资源类型,允许所有权限)的共享访问签名,其开始日期为昨天,并且有效期为下一年。

它被设置为异体HTTPS和HTTP,使用密钥1.

使用此SAS,我可以将它添加到的URL图像文件的末尾来访问BLOB测试图像。所以我的SAS工作。

enter image description here

SQL脚本

CREATE CREDENTIAL [AzureDWBackup] 
     WITH IDENTITY = 'Shared Access Signature', 
     SECRET = '<<SAS key>>' -- this the key taken from the highlighted section of the screenshot 
GO 

BACKUP DATABASE Maintenance 
TO URL = 'https://zutosqlbackupslive.blob.core.windows.net/dw1/Maintenance_DW1_FullBackup_20062017T1518.bak' 
WITH INIT, NOFORMAT, NAME = N'Maintenance_DW1_FullBackup_20062017T1518', STATS = 10 
, CREDENTIAL = N'AzureDWBackup' 

产生的错误是:

Msg 3298, Level 16, State 2, Line 11
Backup/Restore to URL device error: Error while decoding the storage key.

Msg 3013, Level 16, State 1, Line 11
BACKUP DATABASE is terminating abnormally.

任何人可以从看什么是错的,或者建议尝试下一个是什么。

+0

As [启用到Microsoft Azure的SQL Server托管备份](https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/enable-sql-server-managed-backup-to -microsoft-azure#enable-and-configure-includesssmartbackupincludesss-smartbackup-mdmd-with-default-settings)指出你需要从SAS令牌中删除第一个“?”。另外,你的SQL服务器的版本是什么? –

+0

你解决了这个问题吗,你需要进一步的帮助吗? –

+0

嗨。感谢您的回答。对不起,我还没有回应。我试着按照你的提示,但仍然得到同样的错误。我检查了防火墙是清楚的,他们是。不知道还有什么会使SAS无法解码。 –

回答

1

根据你的描述,我跟着here用SAS URL创建一个SQL Credential。这里是我的测试,你可以参考一下吧:

创建SQL凭据的SAS URL和备份数据库

--Create a SQL Credential for the SAS URL 
CREATE CREDENTIAL [https://{storage-account-name}.blob.core.windows.net/dbbackups] WITH IDENTITY = 'Shared Access Signature' 
,SECRET = 'st=2017-04-22T03%3A55%3A00Z&se=2017-07-29T03%3A55%3A00Z&sp=rwdl&sv=2015-12-11&sr=c&sig=Txv%2FWrStGYb6ax1dzb47WbBjO7iNCbwohl02jodhuNw%3D' 

--backup the database 
BACKUP DATABASE [{your-database-name}] 
TO URL = 'https://{storage-account-name}.blob.core.windows.net/dbbackups/brucedb_20160623114800.bak' 

注:您需要从删除第一个?您SAS令牌。

结果:

enter image description here

enter image description here

此外,对于storage account nameaccount access key创建SQL Server的凭据,您可以参考Lesson 2: Create a SQL Server CredentialLesson 3: Write a Full Database Backup to the Windows Azure Blob Storage Service

相关问题