適用対象: SQL Server 2025 (17.x) プレビュー
この記事では、マネージド ID を使用して、Azure Arc で有効になっている SQL Server を使用して、Azure Blob Storage でデータベースをバックアップおよび復元する方法について説明します。
Azure VM 上の SQL Server の場合は、Azure VM 上の SQL Server でマネージド ID を使用して、バックアップと URL への復元を確認します。
[前提条件]
マネージド ID を使用して Azure Blob Storage でデータベースをバックアップおよび復元するには、次のものが必要です。
- プライマリ マネージド ID が割り当てられている Azure Arc によって有効になっている SQL Server 2025 Preview。
- Azure Blob ストレージ アカウント。
- 送信接続と有効なストレージ アカウント サービス エンドポイントを許可するための、ホスト上の Azure Blob Storage と Windows ファイアウォールのアクセス許可への有効なネットワーク アクセス。
- SQL Server インスタンスのプライマリ マネージド ID には、ストレージ アカウントに
Storage Blob Data Contributor
ロールが割り当てられている必要があります。
ストレージ アカウントのアクセス許可を確認する
SQL Server インスタンスのプライマリ マネージド ID には、ストレージ アカウントに Storage Blob Data Contributor
ロールが割り当てられている必要があります。 このロールにより、マネージド ID はストレージ アカウントとの間で書き込みと読み取りを行えます。
次の手順に従って、Azure portal を使用してマネージド ID に割り当てられているアクセス許可を確認します。
Azure portal で ストレージ アカウント に移動します。
[アクセス制御 (IAM)] を選択して、[アクセス制御 (IAM)] ウィンドウを開きます。
[アクセス制御 (IAM)] ウィンドウで、[ロールの割り当て] を選択して、ストレージ アカウントのロールが割り当てられているユーザーとグループの一覧を表示します。
Storage Blob Data Contributor
ロールでフィルター処理し、SQL Server インスタンスのマネージド ID が一覧表示されていることを確認します。
マネージド ID を使用してサーバー資格情報を作成する
マネージド ID で T-SQL コマンド BACKUP DATABASE <database name> TO URL
および RESTORE <database name> FROM URL
を使用するには、マネージド ID を使用するサーバー資格情報を作成する必要があります。 資格情報名は、Azure ストレージ URL を表し、データベース バックアップが格納されている場所を示します。
次の例は、マネージド ID の資格情報を作成する方法を示しています。
CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity'
WITH IDENTITY = 'Managed Identity'
句には、SQL Server インスタンスに割り当てられたプライマリ マネージド ID が必要です。
マネージド ID を使用した URL への BACKUP
資格情報を作成したら、それを使用してデータベースを Azure Blob Storage にバックアップできます。
次の例は、マネージド ID 資格情報を使用してデータベースを Azure Blob Storage にバックアップする方法を示しています。
BACKUP DATABASE [AdventureWorks]
TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
マネージド ID を使用した URL からの RESTORE
次の例は、マネージド ID 資格情報を使用して Azure Blob Storage からデータベースを復元する方法を示しています。
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 にも適用されます。