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

第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!

2015年2月24日

お待たせしました!
SQL Server 2014 自習書シリーズ No.5Microsoft Azure SQL Database 入門」(全 241 ページ)、ついに完成です!!
Azure SQL Database って何?」という方は、ぜひご覧下さい。
初めての方であっても、基本操作から中・上級までの機能を一通り試せるように構成してあります。最新版の V12(Version 12)にいち早く対応して、オンプレミスの SQL Server からのデータベースの移行方法や、Azure SQL Database の性能監視方法データ圧縮列ストア インデックスの使いどころ、SQL Server にはまだ実装されていない「行レベル セキュリティ」や「動的データ マスク」、データベースのシャーディングを実現できる 「Elastic Scale」についても記載しております。

Azure SQL Database

目次は次のとおりです。

SQL Server 2014 自習書シリーズ No.5 「Microsoft Azure SQL Database 入門」 目次

STEP 1. Azure SQL Database の概要 5
1.1 Microsoft Azure SQL Database(旧名 SQL Azure)とは 6
- SQL Server のクラウド版(SQL Server とほぼ完全互換) 6
- Azure SQL Database 上のデータベース内に作成できるオブジェクト 7
- Azure SQL Database を利用する利点 8
- Azure SQL Database の料金 11
1.2 Azure SQL Database を操作するためのツール 13
- Transact-SQL での操作なら SQL Server 2008 以降 14
- GUI で最新版の Azure SQL Database を操作するには最新版の SSDT 14
1.3 Microsoft Azure の 1ヶ月間の無料評価版 16
MSDN サブスクリプションの特典など 16

STEP 2. Azure SQL Database の基本操作 18
2.1 Azure SQL Database 上に SQL サーバー/データベースの作成 19
SQL サーバーとデータベースの作成 21
SQL サーバーの作成 22
価格レベル(エディション)の選択 25
データベースの照合順序の変更(Japanese_CI_AS へ変更) 27
リソース グループの作成 27
作成されたデータベースの確認 29
2.2 Azure SQL Database ファイアウォールの設定 33
2.3 SSDT(SQL Server Data Tools)の最新版のインストール 35
SSDT と SSDT-BI 36
SSDT-BI for Visual Studio 2013 のインストール要件 37
SSDT-BI for Visual Studio 2013 のインストール 38
SSDT のインストール(2014年 11月の November Update の場合) 39
2.4 SSDT ツールからの接続 40
2.5 SQL Server 2014 Management Studio からの接続 46
2.6 任意のデータベースへの接続 49

作成したデータベースへの接続 49
2.7 テーブルの作成 50
テーブル名の指定とテーブルの作成 51
2.8 データの追加(INSERT) 54
日本語文字の追加 56
2.9 日付時刻データの確認(UTC) 58
日本標準時(UTC +9)の取得 58
2.10 データの更新と削除(UPDATE/DELETE) 59
2.11 ビューの作成(CREATE VIEW) 60
2.12 ストアド プロシージャの作成(CREATE PROCEDURE) 61
2.13 インデックスの作成 62

インデックスの再構築(REBUILD) 63
そのほかのインデックス操作 64
2.14 V12 からサポートされた SELECT INTO、SQL CLR 65
SELECT INTO 65
SQL CLR(CLR 統合) 65
2.15 Azure SQL Database でサポートされるその他のオブジェクト 70
SQL Server でサポートされている組み込み関数 71
ユーザー定義関数(CREATE FUNCTION) 72
シノニム(CREATE SYNONYM) 73
トリガー(CREATE TRIGGER) 73
sp_executesql 74
サブクエリ(副問い合わせ) 74
ページング(OFFSET .. FETCH) 74
ローカル一時テーブル 75
テーブル変数 76
CTE(共通テーブル式) 76
MERGE ステートメント 76
トランザクション 77
例外処理(TRY .. CATCH) 77
RAISERROR 78
カーソル 78
2.16 Azure SQL Database でのロックの動作(読み取り一貫性) 79
READ_COMMITED_SNAPSHOT での動作 79
スナップショット分離レベル(SNAPSHOT ISOLATION LEVEL) 80
2.17 データ圧縮を利用する 82
行圧縮の内部動作 82
ページ圧縮の内部動作 83
データ圧縮の試し方 83
弊社事例 ~4億件のデータ~ 84
Premium エディションへの変更や、列ストア インデックスを利用した場合 85
インメモリの列ストア インデックスによる性能効果 86
2.18 インメモリの列ストア インデックスを利用する 87
列ストア インデックスの作成方法 87
列ストア インデックスの試し方 87
弊社事例 ~4億件のデータ~ 88
2.19 データ パーティションを利用する 90
パーティション単位でのインデックスの再構築、圧縮設定 91
2.20 行レベル セキュリティ(プレビュー版)を利用する 93
2.21 動的データ マスク(プレビュー版)を利用する 97

STEP 3. Azure SQL Database の その他の操作 100
3.1 Azure SQL Database での特定時刻への復元 101
3.2 Azure SQL Database での監査(Audit) 103

