SE の雑記

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

Archive for the ‘SQL Server’ tag

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 ,

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

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

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

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

PASS Data Community SUMMIT 2022 で SQL Server 2022 の一般提供開始がアナウンスされました

leave a comment

本日から PASS Data Community SUMMIT 2022 が開催されています。

1 日目のキーノートは Microsoft の Rohan Kumar 氏 のセッションとなっていました。

この動画も面白かったですw

このキーノートの中で SQL Server 2022 の一般提供開始 (GA: General Availability) がアナウンスされました!!

image

CTP 2.0 による Public Preview が開始されたのが、2022/05/20 なので、半年の Public Preview 期間を経て一般提供が開始されましたね。

製品ページ も SQL Server 2022 に対応したものとなり、SQL Server 2022 の製品ページ も GA 版に変わっています。
ライセンス についても情報が公開されています。

 

評価版のダウンロード

評価版については こちら からダウンロードすることができます。SSRS はこちら から。

SQL Server 2022 の評価版ソフトウェアは以下からダウンロードすることができます。

Visual Studio サブスクリプションにも SQL Server 2022 の Developer Edition が追加されており、評価版については、そちらから入手も可能です。

 

ライセンス関連の情報

投稿点では 2019 のドキュメントもありますが、以下のライセンスドキュメントも 2022 に対応され始めています。

SQL Server 2022 の情報となるわけではありませんが、従来まで SA を購入している場合であった特典の、Free DR replica in Azure の構成が、PAYG の Azure VM でも適用されるということが General availability: DR secondary free with SQL Server on Azure Virtual Machines でアナウンスされました。

コンピューティングについてはコストは発生しますが、完全なスタンバイであれば、 SQL Server のライセンスコストを抑えることができるようになりますので、以下のドキュメントも確認しておくとよいかと思います。(投稿時点ではアップデートがされていませんが、今後アップデートされると思います)

 

SQL Server 関連のアナウンス

PASS 開催に合わせて発表された SQL Server Blog のアナウンスはこちら。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 17th, 2022 at 1:37 am