SE の雑記

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

SQL Server 2016 / 2017 の最新情報

leave a comment

■ドキュメント
– SQL Server 2016 –
SQL Server 2016
What’s New in SQL Server 2016
What’s New in Database Engine
SQL Server 2016 Release Notes 
SQL Server 2016 Service Pack 1release information
Features Supported by the Editions of SQL Server 2016

■モジュール
SQL Server Evaluations
Download SQL Server Management Studio
Download Latest SQL Server Data Tools
microsoft/mssql-server-windows
microsoft/mssql-server-linux

■動画
SQL Server Data Driven: Technical Deep Dive
Microsoft SQL Server 2016
Intelligent Apps & Data

Written by masayuki.ozawa

7月 26th, 2015 at 10:22 am

Posted in SQL Server

Tagged with ,

MS ブログの移転先 (2019/3/24 時点)

leave a comment

Microsoft のシステムの刷新が行われているようで、MSDN / TechNet ブログが他の場所に移行されているようです。

日本のブログについては、TechNet フォーラム / MSDN フォーラムに移行されているパターンが多そうです。
把握できている範囲で、今後の情報取得先をまとめておこうかと。
(フォーラムについては、サポート等の用語が入っているフォーラムを抽出して、URL を機械的に生成したものですので間違っていたらすみません。。。)

Technet フォーラム

MSDN フォーラム

Github

英語のサイトについては、Tech Community に移動となっているケースが多いようで、こちらから確認できるかと。

右上の Options から RSS の購読も可能です。

image

Written by masayuki.ozawa

3月 24th, 2019 at 9:26 am

Posted in 未分類

Big Data Cluster のスケールアウトデータマートへのデータ投入の基本的な考え方

leave a comment

Big Data Cluster (BDC) はスケールアウトデータマートとしてのデータストアを持っています。

CTP 2.3 時点では、スケールアウトデータマートへのデータ投入は標準機能として、T-SQL と Spark ジョブを使用した、2 パターンが用意されています。

  1. チュートリアル:Transact SQL を使用した SQL Server のデータ プールにデータを取り込む
  2. チュートリアル:Spark ジョブの SQL Server のデータ プールにデータを取り込む

どちらのパターンでも基本的な操作方法は同じですが、少し特殊な形での利用となっていますので、まとめてみたいと思います。

Read the rest of this entry »

Written by masayuki.ozawa

3月 21st, 2019 at 10:39 pm

PySpark を使用して Big Data Cluster のストリーミング処理を書いてみる

leave a comment

チュートリアルで提供されているストリーミング処理はは、Scala で記述された「mssql-spark-lib-assembly-1.0.jar」なのですが、PySpark で書くとどうなるだろうと思って勉強がてら書いてみた際の内容です。
Microsoft の公式の技術文書ですと、Big Data Cluster に流用できる内容は、Azure HDInsight / Azure Databricks あたりになりますが、欲しい情報がなく、手探りでいろいろとやっていました。

Microsoft 関連のドキュメントとして、HDInsight Spark クラスターを使用して Azure SQL Database のデータを読み書きする あたりが今回の内容に近いのですが、

注意

現在、Spark から SQL Database へのデータのストリーミングは Scala と Java においてのみサポートされているので、この記事では、Spark (Scala) カーネルを使います。 SQL からの読み取りや SQL への書き込みは Python を使って行うこともできますが、この記事での一貫性を保つため、3 つの操作すべてに Scala を使います

と書かれているように、Scala を使用した例となっています。

Spark の勉強と、Python を使用した場合の情報を探すのに手間取り、書いたアプリケーションの内容の割には、とても時間がかかりました… orz

Read the rest of this entry »

Written by masayuki.ozawa

3月 21st, 2019 at 11:22 am

Big Data Cluster のコンテナー情報の取得と整形

leave a comment

Big Data Cluster (BDC) は、k8s 上に複数の Pod を構築することで構成されています。
BDC の管理ポータルからも Pod の情報を取得することはできますが、kubectl 取得することで自分の必要となる情報を取得できるので、JSONPath の操作を覚えがてら、簡単なものを記述してみました。 Read the rest of this entry »

Written by masayuki.ozawa

3月 14th, 2019 at 9:52 am

リモートデスクトップ接続時の資格情報と証明書の記憶について

leave a comment

Windows からリモートデスクトップで Windows Server 等に接続する場合、資格情報と証明書警告の無視を記憶しておくことができます。
imageimage

これらの情報を初期化したい場合、どの情報をクリアすればよいかをメモとして。
資格情報の記憶部分については、Connect-Mstsc – Open RDP Session with credentials のスクリプトがとても参考になります。

