SE の雑記

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

統計情報を更新してリコンパイルを誘発させるテストを実施する場合の注意点

leave a comment

SQL Server ではクエリのリコンパイルが発生する条件としては次のようなものがあります。

image

パラメータースニッフィング等で、実行プランが大多数のクエリで効率が悪くなってしまった場合の補正として、「統計情報を更新」することでリコンパイルを誘発させることがあるのではないでしょうか。

実稼働環境であれば、統計情報の更新を行うことでリコンパイルを誘発させるということを実施するのは、それほど難しくない気がしますが、負荷がかかっていない検証環境のようなものを使用して、検証を実施しようとすると、統計情報を更新してもリコンパイルが発生しないとう状態になることがあります。

これについては、2018 年の段階で Does Updating Statistics Cause a Recompile if No Data Has Changed? で解説が行われていますが、投稿を書いている時点の最新のバージョンである、SQL Server 2019 CU15 でも同様な状態になるのかと思って確認していた際の内容を遺しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 10th, 2022 at 9:30 am

Posted in SQL Server

Tagged with

Intel NUC Gen11 に ESXi 7.0 をインストールする

leave a comment

Intel の Gen11 の NUC の NUC11THNv70 に ESXi 7.0u3 をインストールしようとした際のメモを。

NUC で ESXi をインストールする場合は、https://www.virten.net/ で公開されている Homelab の情報を参考にするとよいかと思います。

image

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 6th, 2022 at 11:16 pm

Posted in ESXi

Tagged with

Azure Arc Enabled VMware vSphere の技術情報について

leave a comment

先日、自宅に ESXi の環境を構築したついでに、Azure Arc Enabled VMware vSphere の情報も集めてみました。

構築も実施してみたのですが、展開時にエラーとなってしまい最後までは完了させることができなかったのですが、様々な情報が公開されていました。

Azure Arc Enabled VM は Preview の登録が必要だと思うのですが、VMware vSphere については、プレビュー登録の記載がなく、「Microsoft.ResourceConnector」「Microsoft.ConnectedVMwarevSphere」というようなリソースプロバイダーも登録スクリプトの中で有効化が行われているので、どこまで利用できるのかがよくわかりませんでした。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 3rd, 2022 at 9:42 am

ESXi in Hyper-V の構築方法 (2022/2 版)

leave a comment

Hyper-V の Nested VM (入れ子になった仮想化) を使用して、Hyper-V のゲスト OS として、ESXi を構築するための方法について情報を遺しておきたいと思います。

ホスト OS として、Windows Server 2019 / Windows Server 2022 を使用して確認しましたが、ネットワークの不安定さがあり、検証で使うのも少し厳しそうな感じではありました。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 1st, 2022 at 10:00 pm

Posted in 未分類

Tagged with

SQL Server のクエリオプティマイザについての理解を深めるための技術情報

leave a comment

以前、SQL Server のクエリオプティマイザを学習する際に確認するドキュメント という投稿を書きました。

SQL Server のクエリオプティマイザを学習するためには、上記の投稿で触れている技術情報に加えて、SQL Server ディスク ベース テーブルに対するクエリ処理 の以下の図を意識する必要があります。

SQL Server のクエリ実行時の実行プランの生成については、

  1. Parser による構文解析
  2. Algebrizer によるオブジェクトのバインドと論理操作の出力
  3. クエリオプティマイザによる物理操作の選択
  4. クエリ実行

というような流れとなります。

「2.」の Algebrizer が論理操作 (論理ツリー) を出力する部分については、公開されている情報が少ないのですが、「3.」のクエリオプティマイザの動作については、様々な情報が公開されています。

本投稿ではどのような情報が公開されているのかについてまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 27th, 2022 at 10:57 pm

Posted in SQL Server

Tagged with

NOT NULL の列が含まれている場合に、bcp ユーティリティのネイティブ型を使用したエクスポートファイルがインポートできないケースについて

leave a comment

SQL Server でデータのエクスポート / インポートを行う場合、bcp ユーティリティ を使用しますが、ネイティブ型 (-n オプション) を使用したファイルをインポートしようとした際に、特定の条件下でエクスポートされたデータをインポートすることができず、理由を理解するのに時間がかかりました…。

その時の調査内容を残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 27th, 2022 at 9:20 pm

Posted in SQL Server

Tagged with

XMLA エンドポイントを使用した Power BI の操作

leave a comment

Power BI Premium / Power BI Embedded のワークスペースでは、XMLA エンドポイントを使用して、ワークスペースの操作を行うことができます。

XMLA は、XML for Analysis の略となり、Analysis Services の操作を行う際に使用されているプロトコルとなります。

