SE の雑記

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

SQL Server on Azure VM の複数サブネットによる可用性グループの構成の特徴を理解する

leave a comment

以前投稿した 複数サブネット構成を使用した SQL Server on Azure VM の可用性構成について に近いものとなりますが、改めて特徴を把握しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 18th, 2023 at 9:54 pm

Posted in Azure,SQL Server

Tagged with ,

AVD for Azure Stack HCI のセッションホスト用マスターイメージを作成する際の参考情報

leave a comment

基本的には AVD for Azure と同じなのですが、セッションホストのマスターイメージを作成する際に参考する情報をまとめておきたいと思います。(ブラウザで開いたままのタブを整理したかったということもあります)

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 13th, 2023 at 11:46 pm

Posted in Azure Stack HCI

Tagged with

Azure Stack HCI 上で Marketplace の Windows Client OS を展開した際のライセンス認証について

leave a comment

プレビュー機能となりますが、Azure Stack HCI では次の 2 つの機能を使用して、Azure Marketplace で提供されている Windows Client OS のイメージ (Multi Session 対応の Windows 10 / 11) を展開することが可能です。

Windows Client OS のイメージを実際に展開すると、環境がわかるのですが、Marketplace で提供されているこれらの OS イメージでは [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform] を確認しても KMS の設定はされておらず、それ以外の方法を使用して認証が行われています。

本投稿では Azure Stack HCI 上に展開した Marketplace の Windows Client OS のライセンス認証について情報をまとめておきたいと思います。

基本的な考え方としては Windows OS のアクティブ化 の次の記載が該当します。

Windows VM は、Azure Stack HCI で使用する前にライセンス認証を行い、アクティブ化する必要があります。

マルチセッション OS VM (Windows 10、Windows 11、またはそれ以降) をアクティブ化するには、VM の作成後に VM で Azure 特典を有効にします。 ホスト コンピューターでも Azure 特典が有効になっていることを確認します。 詳細については、「Azure Stack HCI での Azure 特典」を参照してください。

注意

Azure 特典が必要な VM ごとにアクセスを手動で有効にする必要があります。

他のすべての OS イメージ (Windows Server やシングル セッション OS など) については、Azure 特典は必要ありません。 既存のアクティブ化方法を引き続き使用してください。 詳細については、Azure Stack HCI での Windows Server VM のアクティブ化に関するページを参照してください。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 11th, 2023 at 9:29 pm

Posted in Azure Stack HCI

Tagged with

Azure SQL Managed Instance の November 2022 Feature Wave によるデプロイの高速化

leave a comment

November 2022 Feature Wave for Azure SQL Managed Instance でアナウンスがありましたが、Azure SQl Managed Instance では、November 2022 Feature Wave (2022 年 11 月の機能ウェーブ) で、デプロイが高速化されます。

アナウンスは見ていたのですが、実際にデプロイが高速化されることを確認できていなかったので確認してみました。November 2022 Feature Wave の環境では、インスタンスの停止 / 開始も行うことができ、コストを抑えることができるようになるので、開発環境の効率的な運用も可能になるのではないでしょうか。

上述のアナウンス以外にも learn でドキュメントが公開されており、2022 年 11 月の機能ウェーブに登録する – Azure SQL Managed Instance から情報を確認することができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 9th, 2023 at 4:28 pm

パフォーマンスモニター起動時の初期項目を初期化する

leave a comment

パフォーマンスモニターのログの分析をする際には、「perfmon /sys /comp」で起動して、複数のパフォーマンスモニターのログの比較が可能なモードで起動することがあります。

この際、perfmon を再起動すると前回の開いていた項目が復元されることがあるのですが、誤って大量のカウンターや接続できないリモートを指定していたりすると、パフォーマンスモニターを起動するのに時間がかかることがあります。

