【发布时间】:2021-08-06 20:06:18
【问题描述】:
我正在尝试将 SQL Server(本地)备份到 Azure Blob 存储。我已经创建了 SAS 凭证
CREATE CREDENTIAL [https://xxxxxxxxx.blob.core.windows.net/yyyyyyyy]
WITH IDENTITY = 'Shared Access Signature',
SECRET = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'
在 SQL Server 中,尝试使用此命令启用服务器备份时
USE msdb;
GO
EXEC msdb.managed_backup.sp_backup_config_basic
@enable_backup =1,
@database_name = 'TempDB',
@container_url = 'https://xxxxxxxxx.blob.core.windows.net/yyyyyyyy',
@retention_days = 30
GO
我收到此错误:
消息 45207,级别 17,状态 17,过程 managed_backup.sp_add_task_command,第 102 行 [批处理开始第 19 行]
由于内部错误,操作失败。参数不能为空字符串。
参数名称:sasToken 请稍后重试。在 Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility.AssertNotNullOrEmpty(字符串参数名称,字符串值)
在 Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(String sasToken)
在 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.FileService.VerifyContainerURL(字符串 containerURL,SqlConnection conn)
在 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.SmartBackup.ConfigureDbOrInstance(SmartBackupConfigParameters 配置,LogBaseService jobLogger,SqlConnection conn)
如果我们将@enable_backup 更改为“0”,则查询将正确执行。
我已尝试重新创建 SAS 密钥,但它不起作用。
PS:我目前使用的是 SQL Server 2017。
【问题讨论】:
标签: azure-blob-storage database-backups sql-server-2017