Read the rest of this entry »

Written by masayuki.ozawa

3月 11th, 2019 at 11:12 pm

SQL Server の OPTION(RECOMPILE)による実行プランの変化について

leave a comment

SQL Server では、「OPTION (RECOMPILE)」のクエリヒントを使用することで、明示的に SQL ステートメントをリコンパイルすることができます。

パラメータースニフィングにより、パラメーターを使用したクエリで、実行タイミングによって大きく件数が変わる場合などに、コンパイルによる再利用効率とのトレードオフを考慮してクエリヒントをケースが多いと思いますが、それ以外でも RECOMPILE のヒントによって動作が変更されるケースがあります。

RECOMPILE の説明には次のような記載があります。

RECOMPILE
SQL Server データベース エンジン に、クエリの新しい一時的なプランを生成し、クエリ実行完了直後にそのプランを破棄するよう指示します。 生成されたクエリ プランは、RECOMPILE ヒントを指定しないで同じクエリを実行したときにキャッシュに格納されるプランを置き換えません。 RECOMPILE を指定しない場合、データベース エンジンはクエリ プランをキャッシュして再利用します。 クエリ プランをコンパイルする場合、RECOMPILE クエリ ヒントは、クエリ内のローカル変数の現在値を使用します。 クエリがストアド プロシージャ内にある場合は、任意のパラメーターに渡された現在値を使用します。

ポイントとなるのが「クエリ プランをコンパイルする場合、RECOMPILE クエリ ヒントは、クエリ内のローカル変数の現在値を使用します。 クエリがストアド プロシージャ内にある場合は、任意のパラメーターに渡された現在値を使用します。」の個所ですね。

この辺の動作をすっかり忘れていて、処理時間に大きく影響が出たクエリを作ってしまったので、実際のクエリをベースに確認していきます。

Read the rest of this entry »

Written by masayuki.ozawa

3月 9th, 2019 at 6:25 pm

Posted in SQL Server

Tagged with

SQL Server 2017 (Windows / Linux) の Unicode テキストの BULK INSERT / bcp での取り込みについて

leave a comment

SQL Server では、BULK INSERT ステートメント / bcp ユーティリティ 等を使用してテキストを取り込むことができます。

SQL Server 2017 の on Windows / on Linux 両方で、これらの方法を使用することができるのですが、使用する OS によって多少動作の違いが出てきます。

これらの動作について確認する機会がありましたのでまとめておきたいと思います。

最初にざっくりとした結果を書いておきますと、

  • SQL Server 2017 on Linux の BULK INSERT については、UTF-8 の取り込みができず、UTF-16 BOM あり (UTF-16 BE / UTF-16 LE) であれば可能であった
  • bcp については、Windows / Linux ともに、UTF-8 / UTF-16 LE / UTF-16 BE / UTF-16LE を取り込むことができた

Read the rest of this entry »

Written by masayuki.ozawa

3月 9th, 2019 at 2:48 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 CTP 2.3 で実装された高速データベース復旧で何が可能になるのか?

leave a comment

SQL Database では先行して実装されていた高速データベース復旧 (Accelerated Database Recovery : ADR) が、SQL Server では、2019 CTP 2.3 から使用可能となりました。

昨年の 10 月ぐらいからドキュメントは公開されていたのですが、情報を調べられていなかったので、今回の機会に調べてみました。

公式の情報としては次の内容となります。

Read the rest of this entry »

Written by masayuki.ozawa

3月 3rd, 2019 at 11:19 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 CTP 2.3 がリリースされました

leave a comment

マンチェスターで開催されている SQLBits 2019 のキーノートで SQL Server 2019 CTP 2.3 のリリースがアナウンスされ、モジュールや情報が公開されています。

Windows 版のダウンロードは こちら から実施することができ、Linux / Docker のリポジトリについても 2.3 がリリースされているようです。

SQL Server 2019 CTP 2.3 で追加された機能については、次のリンクから確認できます。

公式情報としてもいくつかのアナウンスが出ています。

Read the rest of this entry »

Written by masayuki.ozawa

3月 2nd, 2019 at 2:55 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 の新機能の ハイブリッドバッファープールを試してみる

leave a comment

SQL Server 2019 では新機能として、ハイブリッド バッファー プール (Hybrid Buffer Pool) という機能が新しく追加されます。

ドキュメントベースではなんとなく動作を理解できていたのですが、実際の動作を確認できていなかったので、軽くではありますが動作を試してみました。

Read the rest of this entry »

Written by masayuki.ozawa

2月 21st, 2019 at 11:52 pm

Posted in SQL Server

Tagged with ,