使用托管标识备份到 URL (预览版) - 由 Azure Arc 启用的 SQL Server

适用于: 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 门户检查分配给托管标识的权限:

  1. 在 Azure 门户中转到 存储帐户

  2. 选择 “访问控制”(IAM) 以打开 “访问控制”(IAM) 窗格。

  3. 在“ 访问控制”(IAM) 窗格中,选择 “角色分配 ”以查看已为存储帐户分配角色的用户和组的列表。

  4. Storage Blob Data Contributor 角色进行筛选,并验证是否看到列出的 SQL Server 实例的托管标识:

    Azure 门户中存储帐户访问控制的屏幕截图。显示需要将 Arc 服务器托管标识添加为存储 Blob 数据贡献者。

使用托管标识创建服务器凭据

为了使用托管标识的 T-SQL 命令 BACKUP DATABASE <database name> TO URLRESTORE <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。