SQLBits 2023 の Bob Ward の SQL Server 2022 hidden gems で紹介されていたのですが、SQL Server 2022 で追加された query_abort という拡張イベントが、今後の SQL Server でエラーの原因を取得する際に活用できそうでしたので情報を残しておこうと思います。
この拡張イベントについては SQL Server 2022 Revealed でも触れられています。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQLBits 2023 の Bob Ward の SQL Server 2022 hidden gems で紹介されていたのですが、SQL Server 2022 で追加された query_abort という拡張イベントが、今後の SQL Server でエラーの原因を取得する際に活用できそうでしたので情報を残しておこうと思います。
この拡張イベントについては SQL Server 2022 Revealed でも触れられています。
最近、SQL Server のリンクサーバーのプロバイダーを見ていて気づいたのですが、SQL Server 2022 では、SQLNCLI11 がリンクサーバーのプロバイダーから削除されていました。
左が SQL Server 2022 / 右がそれより前のバージョンの SQL Server のリンクサーバーのプロバイダーとなるのですが、2022 では SQLNCLI11 が削除されていますね。
最近、次のアナウンスが行われ、Managed Instance でも SQLNCLI (SNAC) に対しての対応が行われたようです。
この領域は情報のキャッチアップができていなかったのですが、そろそろ少しずつ把握しておかないとなと思い、後で思い出すためのメモを。
SQLBits 2023 の Keynote で紹介されていたツールになります。
SQL Server の最新の機能を使用するためには、System.Data.SqlClient ではなく、Microsoft.Data.SqlClient を使用する必要があります。
以前、PowerShell (7.0.2) で Microsoft.Data.SqlClient 2.0 を使用する という投稿を書いたのですが、Windows PowerShell を使用していて、もう少しシンプルな方法で導入することはできないかと考えてみたところ、SQL Server PowerShell モジュール の存在を思い出しました。
2023/04/06 追記
Microsoft.Data.SqlClient が使用されている 22.x が GA リリースされました。
I'm pleased to announce the GA release of the SQLServer PowerShell module v22.https://t.co/hXJuyq2Xqh
— Matteo Taveggia (@matteo_taveggia) April 4, 2023
22.0.59 以降で Preview が外れましたので、現時点では GA 版を使用することができます。
SQL Server IaaS Agent 拡張機能で新しいアクセス許可モデルの提供が開始され、「完全な sysadmin 権限」「最小特権モデル (原則) 」(least privilege mode) という二種類のアクセス許可が使用されるようになりました。
従来までのアクセス許可モデルは「完全な sysadmin 権限」と呼ばれるものとなり、現状では、
で使用されているものとなります。
上記以外の環境や、自動登録で導入された IaaS Agent 拡張機能については「最小特権の原則」で導入が行われるようになりました。
当初から提供されていた「完全な sysadmin 権限によるアクセス許可モデル」では次の 3 種類の管理モードが提供されていました。
新しく提供が開始された「最小特権モデル」については、管理モードは削除され、使用される機能に応じたカスタムロールが使用され、機能に応じて必要な権限が付与されるようになりました。
これにより「最小特権モデル」では、管理モードが削除され軽量や完全モードという管理がなくなりました。
SQL Server のトラブル解析に Bing AI (Bing チャット) / ChatGTP を活用することはできるのかが気になったので簡単にではありますが試してみました。
プロンプトの組み方によってはもっと精度を上げることもできるのかとは思いますが、今回はシンプルな自然言語の入力で試しています。
従来からの SSMS (18.x まで) でも Azure Active Directory 認証をサポートしていました。
SSMS 19.x でも引き続き Azure Active Directory 認証をサポートしていますが、認証方式が強化されました。
新しく次の認証方式が追加されています。
サービスプリンシパルとマネージド ID は今まではアプリケーションから使用する目的が多かったかと思いますが、最新の SSMS を使用することで対話型ログインでもこれらの資格情報を使用することができます。
SQL Server 2022 の Azure Active Diretory 認証 でもこれらの資格情報を使用することも可能となっています。
SQL Server 2022 / Azure SQL Managed Instance では、Azure Active Directory ユーザーを使用した認証を実施することができます。
設定をする際には、最初の管理者アカウントを設定する必要がありますが、このアカウントには Azure Active Directory グループを指定することもできますので、最初の管理者にはグループを追加し、以降はグループのメンバーをメンテナンスすることで管理者を設定する運用も可能となっています。
このような「Azure Active Directory のグループを介してメンバーに権限を付与する」場合、データベースメールの利用にはいくつか気を付ける点がありますので、それをまとめておきたい思います。
Managed Instance で問題が発生している場合、同様の設定をした SQL Server 2022 でも問題が発生する可能性が高いので、デバッグにしては様々な情報を取得できる SQL Server 2022 のほうが容易かもしれません。
私もきちんと理解できておらず、最近まで把握できていなかったのですが、Always Encrypted Secure Enclaves を使用するためには、HGS (Host Guardian Service) による構成証明は必須ではないようです。(実運用環境では構成したほうが良いと思いますが、機能検証をしたい場合には HGS を構成しなくても検証が可能です)
最近、SQL Database で VBS (Virtualization based security) Enclaves を使用した Always Encrypted のサポートがプレビューで開始され、次のアナウンスがありました。
これに伴い、Always Encrypted Secure Enclaves のドキュメントを見直していて必須でないことに気づきました。
SQL Server 2022 Standard / Enterprise では、従量課金 (PAYG) による SQL Server の利用が可能となり、従来の永続ライセンス (一括購入) の利用形態だけでなく、使用時間に応じた PAYG による利用が可能となりました。
本ブログでも次のような投稿でも SQL Server 2022 の PAYG について触れてきました。
この PAYG の仕組みについて、SQL Server 2022 だけでなく SQL Server 2012 以降も対象となる機能追加が、2023/1 から Azure Arc 対応 SQL Server で行われました。(SQL Server の従量課金制 では 2014 以降となっていますが、2012 以降が正しいと思います)
従量課金制 (PAYG) ライセンス オプションが SQL Server 2012 以降に拡張されました
2012~2019 を対象とした PAYG についてはまだ情報を確認している最中ですが、現状確認ができていることをまとめておきたいと思います。本利用形態はまだ情報が少ないので今後 MS の公式情報も増えていくのではないでしょうか。