SE の雑記

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

Archive for 12月, 2022

拡張イベントで Non-yielding Scheduler が発生した際にスタックのコピーを取得する

leave a comment

先日投稿した SQL Server 2022 で Non-yielding Scheduler 発生時の出力内容が追加されていました は SQL Server 2022 向けの情報となり、投稿時点の最新バージョンの SQL Server を使用することで、ERRORLOG から g_copiedStackInfo のコンテキストを取得し、スケジューラーを解放しないスレッドのスタックを確認することができることを確認しました。

それ以外のバージョンでは、ダンプが出力されたタイミングでしか確認できないとなると、発生時の初回の情報しか確認でいないことになり、SQL Server のサービスを連続稼働している最中のエラーの原因特定が困難になってしまいます。

これを解消することができないか、考えていたところ「nonyield_copiedstack_ring_buffer_recorded」という拡張イベントを見つけることができました。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 28th, 2022 at 6:07 pm

Posted in SQL Server

Tagged with

Windows Server 2022 + SQL Server で Fake NUMA の環境を構築する

leave a comment

現在、SQL Server の物理の検証環境としては NUC9VXQNX を使用しています。

SQL Server は NUMA アーキテクチャ を意識したソフトウェアとなっており、NUMA ノード単位にスレッドが作成される / NUMA ノード単位の情報取得が行われるものがあり、一部の検証では複数の NUMA ノードがある環境が欲しくなることがあります。

Hyper-V の仮想マシンであれば、17コア以上の環境であれば仮想マシン上では複数ソケットになるのですが、現在 NUC でこれを満たせるのは、NUC13 エクストリームキットぐらいになると思うのですが、残念ながら手元にはありません…。

Azure の仮想マシンで実行することで利用することはできるのですが、試行錯誤して検証を実施しているとコストもそれなりにかかってくるかと思います。

ということで、冒頭に記載した Gen9 の NUC (Xeon モデル) を使用して、Fake NUMA の環境を設定して利用してみた際のメモを。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 28th, 2022 at 3:18 pm

SQL Server 2022 で Non-yielding Scheduler 発生時の出力内容が追加されていました

leave a comment

SQL Server でスレッドが CPU を解放せずに占有し続けた状態となる Non-yielding Scheduler となった場合、SQL Server のプロセスのダンプが出力されます。

出力されたダンプについては、Non-yielding IOCP Listener, Non-yielding Scheduler and non-yielding resource monitor known issues and fixes で解説されている内容を基に解析を行うことになりますが、SQL Server 2022 では解析のための情報が追加されているようです。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 26th, 2022 at 9:49 am

SQL Nexus で System.Data.SqlClient.SqlException (0x80131904) が発生した場合の対応方法

leave a comment

SQL Nexus でレポートを作成する際に、一部の内容 (例: Perfmon Summary の Click here to view more CPU metrics) を表示する際に、次のエラーが発生することがあります。

System.Data.SqlClient.SqlException (0x80131904): 文字列から日付と時刻、またはそのいずれかへの変換中に、変換が失敗しました。 (英語だと Conversion failed when converting date and/or time from character string.)

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 21st, 2022 at 3:22 pm

Posted in SQL Server

Tagged with

SOS_WORK_DISPATCHER と SOS_WORKER の比較についてのメモ

leave a comment

SOS_WORK_DISPATCHER については、What is the SOS_WORK_DISPATCHER Wait Type? で解説が行われていますが、SOS_WORKER との比較を把握しておきたかったのでメモとして。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 15th, 2022 at 10:13 am

Posted in SQL Server

Tagged with

検証用 SQL Server に導入するツール

leave a comment

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 8th, 2022 at 9:51 am

Posted in SQL Server

Tagged with

Try using External REST Endpoints Integration (Preview) of SQL Database

leave a comment

Azure SQL Database External REST Endpoints Integration Public Preview でアナウンスがありましたが、SQL Database で、SQL から REST API をコールすることができる sp_invoke_external_rest_endpoint というストアドプロシージャがプレビューで提供されました。

SQL 単体で、REST をコールして情報を取得することができる機能となります。

呼び出しができるエンドポイントについては、許可されているエンドポイント に記載されている次のエンドポイントに限定され、これ以外のエンドポイントについては、サポートされるエンドポイントでラップして呼び出す必要があります。

image

本機能の使用方法のサンプルについては Azure SQL DB sp_invoke_external_rest_endpoint samples が提供されているのですが、この中で触れられていない Microsoft Graph を使用して、本機能を確認してみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 7th, 2022 at 9:10 pm

Posted in SQL Database

Tagged with

SQL Server 2022 を従量課金で利用する際の参考情報

leave a comment

SQL Server 2022 の新機能として、SQL Server の従量課金での利用があります。

「インストール」または「エディションのアップグレード」を実施する際に「Microsoft Azure を通じて従量課金制の課金を使用します」 (AZUREBILLEDEDITION オプション) を選択することで、従来からの永続化ライセンスではなく、SQL Server のデータベースエンジンを従量課金で利用することができます。(SQL Server のソフトウェアライセンスについてとなり、OS のライセンスは別途考慮する必要があります / データベースエンジンの利用に限定されていそうです。)

image

この従量課金での利用については、SQL Server 2022 で初めて導入されたインストール形態となり、オンプレミスやそれ以外の環境にインストールした SQL Server 2022 を従量課金で利用することができます。

従量課金での利用は「Azure サブスクリプションへの課金」となるため、Azure サブスクリプションが必要 / SQL Server の利用料金は Azure の利用料金として発生することになりますが、様々な場所で実行している SQL Server 2022 を従量課金で利用することができるようになります。

従量課金での利用については、Azure Arc の SQL Server 用 Azure 拡張機能 により実現されているため、機能の詳細については SQL Server だけでなく Azure Arc の観点でも確認する必要があります。

使用する際に疑問に思う点は よく寄せられる質問 でまとめられているので、こちらも確認するとよいかと。

関連情報する情報を整理していたのですが、一通り情報が出てきたようなのでまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 4th, 2022 at 5:50 pm

Azure Active Directory Free を使用した多要素認証と関連情報

leave a comment

Azure Active Directory (Azure AD) は無償で利用できる Azure AD Free がありますが、Azure AD Free でも多要素認証 (MFA) が限定的に使用することができます。

Azure AD Free で多要素認証を使用する場合の関連情報をメモとして残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 1st, 2022 at 10:13 pm

Windows Dev Kit 2023 で mDP 経由でディスプレイ出力を行う

leave a comment

Arm 版 Windows の開発キットである Windows Dev Kit 2023 では、ディスプレイの出力方式として、

  • USB-C
  • mDP (ミニディスプレイポート)

の 2 種類がサポートされています。

Windows が起動する状態であれば USB-C が既定のディスプレイポートとなるため、UCB-C にディスプレイを直接接続 / HDMI 出力がついているハブ経由で出力することができます。

しかし、UEFI メニューで起動する場合は、USB-C ではなく、mDP が既定のディスプレイポートとなり、こちらのポートから出力できるように準備をしておく必要があります。

mDP 経由での出力は以前から試していてできていなかったのですが、twitter で

とつぶやいたところ、様々なアドバイスをいただき、最終的に mDP ポート経由でディスプレイの出力を行うことができましたので情報を残しておこうと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 1st, 2022 at 1:58 pm

Posted in Windows Dev Kit

Tagged with