クイック スタート: Azure Blob Storage サービスへの SQL Server のバックアップと復元Quickstart: SQL Server Backup and Restore to Azure Blob Storage Service

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このクイックスタートでは、Azure Blob Storage サービスへのバックアップの書き込みと、Azure Blob Storage サービスからの復元を実行する方法について学習できます。This quickstart helps you understand how to write backups to and restore from the Azure Blob Storage Service. このクイックスタートでは、Azure BLOB コンテナーの作成方法と、ストレージ アカウントにアクセスし、Blob service にバックアップを書き込み、簡単な復元を実行するための資格情報の作成方法について説明します。The quickstart explains how to create an Azure Blob Container, credentials for accessing the storage account, writing a backup to the blob service, and then performing a simple restore.

PrerequisitesPrerequisites

このクイックスタートを完了するには、SQL ServerSQL Server のバックアップと復元の概念および T-SQL 構文についての知識が必要です。To complete this quickstart, you must be familiar with SQL ServerSQL Server backup and restore concepts and T-SQL syntax. このクイックスタートを使用するには、Azure Storage アカウント、SQL Server Management Studio (SSMS)、SQL Server を実行しているサーバーへのアクセス権、AdventureWorks データベースが必要です。To use this quickstart, you need an Azure storage account, SQL Server Management Studio (SSMS), access to a server that's running SQL Server, and an AdventureWorks database. また、BACKUP コマンドと RESTORE コマンドの実行に使用するアカウントは、alter any credential 権限を持つ db_backup operator データベース ロールに属している必要があります。Additionally, the account used to issue the BACKUP and RESTORE commands should be in the db_backupoperator database role with alter any credential permissions.

Azure BLOB コンテナーを作成するCreate Azure Blob Container

コンテナーには、一連の BLOB をグループ化するコンテナーが用意されています。A container provides a grouping of a set of blobs. すべての BLOB は 1 つのコンテナーに存在する必要があります。All blobs must be in a container. アカウントには、コンテナーを無制限に含めることができますが、少なくとも 1 つのコンテナーが必要です。An account can contain an unlimited number of containers, but must have at least one container. コンテナーには、BLOB を無制限に格納できます。A container can store an unlimited number of blobs.

コンテナーを作成するには、次の手順を実行します。To create a Container, follow these steps:

  1. Azure portal を開きます。Open the Azure portal.
  2. ストレージ アカウントに移動します。Navigate to your Storage Account.

フィードバックをお待ちしております。 この記事の手順やコード例の中で、古い情報や間違っている情報を見つけた場合は、ぜひお知らせください。We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. このページの下部にある [フィードバック] セクション内で [このページ] ボタンをクリックしてください。You can click the This page button in the Feedback section at the bottom of this page. SQL に関するフィードバックのすべての項目に目を通しています (通常は翌日)。We read every item of feedback about SQL, typically the next day. よろしくお願いいたします。Thanks.

  1. ストレージ アカウントを選択し、 [Blob Services](Blob services) までスクロールします。Select the storage account, scroll down to Blob Services.
  2. [BLOB] を選択し、 [+Container](+コンテナー) を選択して新しいコンテナーを追加します。Select Blobs and then select +Container to add a new container.
  3. コンテナーの名前を入力し、指定したコンテナー名をメモしておきます。Enter the name for the container and make note of the container name you specified. この情報は、後でこのクイックスタートの T-SQL ステートメントの URL (バックアップ ファイルのパス) 内で使用されます。This information is used in the URL (path to backup file) in the T-SQL statements later in this quickstart.
  4. [OK] を選択します。Select OK.
![新しいコンテナー](media/tutorial-sql-server-backup-and-restore-to-azure-blob-storage-service/new-container.png)

注意

ストレージ アカウントへの認証は、パブリック コンテナーの作成を選択した場合でも、SQL Server のバックアップと復元に必要です。Authentication to the storage account is required for SQL Server backup and restore even if you choose to create a public container. コンテナーは、REST API を使用してプログラムで作成することもできます。You can also create a container programatically using REST APIs. 詳しくは、「Create Container」をご覧くださいFor more information, see Create container

テスト データベースを作成するCreate a test database

  1. SQL Server Management Studio (SSMS) を起動し、SQL Server インスタンスに接続します。Launch SQL Server Management Studio (SSMS) and connect to your SQL Server instance.
  2. [新しいクエリ] ウィンドウを開きます。Open a New Query window.
  3. 次の Transact-SQL (T-SQL) コードを実行して、テスト データベースを作成します。Run the following Transact-SQL (T-SQL) code to create your test database. 新しいデータベースを表示するには、オブジェクト エクスプローラー[データベース] ノードを最新の情報に更新します。Refresh the Databases node in Object Explorer to see your new database.
USE [master]
GO

CREATE DATABASE [SQLTestDB]
GO

USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
    ID INT NOT NULL PRIMARY KEY,
    c1 VARCHAR(100) NOT NULL,
    dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO


USE [SQLTestDB]
GO

INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO

SELECT * FROM SQLTest
GO

SQL Server 資格情報の作成Create a SQL Server Credential

