SQL Server 2014 自習書シリーズ「SQL Server 2005 ユーザーのための SQL Server 2014」(約 336ページ)公開されました!!

日本マイクロソフトさんのサイトで公開中の、私たちが執筆・制作した SQL Server 2014 自習書シリーズの引き続きのご紹介です。
今回は、SQL Server 2005 を使っている人が、最新の SQL Server を知るための自習書「SQL Server 2005 ユーザーのための SQL Server 2014」(SQL Server 2014 自習書シリーズ)です。総ページ数 336 ページの大ボリューム!!目次をご紹介します。


この自習書は、(量が多くて、途中、めまいがしそうになりましたが)作成していて本当に楽しかったです。なぜかというと、SQL Server のこの10年近くの進化を一気に網羅して、くまなくご紹介できているからです。作成した私たち自身も SQL Server 2005 より後の機能(10年間)を一気に駆け抜けた気分になりました。
「ああ、これは SQL Server 2008 のセミナーでご紹介した機能だ。そのときはこんなことがあって、こういうデモスクリプトにしたんだよね」とか、「この機能が追加されたときは、本当にインパクトがあったよね」とか。当時の興奮、再び、という感じです。


STEP 1. SQL Server 2005 からの 変更点の概要 5
1.1 SQL Server 2005 からの変更点の概要 6
1.2 SQL Server 2008 から提供された主な新機能 7

  • 性能向上に関する主な新機能 8
  • 可用性/運用管理/コンプライアンスに関する主な新機能 9
  • BI/DWH に関する主な新機能 11
  • その他の主な新機能 12

1.3 SQL Server 2008 R2 から提供された主な新機能 14

  • 主な新機能の概要 14

1.4 SQL Server 2012 から提供された主な新機能 18

  • 性能向上に関する主な新機能 18
  • AlwaysOn 可用性グループによる可用性の向上/DR の実現 19
  • AlwaysOn フェールオーバー クラスタインスタンス(FCI)の新機能 23
  • Windows Server Core による計画停止時間の短縮 24
  • BI/DWH 関連の新機能 24
  • その他の新機能 26

1.5 SQL Server 2014 から提供された主な新機能 29

  • 性能向上に関する主な新機能 29
  • クラウド連携に関する新機能(Microsoft Azure) 32
  • その他の新機能の概要 33

1.6 自習書を試す環境について 36
1.7 サンプル データベース(AdventureWorks2014)のダウンロード 37

  • AdventureWorks2014 データベースのリストア 38

1.8 サンプル データベース(NorthwindJ)の作成 41


STEP 2. SQL Server 2008 以降の 必ず役立つ新機能 43
2.1 バックアップ圧縮(Backup Compression) 44

  • 弊社事例 45
  • メンテナンス プラン ウィザードを利用する場合 45
  • バックアップ圧縮ファイルからのリストア 47

2.2 データ圧縮(Data Compression) 48

  • 行圧縮(Row Compression) 49
  • 行圧縮の内部動作 52
  • ページ圧縮(Page Compression) 52
  • 事例(40億件のデータで半分に圧縮、4倍以上の性能向上) 54
  • 列ストア インデックスによるデータ圧縮/驚異的な性能向上 55

2.3 SQL Server Audit(SQL Server 監査) 56

  • ログイン アカウントの変更履歴の監査 58
  • コマンドでログの参照: fn_get_audit_file 61
  • そのほかのサーバー監査の仕様 61
  • 監査設定のスクリプト化 62
  • データベースに対する操作履歴の監査 63
  • 監査ログの記録とログの参照 65

2.4 データ コレクションとパフォーマンス データ コレクション 67

  • パフォーマンス データ コレクションによるパフォーマンス レポート 67
  • パフォーマンス データ コレクションによって自動収集されるデータ 73
  • ディスク使用量の概要レポート 76
  • 「クエリ統計」と「サーバーの利用状況」 77
  • クエリ統計の履歴レポート 78
  • リソース待ちに関する詳細 80
  • サーバーの利用状況の履歴レポート 80
  • SQL Server の動作状況の表示(Wait Stats やロック待ちなど) 82

