都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

SQL Server 2016 RC0 を少しだけお触りしてみる

 10数年ぶりに島根県・出雲に出張で行ってきました。島根県はしじみ・そばが有名です。
www.shijimikan.com
そばまち歩きマップ|出雲観光ガイド【出雲観光協会公式ホームページ】

 
 ということで出張帰りのお昼ご飯は、しじみの炊き込みご飯、味噌汁と出雲そば
f:id:koogucc11:20160312114103j:plain

 SQL Server 2016 RC0 がリリースされました!
blogs.technet.microsoft.com

 ダウンロードはこちらから。
www.microsoft.com

 それ以外にも、Linux 対応やら、SQL ServerOracle はライセンスを無料にするなど衝撃的な発表も続きました。
ryuchan.hatenablog.com
 
 Data Driven はこちらから。
www.microsoft.com

 早速、気になった機能をいくつかお触りしてみます。
Technical Overview: SQL Server 2016 Release Candidate 0 | SQL Server Blog

New Built-in Table-Valued Function STRING_SPLIT
STRING_SPLIT is a T-SQL function that splits input character expression by specified separator and outputs result as a table.

 新しいテーブル値関数です。これ結構便利です。下記のようなクエリを SQL Server Management Studio で実行します。

SELECT 
    * 
FROM 
    Sales.SalesOrderHeader soh
    INNER JOIN ( SELECT 
                     * 
                 FROM 
                     STRING_SPLIT('43659,43663,43664,43665,43666,43667',',')
               ) ss ON
    soh.SalesOrderID = ss.value

f:id:koogucc11:20160312202047p:plain

 これ、便利ですね。

ALTER DATABASE SCOPED CONFIGURATION

{
{ [ FOR SECONDARY] SET }
}
| CLEAR PROCEDURE_CACHE
[;] < set_options > ::=
{
MAXDOP = { | PRIMARY}
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
}

ALTER DATABASE も少し変わってます。データベースに対して MAXDOP とか指定できるんですね。クエリプランとか、パラメータスニッフィングとか、クエリオプティマイザの設定などもできるんですね。設定状態に関しては、下記のクエリで確認することができます。

SELECT
* 
FROM 
    sys.database_scoped_configurations

f:id:koogucc11:20160312203217p:plain

 それ以外も色々な機能が追加されているようです。また時間があるときに触ってみます。

宍道湖のしじみが売ってますね。美味しかったから、買ってみようかな。