監査の設定 107
SQL サーバー名を変更して接続(~.database.secure.windows.net) 110
.secure を必須にする場合(セキュリティが有効なアクセスを必須) 113
Excel 2013 のテンプレート ファイルを開く ~Power Query~ 114
Azure SDK 2.5 で監査テーブルの参照 121
3.3 Azure SQL Database の DTU(性能指標)、エディション変更 122
実際のクエリの実行速度例 124
4億件の SELECT INTO の性能 125
4億件に対するクエリ性能 125
エディション、パフォーマンス レベルの変更 126
3.4 Azure SQL Database での性能監視方法 129
グラフのカスタマイズ(CPU 利用率やディスク I/O などを追加) 130
DTU の考え方/ボトルネックの確認方法 132
書き込み中心処理の場合 ~Log Write:ログへの書き込み~ 134
メモリが足りていない場合の処理 ~ディスク I/O~ 134
SET STATISTICS IO ON でメモリが足りていないかを確実にチェック 135
並列クエリ ~P2、P3~ 135
3.5 アラート ルールの設定(しきい値を超えた場合にメール送信) 137
3.6 DMV(動的管理ビュー)を利用した性能監視 140
3.7 sqlcmd ユーティリティからの接続/操作 147
3.8 SQL Server との主な相違点 149

ガイドラインと制限事項 150
今後の情報源 152

STEP 4. 既存の SQL Server 環境の Azure SQL Database への移行 153
4.1 Azure SQL Database への移行方法の概要 154
4.2 移行元となるデータベース(NorthwindJ)の作成 156

NorthwindJ データベースの構成 158
4.3 SSIS ウィザードでのテーブル データの移行 160
4.4 bcp コマンドでのテーブル データの移行 168

bcp でデータのインポート 169
4.5 DAC Framework(DAC Fx)によるデータベースの移行 172
ログイン アカウントのパスワードの再設定 178
sqllogin1 でログインして動作の確認 179
Contained Database(包含データベース)を利用している場合 181
DAC Fx でエクスポートを利用する場合(.bacpac ファイルの作成) 183
Management Studio がない場合 ~SqlPackage コマンド~ 188
Management Studio で .bacpac ファイルのインポート 190
データベース サイズが大きい場合の考慮事項 195
インポート後、インデックスの再構築をするのがお勧め 198
4.6 スクリプト生成ウィザードによるデータベースの移行 200
Azure SQL Database 側でログイン アカウントの作成 207
Azure SQL Database に接続してスクリプトの実行 208
移行されたデータの確認 211
4.7 Azure SQL Database の SQL サーバー間でのデータベースの移行 214
データベースのコピー(CREATE DATABASE .. COPY OF) 214
SQL サーバー間でのデータベースのコピー 215
コピーした後のログイン アカウントとデータベース ユーザーの再マッピング 216
Azure ポータルを利用したデータベースのコピー 216
Azure ポータルで DAC Fx(.bacpac)を利用 218
4.8 SSDT の便利な機能(スキーマ比較、リファクタリング) 219
SSDT でのスキーマ比較 219
SSDT のリファクタリング機能 ~名前やスキーマ変更が可能に~ 220

STEP 5. Elastic Scale による シャーディング 223
5.1 Elastic Scale(プレビュー版)の概要 224
Elastic Scale の第一歩 225
5.2 Elastic Scale Client Library の利用 226
シャーディングの構成 ~Button1~ 229
データの INSERT ~Button2~ 234
データの SELECT ~Button3~ 237
データベースの削除(Elastic Scale の削除) 239
おわりに 240

SQL Server 2014 自習書シリーズのページから、どなたでも無料でダウンロードできます。
http://www.microsoft.com/ja-jp/sqlserver/2014/technology/self-learning.aspx

この自習書を作成しているときの話としては、何といっても相方がコントに出てくる陶芸家のように見えたことです。
ちょうど執筆中に Azure がバージョン アップしたり、プレビュー版だったりで機能やインターフェイスが流動的だったのですが、ある程度の時点で切り上げて「完成/提出」という私の目論見に対して、相方が、当人にしかわからないこだわりで、完成間近?に、壊してはやり直し、壊してはやり直しで、地道な追加・修正を繰り返していったことです。まるで、コントに出てくる陶芸家みたいで、私は遠い目をしながら見守っていたという(でも、喧嘩しなかったという)エピソードがあり、ある意味感慨深い作品となりました。
ということで、親しい関係者にだけしか分からない、細部に松本崇博の出汁が出ているドキュメントとなっています。ぜひご覧になって、存分に味わっていただけますと幸いです。

■ おわりに
「SQL Server 2012 の教科書」の重版(3刷)が決まったそうです。買って下さった、皆様、ありがとうございます~!

汐留の時計

事例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 へ参加

技術コミュニティでも活動中
松本崇博 Blog(SQL Server Tips)
松本美穂ブログ(SQL Serverノート)