SQL Server 資格情報は、SQL Server の外部にあるリソースへの接続に必要な認証情報を保存するために使用されるオブジェクトです。A SQL Server credential is an object that is used to store authentication information required to connect to a resource outside of SQL Server. ここでは、SQL Server のバックアップおよび復元プロセスで資格情報を使用して、Windows Azure Blob Storage サービスを認証します。Here, SQL Server backup and restore processes use credentials to authenticate with the Windows Azure Blob storage service. 資格情報には、ストレージ アカウントの名前とその アクセス キー 値が格納されます。The Credential stores the name of the storage account and the storage account access key values. 作成した資格情報は、BACKUP/RESTORE ステートメントの実行時に WITH CREDENTIAL オプションで指定する必要があります。Once the credential is created, it must be specified in the WITH CREDENTIAL option when issuing the BACKUP/RESTORE statements. 資格情報について詳しくは、資格情報に関する記事をご覧ください。For more information about credentials, see Credentials.

重要

以下で説明する SQL Server 資格情報の作成要件は、SQL Server バックアップ プロセス (SQL Server Backup to URL および Microsoft Azure への SQL Server マネージド バックアップ) に固有です。The requirements for creating a SQL Server credential described below are specific to SQL Server backup processes (SQL Server Backup to URL, and SQL Server Managed Backup to Microsoft Azure). SQL Server では、Azure ストレージにアクセスしてバックアップの書き込みまたは読み取りを行う場合、ストレージ アカウント名とアクセス キーの情報が使用されます。SQL Server uses the storage account name and access key information when accessing Azure storage to write or read backups.

アクセス キーAccess keys

Azure portal は開いたままなので、資格情報の作成に必要なアクセス キーを保存します。Since the Azure portal is still open, save the access keys necessary for creating the credential.

  1. Azure portal で [ストレージ アカウント] に移動します。Navigate to the Storage Account in the Azure portal.

  2. [設定] までスクロールし、 [アクセス キー] を選択します。Scroll down to Settings and select Access Keys.

  3. 後でこのクイックスタートで使用するために、キーと接続文字列の両方を保存します。Save both the key and connection string to use later in this quickstart.

    アクセス キー

SQL Server 資格情報の作成Create a SQL Server credential

保存したアクセス キーを使用して、以下の手順に従って SQL Server 資格情報を作成します。Using the access key you saved, create the SQL Server credential following the steps below.

  1. SQL Server Management Studio を使用して、SQL Server に接続します。Connect to your SQL Server using SQL Server Management Studio.

  2. SQLTestDB データベースを選択し、 [新しいクエリ] ウィンドウを開きます。Select the SQLTestDB database and open a New Query window.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、必要に応じて変更して実行します。Copy, paste, and execute the following example into the query window, modifying as needed:

    CREATE CREDENTIAL mycredential   
    WITH IDENTITY= 'msftutorialstorage', -- this is the name of the storage account you specified when creating a storage account   
    SECRET = '<storage account access key>' -- this should be either the Primary or Secondary Access Key for the storage account 
    
  4. 次のステートメントを実行して、資格情報を作成します。Execute the statement to create the credential.

Windows Azure Blob Storage サービスへのデータベースのバックアップBack up database to the Windows Azure Blob Storage Service

このセクションでは、T-SQL ステートメントを使用して Windows Azure Blob Storage サービスにデータベースの完全バックアップを実行します。In this section, you will use a T-SQL statement to perform a full database backup to the Windows Azure Blob Storage service.

  1. SQL Server Management Studio を使用して、SQL Server に接続します。Connect to your SQL Server using SQL Server Management Studio.

  2. SQLTestDB データベースを選択し、 [新しいクエリ] ウィンドウを開きます。Select the SQLTestDB database and open a New Query window.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、必要に応じて変更します。Copy and paste the following example into the query window, modifying as needed:

    BACKUP DATABASE [SQLTestDB] 
    TO URL = 'https://msftutorialstorage.blob.core.windows.net/sql-backup/SQLTestDB.bak' 
    /* URL includes the endpoint for the BLOB service, followed by the container name, and the name of the backup file*/ 
    WITH CREDENTIAL = 'mycredential';
    /* name of the credential you created in the previous step */ 
    GO
    
  4. URL に SQLTestDB データベースをバックアップするステートメントを実行します。Execute the statement to back up your SQLTestDB database to URL.

Windows Azure Blob Storage サービスからのデータベースの復元Restore database from Windows Azure Blob Storage Service

このセクションでは、T-SQL ステートメントを使用して、データベースの完全バックアップを復元します。In this section, you will use a T-SQL statement to restore the full database backup.

  1. SQL Server Management Studio を使用して、SQL Server に接続します。Connect to your SQL Server using SQL Server Management Studio.
  2. [新しいクエリ] ウィンドウを開きます。Open a New Query window.
  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、必要に応じて変更します。Copy and paste the following example into the query window, modifying as needed:
RESTORE DATABASE [SQLTestDB] 
FROM URL = 'https://msftutorialstorage.blob.core.windows.net/sql-backup/SQLTestDB.bak' 
WITH CREDENTIAL = 'mycredential',
STATS = 5 -- use this to see monitor the progress
GO

参照See also

SQL ServerSQL Server バックアップに Azure Blob Storage サービスを使用する場合の概念やベスト プラクティスについて、次の推奨トピックで説明しています。Following is some recommended reading to understand the concepts and best practices when using Azure Blob storage service for SQL ServerSQL Server backups.