SE の雑記

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

Archive for the ‘SQL Server 2022’ Category

SQL Server 2022 で SQL Server 構成マネージャーから別名を設定する方法

leave a comment

SQL Server 2022 では、SQL Server Native Client (SNAC) が削除され、SQL Server のインストールを行っても SNAC が含まれなくなりました。

本ブログでも SQL Server 2022 以降で別名を設定する方法 で取り上げましたが SQL Server 2022 で別名を GUI で設定する場合には「cliconfg.exe」を使用する必要があります。

最近知ったのですが、推奨はされないと思いますが SQL Server 2022 でも従来の方法で別名を設定することはできるようです。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 15th, 2024 at 9:54 am

SQL Server 2022 の blocked_report の出力内容の強化

leave a comment

SQL Server ではブロッキング (ロック競合) 情報を取得する方法として Blocked Process Report イベント クラス の情報を拡張イベントで取得するという手法があります。

SQL Server 2022 では、この情報に出力される内容が強化されていることに先日気づきました。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 6th, 2023 at 9:41 am

DBCC SHRINKFILE の WAIT_AT_LOWPRIORITY について

leave a comment

SQL Server 2022 / SQL Database / Managed Instance では、データベースのファイルサイズを削減するためのコマンドである、DBCC SHRINKFILEWAIT_AT_LOWPRIORITY というオプションが追加されました。

このオプションを使用した場合のデータファイルのサイズ縮小について動作を把握しておきたかったので、調べてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 21st, 2023 at 11:25 pm

SQL Server 2022 で追加された query_antipattern を使用したクエリ情報の取得

leave a comment

Bob Ward の SQL Server 2022 Hidden Gems で解説されているのですが、SQL Server 2022 ならびに Azure SQL Database では、query_antipattern という拡張イベントが追加されています。

MS のブログでも紹介されており、最近、新しい記事も公開されました。

この拡張イベントについて、本ブログでも触れておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 18th, 2023 at 5:30 pm

Manaed Instance の TDE が有効な DB を SQL Server 2022 にリストアする

leave a comment

先日書いた Manaed Instance の TDE を無効化した DB を SQL Server 2022 にリストアする際の注意点 の続きになり、厳密にはデータベース暗号化キーが含まれているデータベースを SQL Server 2022 にリストアする際の作業となります。

基本的な考え方については、Restoring a SQL Managed Instance database backup to SQL Server 2022 now GA の記載となり、必要な作業については Azure Key Vault を使用した SQL Server TDE 拡張キー管理を設定する となります。

Key Vault へのアクセスに使用されている、拡張キー管理 (Extensible Key Management : EKM) については、Windows でのみサポートされているため、SQL Server on Linux では使用することはできず、現時点では、MI で TDE が有効な DB については、リストア可能な環境は Windows のみに限定されています。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 11th, 2023 at 9:30 pm

Manaed Instance の TDE を無効化した DB を SQL Server 2022 にリストアする際の注意点

leave a comment

※Azure SQL Managed Instance から SQL Server 2022 へのリストアだけでなく、異なる SQL Server インスタンス間のリストアでも該当します。

Azure SQL Managed Instance (MI) で取得したバックアップについては、SQL Server 2022 にリストアすることができます。

MI からリストア可能なバックアップについては、ユーザーが任意のタイミングで取得したバックアップとなるので「COPY_ONLY」オプションを使用して取得したバックアップの必要があります。

MI で COPY_ONLY バックアップを取得するには条件があり、次のいずれかの条件を満たしている必要があります。

  1. TDE で暗号化されていないデータベース
  2. ユーザーマネージドキーを使用して TDE を設定している

「サービスマネージドキー」による TDE については、TDE のキーをユーザーが制御できないものとなるため、サービスマネージドキーを使用し TDE を実行している DB については、COPY_ONLY バックアップを取得することができません。

今回は「1.」で記載した TDE を無効にした状態のバックアップを SQL Server 2022 にリストアする際の注意点となります。

「2.」についても、SQL Server 2022 にリストアすることができるのですが、SQL Server 2022 では、Azure Key Vault を使用した SQL Server TDE 拡張キー管理を設定する の設定で、ユーザーマネージドキーの Key Vault へのアクセスをする必要があり、こちらはこちらで面倒ではあるのですが、それについては別の投稿で書こうと思います。

