SQL Server 2012 SP1 以降から、データベースのバックアップ先にBLOBを指定することができるので、ためしてみました。
環境
試した環境は以下の通り。ちなみにSQL Serverは、Express版でも大丈夫です。
- Windows Server 2012 R2
- SQL Server 2014 Express
Azureのストレージアカウントは予め作成しておきましょう。
Credential
初めに、認証情報を定義しておく必要があります。以下の、CREATE CREDENTIAL で、認証情報を定義します。
CREATE CREDENTIAL mycredential WITH IDENTITY = 'ストレージアカウント', SECRET = 'アカウントキー' ;
以下のテーブルをみると、情報が確認できます。
SELECT * FROM sys.credentials
バックアップ
いくつか制限がありますが、代表的な物として、
- 1TB以上はバックアップできない
- 追記付加、WITH FORMATオプションで上書きできる。
試しに、Hogeデータベースをバックアップする場合は以下の取りとなります。コンテナは予め作っておかないとエラーがでました。
BACKUP DATABASE Hoge TO URL = 'https://somestorageaccount.blob.core.windows.net/mycontainer/Hoge.bak' WITH FORMAT, CREDENTIAL = 'mycredential' ,STATS = 5 ; GO