情報をキャッチアップすることができていなかったので、SQL Database と SQL Serever の Update をまとめて。
SQL Database 関連のアップデートサマリーは先月分のアナウンスとなっており、目新しいものは見つからず。
本投稿は実質 SQL Server の Update の備忘録です。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
情報をキャッチアップすることができていなかったので、SQL Database と SQL Serever の Update をまとめて。
SQL Database 関連のアップデートサマリーは先月分のアナウンスとなっており、目新しいものは見つからず。
本投稿は実質 SQL Server の Update の備忘録です。
Azure Arc 対応サーバーで Windows サーバーに対して ゲスト構成機能 (Azure ポリシー) の適用状況を確認する際のログについてまとめておきたいと思います。
技術情報としては次のドキュメントを確認するとよいかと思います。
ポリシーの適用については反映されるまで時間がかかりますが、反映のタイミングについては Validation frequency に記載されており、基本的な感覚は次のようになるようです。
Stack Overflow (Stack Exchange Network) で使用されている構成については、Performance で公開されています。
SQL Server については、4 台のサーバーで構成されていることが公開されており、上記の情報では次のような構成となっているとされています。
このような環境で平均的な CPU の使用率が 10% 以下になっているということは有名な情報ではないでしょうか。
日本語時の情報としては Publickey のStack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中 が有名かと。この記事は 7 年前のものとなるため、現状とはハードウェアのサイズが変わっていますが、基本的な構成は変えることなくサービスが提供されているかと思います。
構成についてはさらに詳細な情報が公開されており、次の記事から確認できるようになっています。
SQL Server については、Windows Server 2016 + SQL Server 2019 で構成されており、どのようなハードウェアを使用しているかについても公開されています。(SQL Server のハードウェアについては、以前の環境となっているようで、現状使用している 1.5 TB の環境ではなさそうですが参考になります)
先日開催された、EightKB 2022 August で、Stack Overflow で使用されている Always On 可用性グループの SQL Server の運用についてのセッションがありました。
動画が公開 されており、Stack Overflow で使用されている SQL Server の実際の環境や運用について興味深い内容が沢山紹介されていました。
本稿では、先日開催されたイベントのセッション内で公開された情報や、Stack Overflow の環境の歴史を学ぶためにはどのような情報を確認できるかをまとめておきたいと思います。
私も適宜情報を再確認している状態で、本投稿は頻繁に追記を行っていこうと考えています。
SQL Server 2012 は、2022/7/12 にサポートが終了し、現在は、拡張セキュリティ更新プログラム (ESU) でのみ Microsoft からサポートされるソフトウェアとなりました。
SQL Server の ESU については SQL Server 用の延長セキュリティ更新プログラムとは で情報がまとめられており、Azure Stack HCI 上で動作させた場合の特典についても本情報で次のように記載されています。(拡張セキュリティ更新プログラム (ESU) について でも情報がまとめられています)
Azure サービス。 オンプレミス サーバーを次のいずれかの Azure サービスに移行する場合は無料であり、既定で有効になります。
Azure Stack HCI で Azure 特典 を使用している場合、Azure サービスでの動作となり、ESU を特典として利用することができるため、Windows Server / SQL Server の ESU 提供を無償で受けることが可能となります。
当ブログでも、Windows Server 向けの ESU については、次の投稿で検証を実施していました。
SQL Server 向けについては SQL Server 2012 対応した内容の検証ができていなかったのですが、SR で問い合わせをさせていただきながら情報を把握することができたので、本投稿でまとめておきたいと思います。
ESU では、次の二つの内容が提供されています。
現状セキュリティ更新プログラムは提供されていないため、本投稿で確認している内容については、セキュリティ更新プログラムの提供を受けるための事前準備までとなります。
Azure Policy では、ゲスト構成機能 (Guest Configuration: GC) により、環境内のマシンの状態を管理することができます。
ゲスト構成は、次のいずれかの環境に対して使用することができます。
Azure だけでなく、Azure Arc 対応サーバーをインストールしている環境についても Azure Policy のゲスト構成機能を活用することができます。(Azure の仮想マシンについては追加コストは発生しませんが、Azure Arc の環境については追加コストが発生します)
Azure Policy では組み込みポリシー定義が提供されており、Azure 仮想マシンならびに Azure Arc 向けのポリシーが提供されています。
これらのポリシーの中には、ゲスト構成機能を使用したルールも提供されており、本投稿はゲスト構成機能を使用したルールの監査状況の確認方法をポータルから実施する際の操作を調べたものとなります。
ゲスト構成機能については冒頭に紹介したドキュメントも含めた、次の内容を確認しておくとよさそうです。
本日、SQL Server 2022 CTP (Community Technology Preview) 2.1 がリリースされました。
CTP 2.1 ではいくつかの機能が追加されており、上記のアナウンス並びに、What’s new in SQL Server 2022 (16.x) Preview から CTP 2.1 で実装された機能を確認することができます。
大きな内容としては、次のようなものでしょうか。(CTP 2.1 からクエリストアのデフォルト有効化が実装されていたりもします)
T-SQL の機能強化については、各関数のドキュメントから確認できますので、それ以外のアップデートで確認しておきたいドキュメントをまとめておきたいと思います。
Twitter で気づいたのですが、Stretch Database は 2022 で非推奨機能になったようです。
Awww, Stretch Database is officially deprecated… ??https://t.co/LQ3DfsWYRz
— Randolph West is not here anymore (@_randolph_west) July 27, 2022
2022年7月は、投稿を書いている時点では、Azure Updates には、SQL Database の更新のまとめはアナウンスされていませんが、Azure SQL Blog のまとめや、Azure Updates に機能単位のアナウンスは行われていますので、情報をキャッチアップしておきたいと思います。Azure Updates にまとめがアナウンスされたら、本投稿に追記を行いたいと思います。(今月はバタバタしていて、情報をキャッチアップできていないので、そろそろまとめないと更新が把握できない…)
現時点のリリースノートには記載されていないのですが、SQL Server 2022 では、ラッチ (ページラッチ / バッファーラッチ) で待機が発生している場合の情報の出力内容が強化されています。
SQL Server では、ラッチは、
の二種類に大別されますが、今回は「バッファーラッチ」を例として情報を記載しています。
SQL Server のラッチについては、SQL Server でラッチの競合を診断および解決する で解説されていますので、ラッチについての詳細はこちらを確認してください。
ラッチについては SQL Server 以外の RDBMS でも実装されています。
SQL Server ではラッチというと非バッファラッチを差すケースが多いですが、RDBMS における一般的なラッチは、SQL Server ではバッファーラッチとなり、メモリ上のページの保護をするために使用されている同期プリミティブを刺すことになると思います。
SQL Server バッファー プール内のページのデータの書き込みまたは読み取りが行われるときは常に、ワーカー スレッドにおいて最初にそのページのバッファー ラッチを取得する必要があります。 バッファー プール内のページにアクセスするために使用できるバッファー ラッチには、排他的ラッチ (PAGELATCH_EX) や共有ラッチ (PAGELATCH_SH) など、さまざまな種類があります。
本日、Power BI データマートが東南アジア (シンガポール) でも使用できるようになったようで、シンガポールから東日本にテナントをお引越ししなくてもよかったのではと思う今日この頃ですが、私が使用している Power BI Premium Per User (PPU) の環境でデータマートを触れるようになったので、SQL Database の構成を簡単にではありますが確認してみました。(Power BI Embedded でも試すことができ、PPU も Embedded も同じ構成となっているようでした)
考慮事項と制限事項 で東アジアが制限から外れたので、日本の Power BI ユーザーも広範囲で試すことができそうですね。
Power BI データマートの説明については、データマートの概要 のドキュメントツリーを確認していただければと思います。
SSMS のアップグレードを実行しようとして、インストーラーを起動すると次のような、再起動要求の画面が表示されることがあります。
検証環境に Windows Update を適用した後に SSMS も一緒にアップグレードしておくかと思って、最新のインストーラーをダウンロードしてセットアップすると、これに遭遇することが多いのですが、どの辺の情報を見て判断しているのかが気になったので軽く見てみました。
確認した範囲では、「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired」のレジストリキーが存在していると、上記の再起動要求の画面が表示されるようでした。
Windows の再起動要求の判断は How to Check for a Pending Reboot in the Registry (Windows) で記載されているようなレジストリを見ているケースもあり、今回確認できたキー以外で判断されるかもしれませんが、Windows Update 直後の環境で上記の画面が表示されていたので、何となくどの辺の情報を見ているのか確認してみました。