适用于: SQL Server 2025 (17.x) 预览版
本文介绍如何通过 Azure Blob 存储,使用托管标识来备份和还原使用 Azure Arc 启用的 SQL Server 数据库。
对于 Azure VM 上的 SQL Server,请查看使用托管标识进行备份和还原到 URL 的方法。
先决条件
若要使用托管标识备份和还原使用 Azure Blob 存储的数据库,需要满足以下条件:
- Azure Arc 启用的 SQL Server 2025 预览版,已分配了主要托管身份。
- Azure Blob 存储帐户。
- 对主机上的 Azure Blob 存储和 Windows 防火墙权限的有效网络访问,以允许出站连接和有效的存储帐户服务终结点。
- SQL Server 实例的主要托管标识需要将
Storage Blob Data Contributor
角色分配给存储帐户。
检查存储帐户权限
SQL Server 实例的主要托管标识需要在存储帐户中分配Storage Blob Data Contributor
角色。 此角色允许托管标识写入存储帐户并从中读取。
按照以下步骤使用 Azure 门户检查分配给托管标识的权限:
在 Azure 门户中转到 存储帐户 。
选择 “访问控制”(IAM) 以打开 “访问控制”(IAM) 窗格。
在“ 访问控制”(IAM) 窗格中,选择 “角色分配 ”以查看已为存储帐户分配角色的用户和组的列表。
按
Storage Blob Data Contributor
角色进行筛选,并验证是否看到列出的 SQL Server 实例的托管标识:
使用托管标识创建服务器凭据
为了使用托管标识的 T-SQL 命令 BACKUP DATABASE <database name> TO URL
和 RESTORE <database name> FROM URL
,您需要创建一个使用托管标识的服务器凭据。 凭据名称表示 Azure 存储 URL,并指示存储数据库备份的位置。
以下示例演示如何为托管标识创建凭据:
CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity'
该 WITH IDENTITY = 'Managed Identity'
子句需要分配给 SQL Server 实例的主托管标识。
使用托管标识备份到 URL
创建凭据后,可以使用它将数据库备份到 Azure Blob 存储。
以下示例演示如何使用托管标识凭据将数据库备份到 Azure Blob 存储:
BACKUP DATABASE [AdventureWorks]
TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
使用托管标识从 URL 恢复信息
以下示例演示如何使用托管标识凭据从 Azure Blob 存储还原数据库:
RESTORE DATABASE [AdventureWorks]
FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
错误消息
Azure VM 上的 SQL Server 一文中列出的错误消息也适用于由 Azure Arc 启用的 SQL Server。