「perfmon /sys /comp」で起動した場合「%USERPROFILE%\AppData\Local」に「Perfmon.PerfmonCfg」というファイルが作成されており、このファイルが次回起動時のデフォルトの設定として使用されるようです。

パフォーマンスモニターを起動した際に時間がかかるようになってしまった場合には、このファイルを削除すると起動速度を初期状態にすることができるかと思います。

Written by Masayuki.Ozawa

1月 9th, 2023 at 3:13 pm

Posted in Windows Server

Tagged with

SQL Server 2022 の model_replicatedmaster / model_msdb について

leave a comment

SQL Server 2022 では、システムデータベースのディレクトリに、次のデータベース用のファイルが格納されています。

  • model_replicatedmaster
    • model_replicatedmaster.mdf
    • model_replicatedmaster.ldf
  • model_msdb
    • model_msdbdata.mdf
    • model_msdblog.ldf

これらのファイルは、SQL Server 2019 でも存在していたのですが、通常のインスタンスでは使用されていませんでした。

SQL Server 2022 になると、状況が変わり、これらのファイルが使用されているデータベースとして model_replicatedmaster / model_msdb というデータベースが SSMS や DMV では表示されませんが内部的に存在するようになり、基本構成としてファイルが使用されるようになりました。

現状、これらのデータベースの情報が公開されているものはないのですが、2022 で新しく追加されたシステムデータベースとなるため、本投稿で現在調べられていることをまとめておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 5th, 2023 at 9:54 am

Azure Stack HCI で評価版の Windows Server をベースにしてサブスクリプションで Windows Server を利用する

leave a comment

Azure Stack HCI 上で Windows Server を実行する場合、Windows Server サブスクリプション という利用形態で Windows Server OS を実行することができ、詳細については次のドキュメントで解説が行われています。

価格については Azure Stack HCI の価格 に記載されており、Azure Stack HCI のホスト OS の物理コアによる月額コストとなり、サブスクリプションモデルで、Windows Server OS の仮想マシンを実行する場合は、実行している仮想マシン単位のコストを考慮しなくてもよくなります。

image

ライセンス オプションの比較 に、次のように記載されていますが、CAL についても不要となり、シンプルな考え方で Windows Server を使用することができるようになります。

Windows Server サブスクリプションについても Azure Stack HCI の 60 日間の評価内容に含まれており、評価期間内であれば、コストを発生させることなく検証をすることができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 4th, 2023 at 1:28 pm

Posted in Azure Stack HCI

Tagged with

SQL Server の動的メモリ管理の情報が出力される二つのリングバッファーについて

leave a comment

SQL Server のメモリ管理については、メモリ管理アーキテクチャ ガイド で解説が行われています。

このガイドの中で、メモリ不足の検出 に次の記載があります。

次の 2 つのリング バッファーに、動的メモリ管理に関連する情報が保持されます。

  • メモリ不足が通知されているかどうかなど、リソース モニターのアクティビティを追跡するリソース モニター リング バッファー。 このリング バッファーには、現在のRESOURCE_MEMPHYSICAL_HIGH状態に応じて状態情報が含まれます。 RESOURCE_MEMPHYSICAL_LOWRESOURCE_MEMPHYSICAL_STEADYRESOURCE_MEMVIRTUAL_LOW
  • 各 Resource Governor リソース プールのメモリ通知のレコードが含まれるメモリ ブローカー リング バッファー。 内部メモリ不足が検出されると、メモリの割り当てを行うコンポーネントに対して、メモリ不足を示す通知がオンになり、キャッシュ間でメモリのバランスをとるためのアクションがトリガーされます。

SQL Server のメモリ管理は「動的メモリ管理」によって実施されており、OS / SQL Server のメモリ使用状況に応じて、各役割のメモリを自動的に調整します。

この動的メモリに関する動作については、リングバッファーから確認をすることができるようになっています。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 3rd, 2023 at 5:56 pm

Posted in SQL Server

Tagged with

拡張イベントで 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