SQL Serverは、マイクロソフトの主要なエンタープライズデータベースプラットフォームです。しかし、今日の急速なリリースと継続的な更新の世界では、新しいSQL Server 2022リリースは長く感じられます。しかし、いくつかの素晴らしい新機能が含まれています。SQL Server 2019は、SQL Serverの最後の大規模リリースでした。マイクロソフトは、各リリースでSQL Serverエンジンの最適化を継続しています。今日、ほとんどのSQL ServerイノベーションはAzureクラウドで始まり、その後、オンプレミス版のSQL Serverに移行します。では、SQL Server 2022のアップカミングエディションとその新機能を詳しく見てみましょう。
SQL Server 2022の新機能
SQL Server 2022の新機能には以下が含まれます:
- パラメーターに敏感な計画の最適化
- クエリストアの拡張
- Azure SQL Managed Instanceへのリンク
- Contained Availability Groups
- SQLのためのAzure Synapse Link
- マルチライトレプリケーション
- Azure Active Directory認証
- Azure Purviewの統合
- SQL Server Ledger
- AWS S3ストレージの統合
それぞれを詳しく見てみましょう。
パラメーターに敏感なプランの最適化
これは、アプリケーションコードを変更せずに既存のワークロードのパフォーマンスを向上させるために設計された新しいインテリジェントなクエリ処理の強化です。以前、SQL Serverは格納されている各ストアドプロシージャに対して単一のプランをキャッシュしました。これは、一連のパラメータに基づいており、パラメータのスニッフィングと呼ばれていました。ただし、一部のパラメータ指定クエリは、使用される入力パラメータの値に敏感です。生成されたプランは、そのパラメータが取る可能性のあるすべての値に対して最適ではありませんでした。新しいパラメーターに敏感なプランの最適化は、単一のパラメータ指定クエリに対してプランキャッシュ内に複数のアクティブな実行プランをキャッシュします。これらのキャッシュされた実行プランは、提供されたランタイムパラメータ値に基づいて異なるデータサイズを収容します。PSPの最適化を有効にするには、使用しているデータベースの互換性レベルを160に設定する必要があります。
クエリストアの強化
クエリストアは、パフォーマンスの履歴を追跡し、クエリプランやパフォーマンスの問題をトラブルシューティングするのに役立つパフォーマンス機能です。以前のリリースでは、クエリストアを手動で有効にする必要がありました。SQL Server 2022では、新しいデータベースではクエリストアがデフォルトで有効になり、クエリのインテリジェンスと洞察が向上します。クエリストアは、可用性グループの読み取り専用レプリカでもサポートされるようになり、読み取り専用ワークロード向けのパフォーマンス分析が向上します。また、クエリストアヒントを使用して、アプリケーションコードを変更せずにクエリプランを整形し、クエリ実行を向上させることができます。以前は、クエリストアヒントはAzure SQLデータベースとAzure SQL Managed Instanceでのみ利用可能でした。
Azure SQL Managed Instanceへのリンク
おそらくお分かりのように、Azure SQL Managed Instanceへのリンクは、可用性を向上させるために設計されたハイブリッドクラウド機能です。SQL Server 2022とAzure SQL Managed Instanceのリンク機能間でほぼリアルタイムのデータレプリケーションを提供します。これにより、Azureの読み取り専用セカンダリにワークロードを移行し、それらのワークロード向けにクラウドのパフォーマンスとスケーリングを活用することができます。

