クラウド環境への SQL Server のバックアップおよび復元が容易に
このポストは、1 月 25 日に投稿された SQL Server Backup and Restore to Cloud Simplified の翻訳です。
編集メモ : 今回は、マイクロソフトのデータ プラットフォーム チームの Guy Bowerman と Karthika Raman が執筆した記事をご紹介します。
SQL Server 2012 Service Pack 1 用の累積的な更新プログラム パッケージ 2 には、新しい機能が含まれており、オンプレミス環境の SQL Server データベースを Windows Azure へ容易にバックアップおよび復元できるようになりました。SQL Serverのバックアップ機能を利用して、Windows Azure ストレージに直接バックアップを作成することが可能です。この記事では、新機能の概要をご紹介します。より詳細な情報については、各リンクを参照してください。
更新プログラムをダウンロードするには、SQL リリース サービス ブログ (英語) にアクセスしてください。
概要
ディスクやテープでのバックアップに加え、SQL Server のバックアップ機能を利用して、お使いの SQL Server データベースを Windows Azure BLOB ストレージ サービスにバックアップできるようになりました。今回のリリースでは、Transact-SQL および SMO を使用したバックアップの実行がサポートされます。この機能は、オンプレミスの SQL Server データベースでも、Windows Azure 仮想マシンで稼働している SQL Server インスタンスのようにホストされた環境の SQL Server データベースでも利用可能です。
メリット
- 柔軟性と信頼性が高く、制限のない社外ストレージによる、災害復旧機能の強化: Windows Azure BLOB サービスにバックアップを保存することで、社外ストレージへのアクセスが柔軟かつ簡単に行え、便利になります。SQL Server のバックアップ用社外ストレージの作成は、既存のスクリプトやジョブを修正するのと同じくらい簡単です。一度の災害によって社外ストレージと運用データベースの両方が影響を受けてしまう事態を避けるため、通常は社外ストレージと運用データベースを十分離れた場所に設置する必要があります。また、オンプレミス データベースの災害復旧用として、Windows Azure 仮想マシンで稼働している SQL Server インスタンスにバックアップを保存することも可能です。BLOB ストレージのジオ レプリケーションを利用することにより、地域全体に被害が及ぶような災害に対する防御措置を強化できます。さらに、バックアップはあらゆる場所からいつでも利用でき、簡単にアクセスして復元することが可能です。
- バックアップの保管方法の改善: Windows Azure BLOB ストレージ サービスでは、バックアップの保管によく利用されているテープに代わる、優れた手法を提供しています。テープ ストレージを利用する場合、社外設備への物理的な搬送や、メディア保護の対策が必要となることもありますが、Windows Azure BLOB ストレージにバックアップを保存すれば、可用性と耐久性に優れたスピーディな保管方法を実現することが可能です。
- ハードウェア管理に関する負担が不要: Windows Azure ストレージ サービスを利用するため、ハードウェアを管理する必要はありません。Windows Azure サービスのハードウェア管理では、ハードウェア障害からの保護と冗長性を実現するため、地理的冗長を行なっています。
- 現在、Windows Azure 仮想マシンで稼働している SQL Server インスタンスについては、接続されたディスクを作成することで、Windows Azure BLOB ストレージ サービスへのバックアップが可能です。ただし、Windows Azure 仮想マシンに接続できるディスク数には制限があるため、インスタンス サイズが Extra-large の場合は 16 ディスクまでとなり、インスタンス サイズが小さくなればディスク数はさらに少なくなります。しかし今回のリリースにより、Windows Azure BLOB ストレージに直接バックアップが可能になったため、ディスク数の制限を回避できるようになりました。
- また、現在 Windows Azure BLOB ストレージ サービスに保存されているバックアップ ファイルは、オンプレミスの SQL Server、または Windows Azure 仮想マシンで稼働している SQL Server のどちらからでも直接利用可能です。データベースの接続/切断や、VHD のダウンロードおよび接続は必要ありません。
- コスト上のメリット: 使用するサービスのみが課金対象となるため、社外サイトでのバックアップの保管としては、コスト効率に優れた方法です。
費用のお見積もりには、Windows Azure の計算ツールが便利です。
ストレージ: データベースの利用サイズを基に、冗長のスケールおよびレベルに応じて段階的に料金が計算されます。詳細および最新の情報については、「料金の詳細」ページの「データ管理」セクションを参照してください。
データ転送: Windows Azure データセンターへの受信データ転送は無料です。送信データ転送の料金は、利用する帯域幅に応じて課金され、段階的な地域固有の区分に基づいています。詳細については、「料金の詳細」ページの「データ転送」セクションを参照してください。
実際の動作
Windows Azure ストレージへのバックアップは、ディスクやテープなどのバックアップ デバイスと同様に動作するよう設計されています。Virtual Backup Device Interface (VDI) を用いて、Windows Azure BLOB ストレージが「仮想バックアップ デバイス」としてコード化され、BLOB ストレージへのアクセスに使用される URL フォーマットがデバイスとして扱われます。Azure ストレージをバックアップ先のデバイスとしてサポートする主な理由は、現在ディスクやテープで実行しているバックアップおよび復元と同様の、一貫したシームレスなエクスペリエンスを実現するためです。
バックアップまたは復元のプロセスが起動されると、URL の「デバイス タイプ」によって対象となる Windows Azure BLOB ストレージが指定され、この機能の一部である VDI クライアント プロセスが起動されます。VDI クライアント プロセスは、バックアップ データを受け取り、それを Windows Azure BLOB ストレージに渡します。
前述のとおり、URL は現在使用されているバックアップ デバイスと同様に扱われますが、物理的なデバイスではないため、いくつかの制限があります。サポートされるオプションの一覧は、「Windows Azure BLOB ストレージ サービスを利用した SQL Server のバックアップおよび復元 (英語)」でご覧いただけます。
ご利用方法
バックアップを Windows Azure BLOB ストレージへ書き込むには、まず Windows Azure ストレージのアカウントを作成して、ストレージ アカウントの認証情報を格納する SQL Server の資格情報を作成する必要があります。バックアップ コマンドまたは復元コマンドを発行するには、Transact-SQL または SMO を使用します。
以下に挙げる Transact-SQL のサンプルでは、資格情報の作成、データベースの完全バックアップ、完全バックアップを使用したデータベースの復元の例を紹介します。ストレージ アカウントの作成や、簡単な復元の実行についての詳細な手順は、「チュートリアル: Windows Azure BLOB ストレージ サービスに SQL Server をバックアップおよび復元する方法 (英語)」を参照してください。
資格情報の作成
このサンプルでは、Windows Azure ストレージの認証情報を格納する資格情報を作成します。
データベースの完全バックアップ
このサンプルでは、「AdventureWorks2012」というデータベースを Windows Azure BLOB ストレージ サービスにバックアップします。
データベースの復元
データベースの完全バックアップを復元するには、以下の手順を使用します。
参考情報
今回ご紹介した機能やドキュメントに関するご意見、ご感想は、karaman @ microsoft.com または guybo @ microsoft.com までお寄せください。