XMLA エンドポイントを使用することで、SSAS を操作するためのツールを使用して、Power BI の操作を行うことができるようになり、

  • SSMS による Power BI ワークスペースへの接続 / 操作
  • TMSL (Tabular Model Scripting Language) を使用したデータセットの操作
  • Visual Studio / SSDT の Analysis Services Project を使用した、データモデリングと配置

等の作業を行うことができるようになります。

他にも データセットの更新 に書かれているような、データセットの内容の更新時に次のようなメリットがあります。

XMLA エンドポイントにより、SSMS、PowerShell による自動化、Azure Automation、TOM を使用する Azure Functions を使用した、きめ細かい更新機能を実現するための広範なシナリオが可能になります。 たとえば、すべての履歴データを再読み込みしなくても、特定の増分更新履歴パーティションを更新できます。

Power BI サービスで更新を構成するのと異なり、XMLA エンドポイントを介した更新操作は、1 日 48 回の更新に制限されず、スケジュールされた更新のタイムアウトも課されません。

XMLA エンドポイントを使用したデータ更新のメリットについては、データセットの増分更新とリアルタイム データ にも記載があります。

先日、XMLA エンドポイントを使用した Power BI の操作方法を調査する機会があったのですが、その際に調べた内容を遺していなかったので、本投稿でまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 24th, 2022 at 9:46 pm

Azure Purview で Google BigQuery をスキャンするときにサポートされるデータセットのロケーションについて

leave a comment

Azure Purview では、Azure Purview で Google BigQuery プロジェクトに接続して管理する (プレビュー) で解説が行われているように、Google BigQuery 上のデータセットについても、Purview のスキャン対象とすることができます。

BigQuery のスキャンについては、セルフホステッド統合ランタイム (SHIR) 経由で実施する必要があるため、PaaS だけでは完結がしないのですが、SHIR をインストールした環境に、BigQuery 用の JDBC ドライバーを設定することで、BigQuery のスキャンが可能となります。

BigQuery ではデータセット単位に、データセットを配置する場所 (Location) を指定する必要があり、データセットのロケーション で解説が行われています。

以下のデータセットであれば US に配置されていることになります。

image

今年になってドキュメントに追記が行われたようなのですが、Purview で BigQuery をスキャンする場合、現時点では BigQuery のデータセットのロケーションについては、US が設定されている必要があり、それ以外のロケーションに設定されているデータセットについては、Purview でスキャンすることができません。

現在 Purview は、米国の複数地域の場所にある Google BigQuery データセットのスキャンのみをサポートしています。 指定されたデータセットが us-east1 や EU などの別の場所にある場合、スキャンは完了しますが、資産は Purview に表示されません。

BigQuery は東京 (asia-northeast1) にデータセットを作成することができるのですが、残念ながら、現時点では、東京に作成されたデータセットは、Purview で認識することができないという状況になっています。(データセットが見つからないというような状態となります)

昨年、この動作について、SR で確認をしていて、その中でドキュメントへの追記の検討や、データセットのロケーションを指定できる or 全ロケーションを対象とするような改善要望の提案なども、ご対応いただいていたので、もしかしたらそのうち改善がされるかもしれません。

現時点では、US 以外のロケーションにあるデータセットについては、US にコピーを行わないと Purview のスキャン対象とすることはできないようです。

Written by Masayuki.Ozawa

1月 24th, 2022 at 8:32 am

Posted in Azure Purview

Tagged with

SQL Server の勉強の仕方というセッションの資料を公開しました

leave a comment

先日、How to learn SQL Server という SQL Server の勉強の仕方についてのセッションを担当させていただきました。

その際のセッション資料を How to learn SQL Server として PDF を公開させていただきました。

SQL Server の勉強をする際の参考になれば幸いです。

Written by Masayuki.Ozawa

1月 23rd, 2022 at 9:15 pm

Posted in SQL Server

Tagged with

SQL Server の VSS Writer の技術情報について

leave a comment

SQL Server のインストールを行うと、SQL Server VSS Writer (SQLWriter) サービスが合わせてインストールされ、Windows OS の Windows VSS インフラストラクチャと連携して、データベースのバックアップを行うことができます。

SQL Server 標準の BACKUP DATABASE を使用している場合は、VSS Writer との連携は意識しませんが、それ以外の方法、OS のバックアップ (Windows Server バックアップ) や、バックアップソフトのようなものを使用した場合は、SQL Server VSS Writer が透過的に使用されていることもあります。(SQL Server VSS Writer を使用したバックアップについては、BACKUP ステートメントを WITH SNAPSHOT オプションで実行しているケースがあり、厳密には BACKUP ステートメントと関連性はありますが)

この SQL Server の VSS Writer について確認する必要が出た場合、どのような技術情報が公開されているのかをまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 20th, 2022 at 11:49 pm

Posted in SQL Server

Tagged with