3

我现在有一个 SQL 托管实例数据库,我想以 .bak 格式备份到 blob 存储。我正在使用的当前命令是

WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
, SECRET = 'Pasted my sas token generated from azure portal blob storage'
go

BACKUP DATABASE [DB_Name]
TO URL = 'blob url/cointainer name/testing.bak'with checksum;

但由此我收到一个错误:“备份数据库失败。SQL 数据库托管实例仅支持由用户启动的 COPY_ONLY 完整数据库备份。”

我也尝试给出“ COPY_ONLY ”而不是校验和,但我又遇到了一个错误:“消息 41922,级别 16,状态 1,第 6 行不支持具有服务管理的透明数据加密的数据库的备份操作SQL 数据库托管实例。消息 3013,级别 16,状态 1,第 6 行 BACKUP DATABASE 正在异常终止。"

注意:我有一个大约 800GB 的数据库

4

3 回答 3

1

为了防止出现原始错误消息并且您对增加的安全风险感到满意,您可以删除加密:

更改数据库 [database_name] 设置加密关闭

使用 [database_name]

删除数据库加密密钥

于 2020-09-10T08:08:52.547 回答
1

错误与服务管理的 TDE加密有关,因为默认情况下所有数据库都加密并且服务管理的 TDE 不允许进行 copy_only 备份。您需要禁用服务管理的 TDE使用客户管理的密钥启用 TDE以进行备份。由于您的数据库大小为 800 GB,如果 BackupSize > 200 GB,则将备份拆分为多个文件。这是blockblob的限制。

于 2020-04-02T09:26:12.473 回答
0

备份命令应该是:

USE [master]

BACKUP DATABASE [SQLTestDB] 
TO  URL = N'https://msftutorialstorage.blob.core.windows.net/sql-backup/sqltestdb_backup_2020_01_01_000001.bak' 
WITH  COPY_ONLY, CHECKSUM
GO

您可以遵循此 Azure 教程: 快速入门:SQL 备份和还原到 Azure Blob 存储服务

在此处输入图像描述

它将帮助您逐步将数据库(.bak)备份到 Blob 存储:

  1. 创建凭据

  2. 备份数据库

希望这可以帮助

于 2020-04-02T01:58:08.520 回答