SQL Server 2012 SP1 CU2で、バックアップ先/リストア元のストレージとしてWindows Azureストレージを選択できるようになりました。
T-SQLかSMO(Server Management Objects)で実行できます。
オンプレミスのSQL Server向けの機能強化ですが、Windows Azure VM上のSQL Serverでも使用できます。
前提条件
SQL Server 2012 SP1 CU2をインストールしている必要があります。
ダウンロードは、ここからできます。
当然、Windows Azureのアカウントが必要です。
Windows Azureストレージの作成
Windows Azure blobストレージにデータベースをバックアップするために、Windows Azureストレージアカウントを作成する必要があります。
- Windows Azure管理ポータルにログインします。
- 管理ポータルの下部の「New」ボタンをクリックします。
- リボン上で、[DATA SERVICES]‐[STORAGE]‐[QUICK CREATE]を選択します。
- [URL]にストレージアカウントのURLに使用するサブドメイン名を入力します。
3~24文字の英数字を入力してください。
[REGION/AFFINITY GROUP]に、地域とアフィニティグループを選択してください。 - [CREATE STORAGE ACCOUNT]をクリックします。
コンテナの作成
次にストレージアカウントにコンテナを作成します。
コンテナはblobをグルーピングする一塊です。
- 管理ポータルからストレージアカウントを選択します。ストレージアカウントのダッシュボードが開きます。
- [CONTAINERS]タブを選択し、コンテナ一覧を表示します。
ストレージアカウントを作成した直後であれば、コンテナはありません。
[CREATE A BLOB CONTAINER]か[ADD CONTAINER]ボタンをクリックします。 - 新しいBLOBコンテナを作成する画面が開きます。
NAMEに、コンテナ名を入力します。ACCESSをPrivateに選択し、ボタンをクリックします。
SQL Serverで認証情報を作成する
SQL ServerにWindows Azure ストレージ認証情報を格納するために認証を作成する必要があります。SQL Server Manaement Studioを使用してSQL Serverに接続し、新しいクエリウィンドウを開きます。
次のT-SQLで、Windows Azureストレージ認証用の認証情報を作成します。
CREATE CREDENTIAL mycredential
WITH IDENTITY = ‘mystorageaccount’,SECRET = ‘<storage access key>’;
Windows Azure管理ポータルに戻り、ストレージのDASHBOARDで[MANAGE KEYS]ボタンをクリックします。
Manage Access Keysウィンドウが開きます。
ストレージアカウントの名前をコピーし、T-SQLの「mystorageaccount」部分に貼り付けます。[PRIMARY ACCESS KEY]か[SECONDARY ACCESS KEY]をコピーし、「Storage Access Key」部分に貼り付けます。
T-SQLを実行します。
「mycredential」認証の作成に成功したら、次のクエリで情報を確認することができます。
データベースのバックアップ
認証を作成した後、認証情報を使用してWindows Azure Blobストレージにデータベースをバックアップすることができます。次の例は、AdventureWorks2012データベースをWindows Azure Blobストレージサービスにバックアップしています。
BACKUP DATABASE AdventureWorks2012
TO URL = ‘https://pfestorageaccount.blob.core.windows.net/sqlbackup/AdventureWorks2012.bak’
WITH CREDENTIAL = ‘mycredential’
,STATS = 5;
GO
サードパーティのWindows Azureストレージの管理ツールで、バックアップファイルを確認することができます。
データベースのリストア
次のクエリでデータベースをリストアすることができます。
RESTORE DATABASE AdventureWorks2012
FROM URL = ‘https://pfestorageaccount.blob.core.windows.net/sqlbackup/AdventureWorks2012.bak’
WITH CREDENTIAL = ‘mycredential’
,STATS = 5;
GO
参考情報
詳細な情報が、MSDNライブラリで提供されています。
このチュートリアルを参照してください。
この投稿は、MSDNブログの韓国プレミアムフィールドエンジニブログに投稿された「How to backup and restore user database from SQL server to Windows Azure blob storage.」をざっくり違約した投稿です。