2.5 ユーザー定義のデータ コレクションによる定期的なデータ収集 83
2.6 リソース ガバナーによるリソース調整 87

  • 負荷ワークロードの実行と監視 90
  • Affinity Mask を元に戻す 95
  • 分類子関数内で利用できる関数 96
  • アプリケーション名(APP_NAME 関数)での振り分け 96
  • スクリプト生成 97
  • SQL Server 2012 からのリソース ガバナーの新機能 98
  • SQL Server 2014 からのリソース ガバナーの新機能 98

2.7 Spatial データ型による地図データのサポート 99

  • geometry データ型 99
  • STDistance(2点間の距離) 100
  • STArea(多角形の面積) 101
  • geography データ型と Bing マップ連携 102
  • STDistance でつくば駅からの距離を取得 103
  • Bing マップとの連携(ASP.NET Web アプリケーション) 104
  • Microsoft.SqlServer.Types.dll への参照追加 104
  • SqlGeography で緯度と経度を取得、Pushpin でプッシュ ピンの追加 108

2.8 Reporting Services の大幅強化 112

  • SQL Server 2008 からの Reporting Services の新機能 112
  • SQL Server 2008 R2 からの Reporting Services の新機能 114
  • SQL Server 2012 からの Reporting Services の新機能 115
  • SQL Server 2014 からの Reporting Services の新機能 116

2.9 PowerPivot によるインメモリ BI 117

2.10 AlwaysOn 可用性グループによる可用性の向上/DR の実現 126

  • 同期モードと非同期モード(データベースの複製モード) 126
  • AlwaysOn 可用性グループの基本構成 126
  • AlwaysOn 可用性グループの利点 127
  • AlwaysOn 可用性グループを利用するための主な前提条件 128
  • AlwaysOn 可用性グループの有効化 129
  • AlwaysOn 可用性グループの設定方法 130
  • リスナー(仮想サーバー名)の確認 136
  • ダッシュボードで監視 138
  • セカンダリへの読み取りアクセス 139
  • セカンダリ側でのデータベース バックアップの取得 140
  • 手動フェールオーバーで動作確認 140

2.11 AlwaysOn フェールオーバー クラスタインスタンス(FCI) 145
2.12 Windows Server Core へのインストールがサポート 146
2.13 包含データベース(CDB:Contained Database) 148

  • 以前のバージョンでのデータベース移行時の問題(不明なデータベース ユーザー) 148
  • ログイン アカウントに依存しないデータベース ユーザーの作成が可能に! 148
  • 包含データベースの利用方法 148
  • 包含データベース内へデータベース ユーザーの作成 149
  • データベース ユーザーの接続 150
  • tempdb データベースの照合順序に依存しない一時テーブルの作成 152

2.14 列ストア インデックスによる飛躍的な性能向上 153

  • 列ストア インデックスの効果(弊社事例:1.2億件で 25〜100倍の性能向上) 153
  • 弊社事例2 〜40億件のデータ〜 154
  • 列ストア インデックスの作成方法 155
  • クラスター化列ストア インデックスの早期導入事例 157


STEP 3. SQL Server 2008 以降の Transact-SQL の新機能 158
3.1 Management Studio の新機能 159

  • インテリセンス(IntelliSense)による入力補完 159
  • 文法エラーの表示機能 160
  • TOP 1000 クエリ 161
  • SQL Server 2012 からの Management Studio の新機能 162

3.2 SQL Server 2008 からの Transact-SQL の新機能 163

3.3 日付データ型(datetime、date、time、datetime2 など) 166

  • datetime2、datetimeoffset(SYSDATETIME、SYSDATETIMEOFFSET) 167

3.4 MERGE ステートメント(UPSERT) 169

  • 変数をもとにした MERGE 170

3.5 GROUPING SETS 172

  • 全体合計の追加 173
  • WITH CUBE の置き換え 173

3.6 テーブル値パラメーターとユーザー定義テーブル型 175
3.7 HierarchyID データ型 178
3.8 SQL Server 2012 からの Transact-SQL の新機能 181

  • シーケンス(SEQUENCE)による連番生成 181
  • ページング(n件目〜m件目の取得。OFFSET .. FETCH) 182
  • TRY .. CATCH での再スロー(THROW) 183
  • EXEC ステートメントでの Result Set 183
  • 新しい Transact-SQL 関数のサポート 184
  • EOMONTH 関数による月末の取得 184
  • DATEFROMPARTS 関数による文字列から日付データの作成 185
  • CONCAT 関数による文字列連結 185
  • FORMAT 関数による書式設定 186
  • 例外を発生させない型変換が可能な TRY_CONVERT 関数 186
  • 条件分岐が可能な IIF 関数 187
  • 指定した値を取得できる CHOOSE 関数 187

