不動の鳥の勉強記録

時間があるときに勉強したことをメモします。

いまさらSQL Server 2012の新機能のダイジェストを見てみる

■はじめに

SQL Server 2008 R2のEOSL対応で、SQL Server 2017にアップグレードするので、
自習書のダイジェストをもとに2012からの新機能を勉強します。
まずは、SQL Server 2012の新機能を見てます。

www.microsoft.com 上記リンクから、「SQL Server 2012 新機能ダイジェスト」をもとにしました。

下記の番号は自習書の目次の番号に合わせ、私の個人的なメモを記載します。

2.1 AlwaysOn 可用性グループによる可用性の向上

SQL Server 2012の一番有名な機能ではないかと個人的には思います。リアルタイムでデータ同期した読み取り可能なセカンダリサーバを作成することができる機能です。

  • WSFCよりも早く、10秒~20秒でフェールオーバーを行えること
  • リスナーを通して透過的にサーバにアクセスできること

などのメリットもあります。自習書には

共有ストレージが不要な分、コスト削減が可能

とあり、金銭的なメリットもあるようです。

2.2 AlwaysOn フェールオーバー クラスタインスタンス (FCI)

今までもありましたが、下記4つの新しい機能があるとのことでした。

  • SMB接続(共有フォルダー)へのデータベース配置が可能に
  • tempdbデータベースをローカルディスクへ配置可能
  • 複数サイトフェールオーバークラスタリングのサポート
  • 柔軟なフェールオーバーポリシー

特に2点目のtempdbデータベースをローカルディスクへ配置可能というのは2012年当時はきっと爆発的にパフォーマンスを向上させたのではないでしょうか。tempdbはSSDにするのがベストプラクティスでかつ、共有フォルダーだとファイバチャネルで接続していない限り、ストレージアクセスがどうしてもボトルネックになってしまうので。

2.3 Windows Server Core へのインストールがサポート

Widnows ServerをインストールしたときにWindows Server Coreを利用する方はどれぐらいいるのでしょうか。GUIこそWindowsだと思っているのですが…ただインストールできる対象が増えたのは一部の人はうれしかったのでしょうか。個人的にはあまり使わなさそうです。

2.4 包含データベース(CDB:Contained Database)

照合順序で悩まされた経験がないアプリケーションをずっと見ていたため、照合順序の問題があることを初めて知りました。エラーになっていたケースの方々は便利そうですね。

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

この機能もとても素晴らしい機能のようです。ただ自習書の内容だけだといまいちわかりづらかったので、下記ページも参考にするとより理解が深まるので時間があったら見ていきたいと思います。SQL Server 2014や2016の新しいバージョンがでる際にも機能追加されているので利用するシーンが出てきたら検討してみたいです。

列ストア インデックス: 概要 - SQL Server | Microsoft Docs

3.2 BI 系の T-SQL 分析関数(Analytic Functions)のサポート

新しい関数が増えたのは便利そうです。機会があれば利用してみたいぐらいの機能でした。

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

SQL Server Data Tools (SSDT)が登場したのはこのバージョンでした!?
いろいろ開発機能が増えたみたいですね。

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

SQL Server Profilerで実行されているクエリを取得し、流し込むことは以前からできていたのですが、 流し込む際に複数のクライアントから実行できるようになったのがこの機能のようです。
いまの現場ではストレステストはJMeterやLoadRunnerなどのツールから行うので、「分散再生コントローラー」および「分散再生クライアント」はインストール不要と学習できました。

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

SQL Server Profilerではなく、拡張イベントを推し始めたのが、SQL Server 2012からと聞きました。
GUIで操作できるようになったのはとても便利そうです。
パフォーマンスも向上しているとのことで、今後は拡張イベントを利用したいと思います。

3.6 Transact-SQL の強化

Transact-SQLが増えたとのことです。
シーケンスやページングは使う機会があるのではないでしょうか。

3.7 新しいTransact-SQL関数のサポート

いろいろなTransact-SQL関数が増えたようです。
月末日の取得ができるEOMONTHなどは月次処理などで利用できそうです。

3.8 データベース リストア(復元)時のUI向上

グラフィカルに復旧地点を選べるのは、誤ってテーブルを削除した場合などに便利ですね。
これは使っていきたい。

3.9 起動オプションを設定するための新しいUI

SQL Serverの起動オプションの変更は頻度が少なく気にしたことなかったのですが、設定しやすいようにUIが変わったとのことです。

3.10 Visual Studio 2010 シェルの採用によるUI/操作性の向上

Management Studioも変わっているとのこと。

3.11 DQS(Data Quality Services)による容易なデータ品質の向上

名寄せなどを行う機能が追加されているとのことでした。
これを利用するには「Data Quality Services」と「Data Quality Client」、「Integration Services」をインストールしておく必要があるとのことで、インストールパラメータシートの読み方の勉強になりました。

3.12 FileTableによるWindowsファイルのサポート

そもそもこんな機能があることは初めて知りました。
特定業務や機能ではこの機能を重宝するのでしょうか。

3.13 Power Viewによる容易なデータ分析レポートの作成

Power ViewというBIツールが提供されたそうで、いまではPower BIに吸収されていそうです。

3.14 PowePivot for Excelの進化(バージョンアップ)

SQL Server 2008 R2を主に運用していますが、この機能を使っている人は私の周りにはいませんでした。 これもPower BIに吸収されていそうです。

3.15 Analysis Servicesでのテーブル モデル のサポート(xVelocity)

Analysis Servicesは興味があるものの、私の周りでは利用事例がなくどれぐらいすごいのかわかりません…

3.16 その他の新機能

他にもたくさんの機能があるようです。私が気になったのは下記でこれらはしっかり見ていきたいと思いました。

  • メモリ マネージャーの変更(列ストア インデックスなど、ラージ オブジェクトの処理を効率化)
  • 新しいパフォーマンス カウンターや DMO(動的管理オブジェクト)の追加
  • Integration Services のユーザー インターフェース変更(操作性の向上)

また、Local DBはツール入れたりすると勝手に動き出すことがあるので勉強しておきたい点です。

■終わりに

AlwaysOn以外にも新しい機能があったことを知れたので改めて勉強になりました。 また細かい機能やGUIも結構変化しているのは驚きです。SQL Server 2014や2016も勉強します。