本投稿で対象としている TDE の無効化ですが、「TDE を有効にしている DB で、TDE を無効に変更」した場合が該当します。
「最初から TDE を無効の状態にしている DB」については、本投稿の事象は発生しません。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 10th, 2023 at 3:15 pm

SQL Server 2022 hidden gems: query_abort を使用したクエリのエラー原因の取得

leave a comment

SQLBits 2023 の Bob Ward の SQL Server 2022 hidden gems で紹介されていたのですが、SQL Server 2022 で追加された query_abort という拡張イベントが、今後の SQL Server でエラーの原因を取得する際に活用できそうでしたので情報を残しておこうと思います。

この拡張イベントについては SQL Server 2022 Revealed でも触れられています。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 14th, 2023 at 9:57 pm

SQL Server 2022 / Managed Instance のリンクサーバーでの SQLNCLI の利用について

leave a comment

最近、SQL Server のリンクサーバーのプロバイダーを見ていて気づいたのですが、SQL Server 2022 では、SQLNCLI11 がリンクサーバーのプロバイダーから削除されていました。

左が SQL Server 2022 / 右がそれより前のバージョンの SQL Server のリンクサーバーのプロバイダーとなるのですが、2022 では SQLNCLI11 が削除されていますね。

image

最近、次のアナウンスが行われ、Managed Instance でも SQLNCLI (SNAC) に対しての対応が行われたようです。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 6th, 2023 at 9:50 pm

SQL Server 2022 を使用した Parquet / Delta Lake の操作について

leave a comment

SQL Server 2022 では、Parquet ファイルの取り扱いの柔軟性と Delta Lake サポートが追加されています。

SQLBits 2023 の Bob Ward の 「SQL Server 2022 hidden gems」というセッションの中で、SQL Server 2022 の CETAS を使用してオブジェクトストレージに Parquet ファイルをエクスポートすることでテーブルのアーカイブを行うというシナリオの説明があり、このあたりの動作を一度まとめておきたいと思い、本投稿でまとめてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 26th, 2023 at 10:19 am

Posted in SQL Server 2022

Tagged with

SQL Server 2022 の PAYG による従量課金の仕組みを把握する

leave a comment

SQL Server 2022 から従来からのライセンス買い切りによる購入形態だけでなく、PAYG による従量課金によるコアライセンスの活用ができるようになりました。

SQL Server 2022 で使用する場合には、エディション選択時に「Microsoft Azure を通じて従量課金制の課金を使用します」を選択することで、Azure のコストとして PAYG による SQL Server の利用ができるようになります。
image

このライセンスの利用形態では、Azure Arc 対応 SQL Server を使用して Azure に接続を行うことで従量課金によるコストが発生します。

コストの発生の条件については、Azure Arc 対応 SQL Server に関するよくあるご質問 に記載されています。

基本的な考え方としては次のようになるかと思います。

  • SQL Server のサービスが起動している時間に応じて課金が発生
  • 課金の粒度は 1 時間単位となっており、1 時間未満の起動でも 1 時間のコストが発生
  • コアライセンスでの利用となるため、最小コアライセンスは 4 コアライセンスとなり、以降は 2 コアパックでの増加
    • Pay-as-you-go  に書かれているのは 1 コアあたりの料金となり、1 コアで動かしていても 4 コア分のライセンスとなります

SQL Server 2022 ではコアライセンスに変更があり、次の情報に記載があります。

これらの情報には次の記載があります。

Beginning with SQL Server 2022, licensing by virtual machine is an option under subscription licenses or licenses with Software Assurance only.

製品条項を 2019 と比較するとわかりやすいのですが、2022 では個別の仮想マシンでコアライセンスを使用する場合の条件が変更されており、「サブスクリプションライセンスまたは、アクティブな SA 付きライセンスでのみ利用可能」が追加されています。

image

Enterprise Edition を使用して、ハイパーバイザーの物理コアのライセンスを取得し、それを使用して仮想マシンにライセンスを割り当てる形態は従来通りとなりますが、仮想マシンに直接ライセンスを割り当てる形態については、2019 までと比較して制限が追加されているようです。

これにより、PAYG によるサブスクリプションライセンスを検討しなくてはいけないケースが出てくるかもしれませんね。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 9th, 2023 at 9:37 pm