SQL Server 2017 では、Adaptive Query Processing (適応型クエリ処理) のほかに、Automatic Tuning という機能が追加されています。
機能名を見た時、SQL Database で実装されている「SQL Database Advisor」のような、推奨インデックスの自動設定を行う仕組みなのかと思ったのですが、それとは違う機能となるようですね。
ある程度は機能確認ができるサンプルスクリプトが作れたので軽くまとめておきたいと思います。
Read the rest of this entry »
Archive for the ‘SQL Server v.Next’ tag
SQL Server 2017 CTP 2.0 の自動チューニングについて
SQL Server 2017 新機能 (CTP 2.0 版)
SQL Server 2017 の新機能をざっくりまとめたものとなります。
docs.com にも同一の内容をおいていますので、PDF で見たい場合などはこちらをご利用ください。
わかった気になれるかもしれない SQL Server 2017 新機能
Read the rest of this entry »
SQL Server v.Next の 「140」「VSS」 の照合順序を試してみる
SQL Server v.Next では「140」と「_VSS」という照合順序が追加されています。
# Variation selector Sensitive の略でしょうかね。
照合順序と Unicode のサポート を見ていたところ、VSS について記載が追加されていました。
バリエーションの選択を区別する (_VSS)
SQL Server vNext から導入された日本語の照合順序 Japanese_Bushu_Kakusu_140 と Japanese_XJIS_140 で多様な表意文字のバリエーションの選択を区別します。 バリエーションのシーケンスは、基本文字と追加のバリエーションの選択で構成されます。 この _VSS オプションが選択されていない場合、照合順序はバリエーションの選択が区別されず、バリエーションの選択は比較で考慮されません。 つまり、SQL Server では、並べ替えが同じになるように、バリエーションの選択が異なる同じ基本文字に基づいて構築された文字を考慮しています。 「Unicode Ideographic Variation Database」 (Unicode 表意文字のバリエーション データベース) も参照してください。
異体字セレクターを区別する (_VSS) 照合順序は、全文検索インデックスではサポートされていません。 全文検索インデックスでは、アクセントを区別する (_AS)、かなを区別する (_KS)、文字幅を区別する (_WS) オプションのみがサポートされます。 SQL Server XML と CLR のエンジンでは、(_VSS) 異体字セレクターはサポートされていません。
異体字セレクターの 基本文字 + 追加のバリエーションの文字が考慮されるとのことですので少し試してみました。
異体字セレクターについては、以下を見るとよさそうです。
https://msdn.microsoft.com/ja-jp/library/ms143726.aspx
http://unicode.org/ivd/
http://www.mirai-ii.co.jp/moji/ivs.html
Read the rest of this entry »
PASS SUMMIT 2016 のセッションから見る SQL Server v.Next のグラフテーブル
SSMS 17.0 RC3 で SQL Server v.Next に接続をすると「グラフテーブル」というテーブルが表示されるようになります。
# SQL Database v12 に接続した場合も「Graph Table」が表示されます。
SQL Server のグラフテーブルは「ノードテーブル」「エッジテーブル」で構成されることが確認でき、構文自体も確認することができます。
CREATE TABLE dbo.sample_nodetable ( c1 int NOT NULL, c2 char(10) NULL, c3 datetime NULL, -- Unique index on $nodeid is required INDEX ix_graphid UNIQUE ($nodeid) ) AS NODE GO CREATE TABLE dbo.sample_edgetable ( -- Columns are optional for Edge Tables -- c1 int NOT NULL, c2 char(10) NULL, c3 datetime NULL, -- Unique index on $edgeid is required INDEX ix_graphid UNIQUE ($edgeid), -- indexes on $fromid and $toid support faster lookups INDEX ix_fromid ($fromid), INDEX ix_toid ($toid) ) AS EDGE GO
現状、この構文を実行するだけでは、構文エラーとなりグラフテーブルを作成することができないのですが、PASS SUMMIT 2016 の「What’s New in Azure SQL Database」というセッションで、グラフテーブルについても解説がされていましたので、情報をまとめてみたいと思います。
Read the rest of this entry »
Batch Mode Adaptive Memory Grant Feedback を試してみる
SQL Server v.Next のプレビューが開始された際に「Adaptive Query Processing」というものを目にしたのですが、「あれ、今どういうステータスなんだっけ」というのが気になったので少し調べてみました。 Read the rest of this entry »