我正在尝试利用 SQL Server 中新的备份到 url 功能。我已经创建了一个有效的证书并尝试了一个简单的备份,但无论我尝试什么,我每次都会遇到相同的错误。
我也尝试过创建一个新的托管备份。通过托管备份,我看到了一个新的存储容器,但没有获得新的 blob。当我查看日志时,它得到了同样的错误。
例子:
BACKUP DATABASE [mydb]
TO URL = 'https://mybackups.blob.core.windows.net/sqltest-mssqlserver/backup_2014_08_08.bak'
WITH
CREDENTIAL = N'AzureCreds' ,
STATS = 1
GO
Run Code Online (Sandbox Code Playgroud)
信息:
Msg 3293, Level 16, State 1, Line 1
An error occurred while Backup/Restore to URL was initializing. Error message: Internal engine error, invalid parameters caused fatal error.
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)
小智 2
您的凭据可能有问题。我最近使用以下命令成功备份到SQL Azure:
BACKUP DATABASE [MyDatabaseName] TO URL = N'https://mystorageaccount.blob.core.windows.net/mycontainer/MyDatabaseName_backup_2014_12_19_124300_8473463.bak'
WITH CREDENTIAL = N'MyCredentialName',
NOFORMAT, NOINIT,
NAME = N'MyDatabaseName_backup_2014_12_19_124300_8473463',
SKIP, REWIND, NOUNLOAD,
COMPRESSION, STATS = 10;
Run Code Online (Sandbox Code Playgroud)
凭据设置为“名称”为“MyCredentialName”,“身份”为存储帐户名称,“密码”为主要或辅助访问密钥。
我最初遇到了凭据问题,因为我尝试使用 Azure 存储支持的凭据格式作为数据库的文件位置(即“名称”的 url 前缀、“身份”的“共享访问签名”以及后面的所有内容) “?”(来自密码的共享访问签名 url),这显然不适用于 BACKUP 命令。