タイトルの調査を行うにあたって、久しぶりに情報を確認する機会があったのでメモとして。
Archive for 11月, 2022
Azure Virtual Desktop for Azure Stack HCI の物理検証環境を構築してみる
Azure Virtual Desktop (AVD) for Azure Stack HCI の検証環境については、Announcing Jumpstart HCIBox でアナウンスされた、Nested Hyper-V の環境を使用して構築することができます。
Azure Arc や Azure Stack HCI の評価環境ですが、Nested 環境として作るのもよいのですが、物理環境で構築したほうが、より実運用に近くなるのではないでしょうか。
ということで、自宅で AVD for Azure Stack HCI の検証環境を、物理環境で作った際のメモを。
PASS Data Community SUMMIT 2022 で SQL Server 2022 の一般提供開始がアナウンスされました
本日から PASS Data Community SUMMIT 2022 が開催されています。
1 日目のキーノートは Microsoft の Rohan Kumar 氏 のセッションとなっていました。
この動画も面白かったですw
Really looking forward to meeting the Data community at the #PASS Summit this week! We’ll share big news on the latest innovations across SQL Server and the Microsoft Intelligent Data Platform.#MicrosoftIntelligentDataPlatform #Azure #Data #SQL pic.twitter.com/sMnxjKzeyW
— Rohan Kumar (@RohanKData) November 14, 2022
このキーノートの中で SQL Server 2022 の一般提供開始 (GA: General Availability) がアナウンスされました!!
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 pricing and licensing
- SQL Server 2019 pricing (旧バージョンとの比較用)
- SQL Server 製品条項
- SQL Server Licensing
- 投稿時点では 2019 ベースの内容となっています
- SQL Server ライセンスドキュメント
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 のアナウンスはこちら。
- Link feature for Azure SQL Managed Instance: Connecting SQL Server 2022 to the cloud, reimagined
- SQL Server 2022 is now generally available
- New SQL Server on Azure Virtual Machines and Azure SQL Managed Instance DR benefits
- 従来は SA (SA に含まれる AHUB) で提供されていた HA / DR 用の SQL Server ライセンスの無料化が Azure 上で SA なしでも利用することができるようになります。
Azure AD の CBA を使用した多要素認証の設定について
Azure AD の CBA では、認証バインドの設定として「単一要素認証」と「多要素認証」を選択することができます。
CBA を使用した多要素認証については、次のドキュメントでも触れられています。
CBA の多要素認証の設定が何を表しているのかが理解できていなかったので、本投稿でメモを残しておきたいと思います。
Visual Studio パフォーマンス プロファイラーを使用した SQL Server のスタックトレースの確認
先日、一時テーブルとテーブル変数のパフォーマンスについて調査をしていた際に、次の情報が見つかりました。
この中で Visual Studio の パフォーマンス プロファイラー (Performance Profiler) を使用してスタックトレース (コールスタック) を取得した内容について紹介がされていました。
最近、SQL Server のスタックトレース確認をすることが多く、次の方法を使用して確認を行っていました。
- 拡張イベントの callstack フィールド
Visual Studio からの確認であればクエリを実行しながらスタックトレースを確認することができて便利そうなので、試してみました。
今回は Visual Studio を起動している環境上で起動している SQL Server を移用しています。
SQL Server 2022 on Azure VM の Azure Active Directory 認証について
SQL Server 2022 の新機能として Azure Active Directory 認証 があります。
オンプレミスの SQL Server であれば、Azure Arc 対応サーバーをインストールすることで使用できる機能なのですが、Azure VM では、Azure Arc 対応サーバーはサポートされておらず、評価目的でのみ使用することができます。
Azure VM で SQL Server 2022 を実行した場合、SQL Server IaaS Agent 拡張機能 経由で、Azure Arctive Directory 認証をサポートする予定という話は以前から出ていたのですが、当時は具体的な設定方法は公開されていませんでした。
今月 SQL Server 2022 Revealed が出版され読み進めているところなのですが、この書籍の中でも Azure Active Directory 認証について解説が行われています。
最新の状況についてどうなっているのかを Azure Active Directory 認証 で改めて確認してみたところ、ドキュメントが更新されており、「または Windows Azure VM 上の SQL Server 2022) のみがサポートされています。」の記載が追記されていました。
SQL Server 2022 on Azure VM の Azure Active Directory 認証についての情報が Azure AD 認証 (プレビュー) として公開されていたので、実際に試してみました。
SQL Server の基数推定 (CE: Cardinality Estimation) について把握する際に必要となる情報
SQL Server では実行プランを生成する際には、統計情報を基にして、処理対象となるデータの推定 (基数推定) が行われます。
SQL Server の統計情報は、
- データ件数
- 最大 200 に分割されたデータ分布 (ヒストグラム) により構成される
- 分割の上限値 / 分割範囲の行数 / 分割の上限と同一値の行数 / 個別の値を持つ行数 / 重複する値を持つ行数の平均
- ヒストグラムは統計情報の先頭列のみで構成され、複数列統計を作成した場合でも複数列のヒストグラムは作成されない
- どの程度ユニークな値で構成されているか (密度が 1 になっている場合は、すべてのデータが同一の値となる)
- 複数列統計の場合、密度は列の組み合わせによって作成される
- SQL Server 2008 との互換性維持となる情報については、統計ヘッダーの密度であり、最新の SQL Server でも列単位の密度は使われている
が基本的な情報となり、この情報は以前の SQL Server から変化していないという認識です。
統計情報については、STATS_STREAM (STATS_BLOB) が実際の情報となりますが、次の情報からユーザーが視認できる形で確認を行うことができます。
与えられたクエリのステートメントに対して、この統計情報を使用して行数を推定することで、クエリの実行プランが組み立てられ、この時の処理対象となる行数の推定が基数推定 (カーディナリティ推定: Cardinality Estimation: CE) となります。
本投稿では、この行数の推定である基数推定がどのように判断されているかを確認する際に参照する必要のある情報をまとめておきたいと思います。