SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

ホーム > 技術情報 > SQL Server 2014 自習書 No.5 Microsoft Azure SQL Database 入門

SQL Server 2014 自習書シリーズ (HTML 版)
「No.5 Microsoft Azure SQL Database 入門」

松本美穂と松本崇博が執筆した SQL Server 2014 自習書シリーズの「No.5 Microsoft Azure SQL Database 入門」の HTML 版です。 日本マイクロソフトさんの Web サイトで Word または PDF 形式でダウンロードできますが、今回、HTML 版として公開する許可をいただきましたので、ここに掲載いたします。[2015年12月29日]

目次へ | 前のページへ | 次のページへ

1.1 Microsoft Azure SQL Database(旧名 SQL Azure)とは

(2015年1月時点での情報)

Microsoft Azure SQL Database」(以降、Azure SQL Database と記述)は、マイクロソフトのクラウド プラットフォームである「Microsoft Azure」のサービスの 1つとして提供されている、クラウド ベースのリレーショナル データベース(RDB)です。クラウドの一般用語としては、「DBaaS」(Database as a Service)または「PaaS」(Platform as a Service)に分類されるものです。

◆ SQL Server のクラウド版(SQL Server とほぼ完全互換)

Azure SQL Database は、SQL Server の持っているデータベース エンジン機能を、クラウド上で利用できるようにしたサービス=「SQL Server のクラウド版」です。したがって、Azure SQL Database は、SQL Server を利用するのと同じように利用することができます。例えば、次の画面は、SQL Server の開発者向けツールである SSDT(SQL Server Data Tools)を利用して、データベース内に「テーブル」を作成しているときの様子です。

00004

このように Azure SQL Database は、SQL Server を利用するのと同じように、各種のオブジェクトをグラフィカルに作成/操作していくことができます。

また、Azure SQL Database は、次のように Transact-SQLT-SQL)ステートメントを利用しても、各種のオブジェクトを作成/操作していくことができます。

00005

◆ Azure SQL Database 上のデータベース内に作成できるオブジェクト

Azure SQL Database 上に作成したデータベース内には、次のオブジェクトを作成することができます(いずれも、SQL Server 上で作成するのと同じように作成していくことができます)。

  • テーブル/データ(データ圧縮も可能)
  • ビュー/ストアド プロシージャ/ユーザー定義関数/シノニム/制約/トリガー
  • インデックスの作成/インデックスの再構築・再構成(オンライン処理も可能)
  • データベース ユーザー/オブジェクト権限/データベース ロール
  • sp_executesql/CTE(共通テーブル式)/MERGE ステートメント
  • サブクエリ(副問い合わせ)/ローカル一時テーブル/テーブル変数/カーソル
  • トランザクション/例外処理(TRY..CATCH)/RAISERROR によるエラーの発生
  • Spatial データ型(経度、緯度などの地図データの格納)
  • 執筆時点(2015年1月時点)での最新版である Version 12 からは、データ パーティション/SQL CLR(CLR統合)/インメモリ列ストア インデックス/SELECT INTO にも対応。行レベルでのセキュリティ機能も提供

具体的な操作方法や SQL Server との細かい相違点などについては、この自習書内でステップ バイ ステップ形式で、簡単な例を使って説明していくので、ぜひ試しながら読み進めてください。


Note: Azure SQL Database は日々進化している(進化のスピードが非常に速い)
Azure SQL Database は、最初のバージョンが提供されたのは、約 5年前の 2010年 1月で、当時は「SQL Azure」と呼ばれていました。 最初のバージョンでは、非常に大きな制約が数多くあり、例えば、データベース サイズが最大10GBまでしか対応していない、データベースの照合順序を変更できない、性能監視用のビューがサポートされていないなど、SQL Server と比べると、できないことが本当にたくさんありました。
しかし、2010年4月の Azure SQL Database のバージョン アップでは MARS(Multiple Active Result Set)機能がサポートされたり、2010年6月のバージョン アップでは Spatial データ型geometrygeography)とHierarchyIDデータ型のサポート、2011年12月のバージョン アップではデータベースの照合順序を変更できるようになったりするなど、非常に速いスピードで進化をしています(わずか最初の 2年の間に、大幅なバージョン アップが 6回も行われました)。
その後の 3年間でも何度もバージョンアップが行われて、データ圧縮機能が利用できるようになったり、オンラインでのインデックスの再構築が利用できるようになったり、SQL Server 2012 から提供された組み込み関数のサポート、性能を強化した Premium エディションの提供、可用性の向上99.99%の SLA)、監査(Audit)機能の提供、指定した時刻へのデータベース復元のサポート、災害対策向けのジオ レプリケーション、読み取り可能なセカンダリのサポートなど、日々進化しています。
執筆時点(2015年1月)での最新版である Version 12(12 という数字は、SQL Server 2014 の内部バージョンに合わせたもの)では、データベース サイズは最大 500GBPremium エディションのさらなる性能向上並列クエリインメモリの列ストア インデックスデータ パーティションSQL CLR のサポート、2GB を超えるトランザクションや SELECT INTO のサポート、性能監視用のビューやコマンドも多数サポートされるようになって、SQL Server との違いを探すのが難しいぐらいに進化を遂げています。また、SQL Server にはない機能(将来の SQL Server で搭載される予定の機能)である「行レベルでのセキュリティ」が Azure SQL Database でイチ早く実装されるなど(執筆時点ではプレビュー版の提供)、Azure SQL Database のほうが進んでいる部分もあります。
また、Elastic Scale(プレビュー版)を利用すれば、データベースのシャーディング(複数のデータベースを 1つのデータベースのように見せかけること)ができるようになるので、500GB を超えたデータも扱えるようになります(2つに分割すれば 1TB 分、3つに分割すれば 1.5TB分のデータ量を格納できるようになります)。