必要なダウンタイムを最小限に抑えてデータベースを移行するためにも使用できます。 Azure Managed Instanceへのリンク は、SQL Server 2019 EnterpriseおよびDeveloper Edition、およびSQL Server 2016 Enterprise、Developer、およびStandard Editionでサポートされています。 この機能は分散可用性グループのテクノロジーに基づいています。 ただし、可用性グループの設定や構成は必要ありません。 現在、SQL ServerからAzure SQL Managed Instanceへのユーザーデータベースのレプリケーションは一方通行です。 そして、ユーザーデータベースとのみ使用できます。 SQL Managed InstanceからのユーザーデータベースをSQL Serverにレプリケーションすることはできませんが、移行されたデータベースをSQL Server 2022オンプレミスに復元することはできます。 Microsoftが述べています 、Azure SQL Managed InstanceのLink機能の双方向災害復旧(DR)フェイルオーバー機能の一般提供性は、SQL Server 2022の一般提供性の後にリリースされる予定です。
Contained Availability Groups
他の可用性機能、コンテインド可用性グループは、以前の可用性グループ(AG)のバージョンで見られた制限に対処します。AGは、クラスタ内の異なるノードにレプリケートされる一つ以上のユーザーデータベースから構成され、それらが連携して動作することを意図しています。プライマリコピーをホストするノードで障害が発生した場合、AG内のデータベースは単位として別のレプリカノードに移動します。以前のAGのバージョンにはユーザーやログイン、アクセス許可などの他のオブジェクトが含まれていませんでした。これにより、管理者はこれらのオブジェクトがAG内のすべてのレプリカインスタンスに重複していることを手動で確認する必要がありました。コンテインド可用性グループは、マスターやmsdbデータベースの関連部分を含むレプリケートされるデータベースのグループの概念を拡張します。コンテインドAG環境には、アプリケーションに影響する設定が含まれています。ユーザー、ログイン、アクセス許可、およびSQL Agentのジョブなどを、可用性グループ内の専用のコンテインドシステムデータベースを使用してAGレベルで確認します。ユーザーデータベースと同様に、これらのオブジェクトはAG内のレプリカ間で自動的に一貫性を持ちます。これにより、管理者が異なるAGレプリカ間でこれらのオブジェクトを手動で作成および更新する必要がなくなります。
Azure Synapse Link for SQL
Azure Synapse Link for SQLは、SQL ServerリレーショナルデータのETLフリー(抽出、変換、ロード)のリアルタイム分析とレポート機能を提供する新しい分析機能です。これは、SQL Server 2022のデータベースへの変更をキャプチャし、それらをAzure Synapse Analyticsにリアルタイム分析のために供給します。SQL Server 2022リレーショナルデータベースとAzure Synapse Analytics専用SQLプール間でシームレスな統合が実現されています。

これは、Azure SQL DatabaseやSQL Server 2022からAzure Synapse Analyticsにデータを継続的にレプリケートすることで機能します。この統合により、ソースデータベースへの影響を最小限に抑えながら、運用データで分析、ビジネスインテリジェンス、および機械学習シナリオを実行できます。さらに、ETLプロセスを必要としません。
マルチライトレプリケーション
SQL Server 2022のMulti-Write Replicationは、複製の競合解決のために最終更新者が優先されるルールを自動化します。SQL Serverの以前のバージョンでは、異なる複製に書き込まれたデータ間で競合が発生した場合、競合を手動で解決する必要がありました。Multi-Write Replicationは最終書き込みが優先されるルールを実装することで、この問題を解決します。複製間で競合が発生した場合、最後に書き込まれたものが優先され、すべての複製に書き込まれます。Multi-Write Replicationはタイムゾーンの問題を回避するためにUTC時間で記録されたタイムスタンプを使用します。
Azure Active Directory 認証
SQL Serverの以前のバージョンでは、ハイブリッドAzure環境でSQL Serverを使用している場合でも、Windows Server Active Directory(AD)またはSQL Server認証を使用する必要がありました。SQL Server 2022では、SQL Server 2022接続にAzure AD認証を使用できます。
Azure Purview 統合
Azure PurviewはAzureで実行される統合されたデータガバナンスおよび管理サービスです。 SQL Server 2022はMicrosoft Purviewと統合され、より大規模なデータ検出を可能にし、データのサイロを解体し、アクセス制御のためのポリシー管理を提供します。 Purviewは、組み込みおよびカスタムの分類子、Microsoft Information Protectionの機密性ラベルを使用してデータを分類できます。
SQL Server Ledger
SQL Ledgerは、最初にAzure SQLデータベースで導入され、後にSQL Server 2022に移された別の機能です。 SQL Ledgerはブロックチェーンを使用してデータベースへの変更を検証します。データの暗号的リンクを維持し、変更をブロックチェーン構造で暗号化して不変のデータレコードを維持することを可能にします。データ改ざんを示し、データを検証可能にします。