3.9 Transact-SQL 分析関数のサポート 188

  • LAG 関数による前年同月値の取得 188
  • 累積金額の取得(OVER .. ROWS ..) 189

3.10 FileStream、FileTable データ型 190

  • OpenSqlFilestream API によるデータ格納 191
  • FileTable による Windows ファイルのサポート 192
  • FileTable の利用方法 193

3.11 オブジェクトの依存関係の表示 195

  • sql_expression_dependencies 196
  • dm_sql_referenced_entities 196
  • 依存関係を GUI で確認 197

3.12 SQL Server Data Tools による開発生産性向上 198

3.13 Microsoft Azure SQL データベース(SQL Azure)への対応 206


STEP 4. SQL Server 2008 以降の その他の新機能 208
4.1 透過的なデータ暗号化(TDE: Transparent Data Encryption) 209

  • GUI での設定方法 212
  • 別マシンでのリストアはエラー 213
  • サーバー証明書のバックアップとリストア 214

4.2 ポリシー ベースの管理(Policy Based Management) 216

  • ポリシー ベースの管理の使用例 216
  • セキュリティ強化としてのポリシーの利用 216
  • ポリシーの設定手順 217
  • ファセットの確認 217
  • 監査が有効かどうかを確認するポリシーの作成 220
  • ポリシーの評価 221
  • ポリシーの定期実行 223
  • ポリシーの実行履歴の確認 223

4.3 変更データ キャプチャ(CDC:Change Data Capture) 224

  • 更新履歴の参照(スキーマ名_テーブル名_CT テーブル) 226
  • 時間指定による過去データの参照 228

4.4 データ プロファイル タスクによるデータの分布状況の表示 229

  • Data Profile Viewer で出力結果の参照 235

4.5 Deprecated Features オブジェクト 238
4.6 パーティション ウィザード 240
4.7 マルチ サーバー クエリ 246
4.8 その他の SQL Server 2008 からの新機能 249

  • SQL Server 2008 からの Analysis Services の新機能 250
  • SQL Server 2012 からの Analysis Services の新機能 251

4.9 マルチ サーバー管理(SQL Server ユーティリティ) 252

4.10 DAC(データ層アプリケーション) 269

  • DAC パッケージのエクスポート(.dacpac) 269
  • DAC パッケージの配置(デプロイ) 272
  • SQL Server 2012 からの新機能(.bacpac によるデータ移行) 276

4.11 Distributed Replay 機能による容易なストレス テストの実施 282

  • SQL Server Profiler トレースの再生機能との比較 282
  • Distributed Replay による再生実行 282
  • DReplay.exe による再生実行(Preprocess、Replay) 285

4.12 拡張イベント(XEvents)での GUI サポート 287

  • 拡張イベントの設定(新規セッション ウィザード) 287

4.13 データベース リストア(復元)時の UI 向上 291
4.14 起動オプションを設定するための新しい UI 292
4.15 DQS(Data Quality Services)によるデータ品質の向上 293

  • DQS(Data Quality Services)のインストール 295
  • DQS(Data Quality Services)によるデータ クレンジング処理 297

4.16 マスター データ サービス(MDS)によるマスター データ管理 305

  • MDS の主な機能 305
  • マスター データ サービスのインストール 307
  • マスター データ サービスの構成(MDS Configration Manager) 307
  • Excel 用マスター データ サービス アドインのインストール 317
  • モデルの作成 319
  • エンティティと属性の作成 320
  • 属性の設定 324
  • データの編集とパブリッシュ 326
  • エクスプローラーでのデータの確認 327
  • トランザクションの確認と破棄 329
  • サブスクリプション ビューの作成 331


一通りの機能が試せるように手順を画面付きで掲載していますので、この年末年始にチャレンジしてみるのもお薦めですし、試す環境がない方は、読むだけでも十分に楽しめる構成にしてあるつもりです。

ダウンロードはこちらから(誰でも無料です!)
http://www.microsoft.com/ja-jp/sqlserver/2014/technology/self-learning.aspx