◆ Azure SQL Database を利用する利点

Azure SQL Database を利用する主な利点は、次のとおりです。

  • マイクロソフトによって自動で運用管理されている
    = 利用者はアプリケーション開発に集中できる
  • 99.99% の SLA
  • ジオ レプリケーションによる災害対策が可能(セカンダリは読み取りも可能)
  • SQL Serverとほぼ完全互換Transact-SQL(T-SQL)
  • SQL Server からの移行が容易(データベースを丸ごと移行可能)
  • 利用した分だけの課金(時間単位の課金で、初期費用は不要。契約解除手数料もなし)
    一番安い Basic エディションなら、1ヶ月利用しても 500~600円、1日だけの利用なら 16.2~19.4円
  • アクセス数の多い日多い時間帯などに合わせて、エディションを変更可能
    キャンペーンなどでアクセス数が急激に増える日や、ピークタイムなどに合わせて、性能の良いエディションへ変更したり、複数のデータベースを作成して、負荷分散を図っていくことが可能

Azure SQL Database は、マイクロソフトによって運用管理されているので、バックアップや災害対策などで、高度な専門知識が必要ありません。利用者は、アプリケーション開発に集中することができます。

Azure SQL Database でのバックアップは、自動的に取得されていて、戻したい時刻にいつでも戻すことができます(Basic エディションなら 7日以内、Standard エディションなら 14日以内、Premium エディションなら 35日以内の任意の日時/時刻にデータベースを復元することができます)。次の画面は、データベースを復元しているときの様子です(簡単に復元できます)。

00006

また、災害対策のためのジオ レプリケーション(データセンターをまたがったデータベースの複製)も、ポータル サイトの GUI 操作だけで(数クリックするだけで)、簡単に設定できます。

00007

ジオ レプリケーションの設定が完了すると、次のようにグラフィカルに監視することができます。

00008

Azure SQL Database は、SLA 99.99% なので、データベースの運用管理をまかせることができ、ユーザーは、アプリケーション開発に集中できるようになります。

Azure SQL Database では、オンプレミス(ローカル環境)の SQL Server のデータベースを、Azure SQL Database 上に移行することも簡単に行うことができます。移行のためのウィザードが提供されていて、次のように簡単に移行することができます(詳しくは Step 4 で説明します)。

00009

◆ Azure SQL Database の料金

Azure SQL Database の料金は、次の URL から確認することができます。

SQL Database 料金
http://azure.microsoft.com/ja-jp/pricing/details/sql-database/

00010

このページでは、次のように料金の詳細が記載されています。

00011

このページをまとめると、次のようになります(2015年1月時点での情報)。

00012

性能や、作成可能なデータベース サイズ、復元ポイント(どの時点まで復元できるのか)、利用できる機能などによって、料金が分かれていて、一番安い Basic エディションであれば、1ヶ月利用たとしても約612円1日だけの利用なら 19.7円で済みます(データセンターに東日本を選択した場合)。Basic エディションは価格が安い分だけ、性能や機能で大きな制限を受けますが、この自習書の内容を試す分には、何も問題なく行うことができます。

Standard エディションの S0 レベルの場合は、1ヶ月利用しても約1,734円、1日だけの利用なら 55.9円で済みます。また、課金は ”時間単位” で行われるので、S0 レベルを 1時間だけ利用するのであれば、2.33円で済みます(表の中の /時間 は、1時間あたりの料金という意味になります)。

初期費用はかからず、契約解除手数料もかからないので、利用した時間の分だけ課金されるのが Azure SQL Database になります。

Azure を管理するためのポータル サイトを利用すれば、現在の課金状況も、次のように確認することができます(さらに細かい課金状況を Excel ファイルとしてダウンロードすることも可能)。

00013

Azure SQL Database では、アクセス数の多い日や、多い時間帯などに合わせて、エディションを変更することもできるので、キャンペーンなどでアクセス数が急激に増える日や、ピークタイムなどに合わせて、性能の良いエディションへ変更したり、複数のデータベースを作成して、負荷分散を図っていったりすることもできます。

目次へ | 前のページへ | 次のページへ

事例1

SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2016 の教科書
SQL Server 2016 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2016 自習書も
マイクロソフトのサイトで公開中!
ダウンロードはこちら
セミナー風景
セミナー風景

ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要(Amazon Kindle 書籍)

弊社執筆の
SQL Server 2014 自習書
マイクロソフトのサイトで公開中
目次はこちら

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
ダウンロードはこちら
松本美穂のコラム
(公開活動などのお知らせ)

第60回:SQL Server 2017 自習書 No.3「SQL Server 2017 Machine Learning Services」のご案内
第59回:SQL Server 2017 自習書 No.2「SQL Server 2017 on Linux」のご案内
第58回:SQL Server 2017 自習書 No.1「SQL Server 2017 新機能の概要」のご案内
第57回:SQL Server 2017 RC 版とこれまでのドキュメントのまとめ
第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中