Ledgerは、顧客が監査を効率化できるよう支援し、データ完全性の暗号的証拠を監査人に提供し、手動のフォレンジックが必要なくします。 Ledgerは、データベース内の行が更新されると、その以前の値を保持し、履歴テーブルで保護します。 Ledgerはデータベースに行われたすべての変更の履歴を提供します。
AWS S3ストレージ統合
SQL Server 2022は新しいオブジェクトストレージ統合を提供し、Azure Storageに加えてSQL ServerをAWS S3互換のオブジェクトストレージと統合できるようになりました。SQL Serverには新しいS3コネクタが追加されています。これはS3 REST APIを使用して、S3互換のオブジェクトストレージのプロバイダーに接続します。SQL Server 2022は、既存のBACKUP/RESTORE TO/FROM URL構文を拡張し、S3 REST APIを使用した新しいS3コネクタのサポートを追加しています。Amazon、Cloudian、Dell、Hitachi、HPE、Netapp、Nutanix、Pure Storage、Red Hatなど、多くのクラウドベンダーがS3ストレージを提供しています。
Linux上のSQL Server 2022
SQL Server 2017から、MicrosoftはLinux用のSQL Serverバージョンをリリースしました。SQL Server on Linuxは基本的にWindowsバージョンのSQL Serverと同じコアのリレーショナルデータベースエンジンを提供しています。そして、Red Hat、SUSE、Ubuntuなどの人気のあるLinuxディストリビューションで動作します。両バージョン間のリレーショナルエンジンとパフォーマンス機能は基本的に同じです。そして、SQL ServerをコンテナやKubernetesで実行したい場合は、Linuxバージョンを使用する必要があります。 WindowsエディションとLinuxエディションの間の違いは、新リリースごとに少なくなっていますが、まだSQL Server 2022 for Linuxに含まれていない機能がかなりあります。この記事でカバーされる新機能も含まれています。Linux版SQL Server 2022に含まれていない主な機能は:
- Azure Arcエージェント
- Azure Synapse Link
- Microsoft Purview統合
- マージレプリケーション
- Stretch DB
- SQL Server以外のデータソースへのリンクサーバー
- システム拡張ストアドプロシージャ(xp_cmdshellなど)
- FileTable、FILESTREAM
- EXTERNAL_ACCESSまたはUNSAFE権限セットでのCLRアセンブリ
- Buffer Pool Extension
- SQL Server Agentのサブシステム:CmdExec、PowerShell、Queue Reader、SSIS、SSAS、SSRS
- アラート
- データベースミラーリング
- リンクされたサーバーのためのWindows 統合認証
- 可用性グループ(AG)エンドポイントのためのWindows 統合認証
- Azure Active Directory 認証
- 安全なエンクロージャを使用した常時暗号化
- StreamInsight
- 分析サービス
- レポート サービス
- データ品質サービス
- マスター データ サービス
SQL Server 2022 エディション
SQL Server 2022 は、以前の数リリースと同じSQL Server のエディションに従い続けます。
- エンタープライズ – ハイエンド データセンター向けに設計されたエンタープライズ エディションは、ミッション クリティカルなワークロードのための最高水準のパフォーマンスとスケーラビリティを提供します。CPU と RAM のオペレーティング システム最大値をサポートします。8 ノードの可用性グループに完全なサポートがあります。
- スタンダード – スタンダード エディションは、部門や小規模組織向けの基本的なデータ管理を提供します。4 ソケットまたは 24 コア、128 GB の RAM のいずれかに制限されています。2 ノードの基本的な可用性グループをサポートします。
- Web – Web ホスティング プロバイダー向けに意図された Web エディションは、小規模から大規模な Web プロパティに対してスケーラビリティ、手頃な価格、および管理性を提供します。4 ソケットまたは 16 コア、64 GB または RAM のいずれかに制限されています。
- 開発者向け – SQL Serverをバックエンドデータベースとして使用してアプリケーションを構築するために設計されています。Enterpriseエディションのすべての機能が含まれていますが、開発およびテストシステムとしてのみ使用するためにライセンスされています。本番のワークロードには使用できません。
- Express – エントリーレベルの無料データベースで、Expressエディションは学習ツールとして使用することを意図しています。デスクトップおよび小規模サーバーアプリケーションの構築にも適しています。最大1ソケットまたは4コア、1410 MBのRAMに制限されており、最大データベースサイズは10 GBです。
SQL Server 2022は引き続きWindowsとLinuxの両方で利用可能です。また、同じエディションがWindowsとLinuxの両方でサポートされています。ただし、Linuxエディションでは利用できない機能がいくつかあります。両プラットフォームで利用可能な機能の主な違いについては、上記の機能セクションにリストされています。
SQL Server 2022でのハンズオン
この執筆時点では、SQL Server 2022 はまだプレビュー段階です。しかし、Microsoft は2022 年後半に一般提供される予定であることを発表しました。過去に、Microsoft は SQL Server の新リリースを PASS Summit conference と同時に発表することがよくあります。そして、今年のカンファレンスは11月に予定されています。SQL Server 2022 を実際に使用してみたい場合は、Introducing SQL Server 2022 から SQL Server 2022 プレビュー版をダウンロードできます。 SQL Server Linux container image on Docker Hub で Ubuntu コンテナも試すことができます。また、180 日間の無料トライアルで Azure 上で SQL Server を試すこともできます。その方法は SQL Server 2022 or Windows Server 2022 を参照してください。SQL Server 2022 を インストールする方法については、Petri のガイドをご覧ください!また、Microsoft のウェブサイトには SQL Server 2022 の 新機能の完全なリストも掲載されています。
関連記事: