Big Data Cluster (BDC) は、k8s 上に複数の Pod を構築することで構成されています。
BDC の管理ポータルからも Pod の情報を取得することはできますが、kubectl 取得することで自分の必要となる情報を取得できるので、JSONPath の操作を覚えがてら、簡単なものを記述してみました。 Read the rest of this entry »
Big Data Cluster のコンテナー情報の取得と整形
リモートデスクトップ接続時の資格情報と証明書の記憶について
Windows からリモートデスクトップで Windows Server 等に接続する場合、資格情報と証明書警告の無視を記憶しておくことができます。 ![]()
![]()
これらの情報を初期化したい場合、どの情報をクリアすればよいかをメモとして。
資格情報の記憶部分については、Connect-Mstsc – Open RDP Session with credentials のスクリプトがとても参考になります。
Read the rest of this entry »
SQL Server の OPTION(RECOMPILE)による実行プランの変化について
SQL Server では、「OPTION (RECOMPILE)」のクエリヒントを使用することで、明示的に SQL ステートメントをリコンパイルすることができます。
パラメータースニフィングにより、パラメーターを使用したクエリで、実行タイミングによって大きく件数が変わる場合などに、コンパイルによる再利用効率とのトレードオフを考慮してクエリヒントをケースが多いと思いますが、それ以外でも RECOMPILE のヒントによって動作が変更されるケースがあります。
RECOMPILE の説明には次のような記載があります。
RECOMPILE
SQL Server データベース エンジン に、クエリの新しい一時的なプランを生成し、クエリ実行完了直後にそのプランを破棄するよう指示します。 生成されたクエリ プランは、RECOMPILE ヒントを指定しないで同じクエリを実行したときにキャッシュに格納されるプランを置き換えません。 RECOMPILE を指定しない場合、データベース エンジンはクエリ プランをキャッシュして再利用します。 クエリ プランをコンパイルする場合、RECOMPILE クエリ ヒントは、クエリ内のローカル変数の現在値を使用します。 クエリがストアド プロシージャ内にある場合は、任意のパラメーターに渡された現在値を使用します。
ポイントとなるのが「クエリ プランをコンパイルする場合、RECOMPILE クエリ ヒントは、クエリ内のローカル変数の現在値を使用します。 クエリがストアド プロシージャ内にある場合は、任意のパラメーターに渡された現在値を使用します。」の個所ですね。
この辺の動作をすっかり忘れていて、処理時間に大きく影響が出たクエリを作ってしまったので、実際のクエリをベースに確認していきます。
Read the rest of this entry »
SQL Server 2017 (Windows / Linux) の Unicode テキストの BULK INSERT / bcp での取り込みについて
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 を取り込むことができた
SQL Server 2019 CTP 2.3 で実装された高速データベース復旧で何が可能になるのか?
SQL Database では先行して実装されていた高速データベース復旧 (Accelerated Database Recovery : ADR) が、SQL Server では、2019 CTP 2.3 から使用可能となりました。
昨年の 10 月ぐらいからドキュメントは公開されていたのですが、情報を調べられていなかったので、今回の機会に調べてみました。
公式の情報としては次の内容となります。
SQL Server 2019 CTP 2.3 がリリースされました
マンチェスターで開催されている SQLBits 2019 のキーノートで SQL Server 2019 CTP 2.3 のリリースがアナウンスされ、モジュールや情報が公開されています。
Windows 版のダウンロードは こちら から実施することができ、Linux / Docker のリポジトリについても 2.3 がリリースされているようです。
SQL Server 2019 CTP 2.3 で追加された機能については、次のリンクから確認できます。
公式情報としてもいくつかのアナウンスが出ています。
SQL Server 2019 の新機能の ハイブリッドバッファープールを試してみる
SQL Server 2019 では新機能として、ハイブリッド バッファー プール (Hybrid Buffer Pool) という機能が新しく追加されます。
ドキュメントベースではなんとなく動作を理解できていたのですが、実際の動作を確認できていなかったので、軽くではありますが動作を試してみました。
Read the rest of this entry »
2019/3 の丸わかり 1 日セミナーの申し込みが開始されています
毎月、品川の Microsoft 様で開催されている SQL Server 丸わかり 1 日セミナーの 2019/3 開催の申し込みが開始されています。
3 月は、2019年3月5日(火) 13:00-17:30 で開催となっています。
SQL Server の達人になる! 丸わかり1日セミナー SQL Server 2019 とデータベースマイグレーションの最新情報をお届け! [セミナー] 東京開催
可能な限り、最新の情報をお届けできるようにしておりますので、最新情報をキャッチアップされたい方は、ぜひご参加くださいませ。
DMV の情報を定期的に取得して時系列データを作成する
簡単な PowerShell のスクリプトですが Collect-QueryInfo というツールを公開しました。
このツールを使用すると、定期的に DMV の情報を SQL Server のデータベースに格納することができます。
これによりどのような情報の解析が可能となるかを見ていきたいと思います。
情報の取得元の SQL Server のバージョンは SQL Server 2012 以降となっています。
Read the rest of this entry »
SQL Server でステートメントレベルでキャッシュから実行プランを取得
SQL Server でプランキャッシュから実行プランを取得する場合、「sys.dm_exec_query_plan」を用いて、クエリの実行プランの取得を行うことが一般的ではないでしょうか。
このテーブル値関数ではプランハンドルを渡すことで、プランキャッシュから実行プランを取得することができます。
この時、取得される実行プランは「バッチ全体」のプランとなっています。
Read the rest of this entry »