SE の雑記

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

Archive for 10月, 2022

調査のために意図的に Non-yielding scheduler の状態を作り出す

leave a comment

Non-yielding scheduler エラーの調査を実施する際の参考情報 の続きの投稿となるのですが、SQL Server で Non-yielding scheduler となる状態を作り出すため、スレッドと強制的に中断状態にして

  • リングバッファーに RING_BUFFER_NONYIELD_COPIEDSTACK を出力
  • 拡張イベントに scheduler_monitor_non_yielding_ring_buffer_recorded を出力

させるための方法のメモです。

本来は、スケジューラーモニターで次の状態を検知させ、ダンプを出力させるところまで再現したかったのですが、私の理解度が低く、そこまでは再現できていません。

 # Child-SP          RetAddr           Call Site
00 00000006`b2ddbc28 00007ffd`db9185c3 ntdll!NtWaitForSingleObject+0x14
01 00000006`b2ddbc30 00007ff6`cb98bb2e KERNELBASE!WaitForSingleObjectEx+0x93
02 00000006`b2ddbcd0 00007ff6`cb98b8a3 sqlservr!CDmpDump::InvokeSqlDumper+0x1ee
03 00000006`b2ddbdd0 00007ff6`cb98b5a4 sqlservr!CDmpDump::DumpInternal+0x1b3
04 00000006`b2ddbe80 00007ffd`c356e743 sqlservr!CDmpDump::Dump+0x24
05 00000006`b2ddbec0 00007ffd`c420d1b5 sqllang!SQLDumperLibraryInvoke+0x1f3
06 00000006`b2ddbf00 00007ffd`c420e046 sqllang!SQLLangDumperLibraryInvoke+0x185
07 00000006`b2ddbfc0 00007ffd`c41d8c42 sqllang!CImageHelper::DoMiniDump+0x6f6
08 00000006`b2ddc1e0 00007ff6`cb963eb5 sqllang!stackTrace+0xa42
09 00000006`b2dddc00 00007ffd`c5956840 sqlservr!SQL_SOSNonYieldSchedulerCallback+0x465
0a 00000006`b2dfdea0 00007ffd`c592e59b sqldk!SOS_OS::ExecuteNonYieldSchedulerCallbacks+0xe0
0b 00000006`b2dfe150 00007ffd`c58c54ef sqldk!SOS_Scheduler::ExecuteNonYieldSchedulerCallbacks+0x1ab
0c 00000006`b2dfe330 00007ffd`c58c47b2 sqldk!SchedulerMonitor::CheckScheduler+0x25e
0d 00000006`b2dfe4d0 00007ffd`c58c3d72 sqldk!SchedulerMonitor::CheckSchedulers+0x1ea
0e 00000006`b2dfee40 00007ffd`c59c47c9 sqldk!SchedulerMonitor::Run+0xc2
0f 00000006`b2dfef40 00007ffd`c58b9e53 sqldk!SchedulerMonitor::EntryPoint+0x9
10 00000006`b2dfef70 00007ffd`c58ba28f sqldk!SOS_Task::Param::Execute+0x232
11 00000006`b2dff570 00007ffd`c58ba05e sqldk!SOS_Scheduler::RunTask+0xbf
12 00000006`b2dff5e0 00007ffd`c58d79a2 sqldk!SOS_Scheduler::ProcessTasks+0x39d
13 00000006`b2dff700 00007ffd`c58d7b9f sqldk!SchedulerManager::WorkerEntryPoint+0x2a1
14 00000006`b2dff7d0 00007ffd`c58d83fa sqldk!SystemThreadDispatcher::ProcessWorker+0x42a
15 00000006`b2dffad0 00007ffd`df0c7974 sqldk!SchedulerManager::ThreadEntryPoint+0x406
16 00000006`b2dffbc0 00007ffd`df7ea2f1 kernel32!BaseThreadInitThunk+0x14
17 00000006`b2dffbf0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 30th, 2022 at 10:29 pm

Posted in SQL Server

Tagged with

SQL Server 2022 RC1 + SSMS 19.0 Preview 3 環境で ostress を実行する際の注意点

leave a comment

Windows Server 2022 + SQL Server 2022 RC1 + SSMS 19.0 Preview 3 の環境で、ローカルの SQL Server に対して ostress.exe を実行した場合に、次のエラーが発生し、負荷をかけることができませんでした。

10/27/22 09:20:01.124 [0x00000D2C] SQLState: 08001, Native Error: 18
[DBNETLIB]SSL セキュリティ エラー

10/27/22 09:20:01.125 [0x00000D2C] SQLState: 01S00, Native Error: 0
接続文字列の属性が正しくありません。

 

今まで見たことがないエラーだったので、なぜ発生しているのかを調べてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 27th, 2022 at 9:39 am

Non-yielding scheduler エラーの調査を実施する際の参考情報

leave a comment

自分のメモとなるのですが SQL Server で Non-yielding scheduler のエラーが発生した場合に必要となる情報をまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 21st, 2022 at 9:21 pm

Posted in SQL Server

Tagged with

Ignite 2022 で発表された SQL Server ベースのアップデート

leave a comment

Ignite 2022 が開催されています。更新内容については、Book of News から確認することができます。

SQL Server ベースの環境に関連するアップデートとしてどのようなものがあったかまとめておきたいと思います。

Data Platform 関連のキーノートセッションは次のようなものがあるようです。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 13th, 2022 at 7:12 am

SQL Server 2022 New Features: Intel QAT を使用したバックアップの高速化

one comment

SQL Server 2022 RC 1 時点の情報となり、今後の Preview / 一般提供開始時には変更されている可能性もあります。

SQL Server 2022 の新機能として、Intel QAT (Quick Assist Technology) を使用した、バックアップの高速化とバックアップの負荷をハードウェアにオフロードするという機能があります。

Intel QAT を使用する場合、Intel® QuickAssist Adapter Family for Servers のようなハードウェアを使用しなくてはいけないのかと思っていたのですが、この機能はソフトウェアモードでも使用することができ、ハードウェア圧縮が使用できない場合でもソフトウェアで処理ができるようになっていました。

この機能を使用した場合の処理特性についてまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 10th, 2022 at 9:00 pm

AD FS から Azure AD への移行ステップを検証するためのメモ

one comment

サンプルアプリケーションを使って ADFS から Azure AD への認証移行ステップを確認する で解説されている AD FS を使用しているアプリケーションから Azure AD への移行を実施する際に使用できるデモを動作させる際のメモを。

久しぶりに AD FS を触ったら何も覚えていませんでした…。

AD FS 上のアプリをさらに Azure AD に移行するための新機能の提供 がどのような内容を表しているのかを検証するための下準備となります。

AD FS 上に WS-Federation 認証でサインインするサンプル アプリを登録するために必要な手順 も合わせて読んでおくとよいかなと思いました。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 4th, 2022 at 5:09 am

Posted in AD FS

Tagged with

Azure AD 証明書ベースの認証 (CBA) を手持ちの機材でモバイルデバイスから検証してみる

leave a comment

Azure AD の証明書ベースの認証 (CBA) をスマートカードで検証する環境を準備してみる からの継続した検証のメモを。

CBA は、モバイルデバイスもサポートされており、Android / iOS でも使用することができます。

普段使用している iOS / Android とは別に、使用していない昔の機種が手元になったので、これらを使用して検証ができるのかを確認してみました。

今回使用したのは次の機種となっており古いものなのですが、CBA の要件は、Android 5.0 以降 / iOS 9 以降と要件は厳しくないので証明書のインストールから Office ポータルへのアクセスについてはこれらの機種でも対応することが可能でした。

  • Android: GALAXY S5 (SC-04F)
  • OS: Android 6.0.1
  • 2014 年モデル
  • iOS: iPod touch Gen3 (MD724J/A )
    • OS: iOS 9.3.6
    • 2012 年販売

    Android については、Android Studio をインストールし、Android Emulator を使用することでも検証することはできます。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    10月 3rd, 2022 at 9:13 am