SE の雑記

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

Archive for 3月, 2019

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 ,