SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server 2016 RC0 の Stretch Database を使ってみる

one comment

SQL Server 2016 RC0 では、Stretch Database の仕組みに多少変化がありますので軽くまとめてみたいと思います。
Stretch Database は Azure にも関係がある機能ですので、SQL Server Stretch Database の価格 も併せて参照していただくとよいかと。

Stretch Database に以下のような記載があります。

Can I use Stretch Database with an Azure SQL Database?

Stretch Database currently supports stretching to an Azure SQL Database as part of the early preview process up to SQL Server 2016 RC0. Starting with the next release, RC1, Stretch Database will not be compatible with Azure SQL Database. You can neither stretch an Azure SQL Database to Stretch Database nor stretch a SQL Server table or database into Azure SQL Database. If you would like to stretch your Azure SQL Database, please provide detailed feedback here

I am on SQL Server 2016 RC0 right now and after I stretched my database, Azure portal shows it as a SQL DB S3. How can I stretch to a SQL Stretch database?

The SQL Stretch database service is currently in limited public preview where customers need to register for preview access. You may register at for access here. Without registration, RC0 users will stretch to SQL DB S3 by default. Starting with RC1, users will only be able to stretch to the SQL Stretch database service.

RC0 では、CTP 3.3 までの機能と同様に、SQL Database の S3 を使っての Stretch Database かと思っていたのですが、SQL Server Stretch Database preview からプレビューの申し込みをすることで、SQL Dataabse ではなく、SQL Server Stretch Database を使用することができるようになります。

最終的な実装として、SQL Database と SQL Server Stretch Database の両方が使えるのか、それとも、SQL Server Stretch Database のみとなるのかはわかりませんが、今回は「SQL Server Stretch Database」を使用しています。

プレビューが承認されると、SQL Server Stretch Database を使用した Stretch Database を使用する方法が、メールで送られてきますので、その方法に則って設定を行います。
この設定を行わないで、Stretch Database を設定した場合は、SQL Database の S3 を使用した設定となります。

最初に気を付けておきたいのは、2016/3/9 時点の SQL Server Stretch Database は、データベースの照合順序が「SQL_Latin1_General_CP1_CI_AS」か「Latin1_General_100_CI_AS_KS_WS」を使う必要がある点かと。
# 私は、「SQL_Latin1_General_CP1_CI_AS」で試していましたが、仕組み的には、「Latin1_General_100_CI_AS_KS_WS」もサポートされるはずです。

この辺の内容、投稿時点の Stretch Database overview / Stretch Database に記載がないのですよね。

最初に試した際は、「Japanese_XJIS_100」系の照合順序を使用していたのですが、この照合順序では、以下のようなエラーとなってしまいました。

mm dd yyyy xx:xx:xx [Informational] TaskUpdates: Message:Task : ‘データベース Stretch に Stretch を構成する’ — Status : ‘Running’ — Details : ‘次のエラーが原因でタスクが失敗しました: Microsoft.SqlServer.Management.Smo.FailedOperationException: データベース ‘Stretch’ のAlterに失敗しました。  —> Microsoft.SqlServer.Management.Common.ExecutionFailureException: Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 —> System.Data.SqlClient.SqlException: ‘Japanese_XJIS_100_CI_AS_SC’ is not a supported collation.
ALTER DATABASE ステートメントが失敗しました。

照合順序がサポートされていないということですが、これは、CREATE DATABASE (Azure SQL Data Warehouse) の以下の記載に依存しています。

SQL Server Stretch Database ですが、データベースに SQL Data Warehouse が使われているようなのですよね。
そのため、SQLDW で使用可能な照合順序を、Stretch Database を使用するデータベースでも設定しておく必要があるようです。

ポータルからは「Stretch : DS100」となっています。

image

SQL Database にログインして、該当のデータベースで「@@VERSION」を実行すると、以下のような結果となります。
image

PDW になっているので、SQL Data Warehouse が使われていることになるかと。

DS100 は、計算ノード : 1 と、ディストリビューション :60 の構成となっているようでした。

現状、パフォーマンスに関しては、変更できる UI が見つからなかったのですが、SQLDW と同じで、計算ノードが増えていくのではと思います。
DSU を増やすことでスケールするような仕組みになっているかと思いますが、SQLDW と同じ仕組みであれば納得ですね。
image

SQL Server Stretch Database の DSU と、SQL Data Warehouse の DWU の料金体系が似たような形になっていたのは納得できました。

imageimage

Written by masayuki.ozawa

3月 9th, 2016 at 9:36 pm

Posted in SQL Server

Tagged with ,

One Response to 'SQL Server 2016 RC0 の Stretch Database を使ってみる'

Subscribe to comments with RSS or TrackBack to 'SQL Server 2016 RC0 の Stretch Database を使ってみる'.

  1. […] SQL Server 2016 RC0 の Stretch Database を使ってみる […]

Leave a Reply

*