不動の鳥の勉強記録

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

SQL Server 2017の新機能のダイジェストを見てみる

■はじめに

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

hiyo-ac.hatenablog.com

www.microsoft.com 上記リンクから、「SQL Server 2017 の自習書シリーズ No.1」をもとにしました。

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

2.1 Dockerを利用したSQL Server on Linux

Dockerイメージで提供されているとのことで、簡単にLinux環境で動作できるようになったとのことです。
簡単に起動できるので便利ですね。

2.2 Linux環境へのSQL Server 2017のインストール

Dockerではなく直接Linux環境にインストールできるとのことです。

2.3 SQL Server 2017 on Linuxのセキュリティ

Windows版と同様のセキュリティ機能が利用できるとのこと。
OSレイヤーの層とMWレイヤーのAPI等を分けてあれば、依存せずに動くのでしょうか。

2.4 SQL Server 2017 on Linuxで利用できる機能/利用できない機能

Linuxを利用せざるをえない状況になったら詳しく勉強します。

3.1 Machine Learning Servicesの概要/インストール方法

以前はRをサポートしていましたが、今度はPythonができるようになったとのことでした。

4.1 グラフデータベース(Graph Database)

グラフデータベースを利用できるようになったとのことでした。
ただグラフデータベースの設計って難しそうです。

4.2 自動チューニング(Automatic Tuning)

クエリストアの履歴を用いて自動で実行プランを選択する機能とのことでした。
使い方によってはとても便利そうな機能です。

4.3 Adaptive Query Processing(適応型クエリ処理)

列ストアインデックスを利用しており、おかつ互換性レベル140の場合に利用できる機能とのことで、
性能向上した実行プランが動作できる処理のようです。適応型Joinというイテレータが実行プランに登場したらこの機能のようです。

4.4 データベースの互換性レベル140

SQL Server 2017では互換性レベル140が登場したとのことです。

4.5 クエリストア機能の強化(クエリのWait情報の記録)

クエリストアでWait情報を記録することができるようになったとのことで、原因特定が早く行えそうですね。

4.6 データベースエンジンチューニングアドバイザーの強化

いままでインデックスを作成するとコストが減るよというアドバイスを提案してくれていましたが、
列ストアインデックスなどもチェックしてくれるようになったとのことでした。

4.7 列ストアインデックスの強化

SQL Server 2017では非クラスター化列ストアインデックスはオンライン再構築ができるようになったとのことで、メンテナンス性が大きく向上したそうです。

4.8 インメモリ OLTP機能の強化

インメモリOLTPの機能がもろもろ強化されているようです。メモリで処理する時代になりつつある感じがします。

4.9 再開可能なオンラインインデックス再構築

これは個人的には待望の機能です。オンラインインデックス再構築をしているときに、長走して停止しなけばならないということがあり、結局オフラインインデックス再構築をしているということがありました。
利用するには、WITHオプションで RESUMABLE=ONを指定すればよいとのことです。
進行状況を見れたりできるのも嬉しいですね。

4.10 AlwaysOn 可用性グループの強化

DTCのサポートや非クラスター環境下での可用性グループ構築ができるようになったとのことでした。

5.1 Transact-SQLの強化

新しい関数の追加などがされているとのことです。個人的には一括操作でのFORMAT=CSVによるCSVファイルの取り込みのサポートが便利そうでした。

5.2 セットアップ時の変更点(tempdbファイルの設定)

インストール時のtempdb設定で設定ファイルサイズなどが変更になっているとのことでした。
気にしたことなかったのですが便利なのかもしれないです。

5.3 スマートバックアップ

これは個人的には奇怪な機能です。
運用設計時にいつの時点まで復旧できるのか決めて、バックアップスケジュール作成すると思うのですが…
たとえ効率が良くても、そのスケジュールが動的に変わってしまうと困惑が生まれそうです。

5.4 新しいDMV(動的管理ビュー)

多くの動的管理ビューが強化、登場しているようです。
動的管理ビューも勉強しないといけないですね…

■おわりに

SQL Server 2017の目玉はLinux対応とは聞いていました。ただ、他にもいろいろな機能が追加されているようで勉強になりました。