適用対象: SQL Server 2022 (16.x)
SQL Server 2022 (16.x) は以前のリリースに基づいて構築され、開発言語、データ型、オンプレミスまたはクラウド環境、オペレーティング システムを選択できるプラットフォームとしての SQL Server がいっそう成長しています。
次のビデオでは、SQL Server 2022 (16.x) を紹介しています。
その他のビデオ コンテンツについては、以下を参照してください。
この記事では、SQL Server 2022 (16.x) の新機能と拡張機能について要約します。
SQL Server 2022 (16.x) を取得する
SQL Server 2022 Evaluation Edition を取得する 。 ビルド番号: 16.0.1000.6
詳細および既知の問題については、「SQL Server 2022 リリース ノート 」をご覧ください。
SQL Server 2022 (16.x) での最善のエクスペリエンスのために、最新のツール を使用してください。
次のセクションでは、SQL Server 2022 (16.x) で強化された、または導入された機能について説明します。
テーブルを展開する
新機能または更新
詳細
Azure Synapse Link for SQL
SQL Server 2022 (16.x) でオペレーショナル データをほぼリアルタイムで分析できます。 SQL Server 2022 (16.x) および Azure Synapse Analytics 専用 SQL プールの運用ストア間のシームレスな統合により、Azure Synapse Link for SQL では、新しい変更フィード テクノロジを使用するソース データベースへの影響を最小限に抑えて、運用データに対して分析、ビジネス インテリジェンスおよび機械学習のシナリオを実行できます。 詳細については、SQL 用 Azure Synapse Link の概要 に関する記事を参照してください。Azure Synapse Link for SQL の制限事項と既知の問題 も参照してください。
オブジェクト ストレージの統合
SQL Server 2022 (16.x) では、データ プラットフォームに新しいオブジェクト ストレージ統合が導入され、Azure Storage に加えて、SQL Server と S3 互換オブジェクト ストレージを統合できます。 1 つ目は URL へのバックアップ 、2 つ目は Data Lake Virtualization です。 Data Lake Virtualization は、PolyBase を S3 互換のオブジェクト ストレージ と統合し、T-SQL を使用して parquet ファイルをクエリするためのサポートを追加します。
データの仮想化
SQL Server からさまざまな種類のデータ ソースにあるさまざまな種類のデータに対するクエリを実行します。 SQL Server 2022 (16.x) の累積的な更新プログラム 2 に、Oracle TNS ファイルのサポートが導入されることになりました。 詳細とサンプルについては、「CREATE EXTERNAL DATA SOURCE (Transact-SQL) CONNECTION_OPTIONS」 を参照してください。
テーブルを展開する
新機能または更新
詳細
Azure SQL Managed Instance へのリンク
ディザスター リカバリーおよび移行に対して、SQL Server インスタンス間でデータを Azure SQL Managed Instance にレプリケートします。 マネージドインスタンスの概要リンク を参照してください。
包含可用性グループ
次のことを行う Always On 可用性グループを作成します。 - インスタンス レベルに加え、可用性グループ レベルで独自のメタデータ オブジェクト (ユーザー、ログイン、アクセス許可、SQL Agent ジョブなど) を管理する。 - 可用性グループ内に特殊な包含システム データベースが含まれる。 詳細については、「包含可用性グループとは 」を参照してください。
分散型可用性グループ
Tcp 待機時間が長いリモート リンク間のネットワーク帯域幅使用率を向上させるために、複数の TCP 接続を使用するようになりました。
バックアップ メタデータの改善
backupset
システム テーブルから、最後の有効な復元時間が返されます。 backupset を参照してください。
テーブルを展開する
テーブルを展開する
新機能または更新
詳細
システム ページ ラッチのコンカレンシーの機能強化
グローバル アロケーション マップ (GAM) ページと共有グローバル アロケーション マップ (SGAM) ページへの同時更新により、データ ページとエクステントの割り当てまたは割り当て解除中のページ ラッチの競合が軽減されます。 これらの機能強化は、すべてのユーザー データベースに適用され、tempdb
の負荷の高いワークロードに特に役立ちます。
バッファー プールの並列スキャン
複数の CPU コアを利用することで、大容量メモリ マシンでのバッファー プール スキャン操作のパフォーマンスを向上させます。 「バッファ プール スキャンをトリガーする操作は、大容量メモリを搭載したコンピュータでは実行速度が遅くなる可能性がある」 について詳しく学習します。
順序付けされたクラスター化列ストア インデックス
順序付けされたクラスター化列ストア インデックス (CCI) は、インデックス ビルダーによりデータがインデックス セグメントに圧縮される前に、メモリ内の既存のデータを並べ替えます。 これにより、より効率的なセグメント除去が可能になり、ディスクから読み取るセグメントの数が減るため、パフォーマンスが向上します。 詳細については、「CREATE COLUMNSTORE INDEX」 および「列ストア インデックスの新機能とは?」 を参照してください。 「順序指定クラスター化列ストア インデックスを使用したパフォーマンス チューニング 」を参照してください。
列ストア セグメントの削除の改善
すべての列ストア インデックスで、データ型によるセグメントの削除が拡張されました。 データ型の選択は、列ストア インデックスに対するクエリの一般的なフィルター述語に基づくクエリ パフォーマンスに大きな影響を与える可能性があります。 このセグメントの削除は、数値、日付、時刻のデータ型、およびスケールが 2 以下の datetimeoffset データ型に適用されます。 SQL Server 2022 (16.x) からは、セグメントの削除機能が、文字列、バイナリ、guid データ型、およびスケールが 2 より大きい datetimeoffset データ型まで拡張されます。
インメモリ OLTP 管理
メモリ不足状態を減らすために、大容量メモリ サーバーでのメモリ管理を改善します。
仮想ログ ファイルの増加
以前のバージョンの SQL Server では、次の増加が現在のログ サイズの 1/8 を超え、増加が 64 MB 未満の場合、4 つの VDF が作成されました。 SQL Server 2022 (16.x) では、この動作が若干異なります。 増加が 64 MB 以下で、現在のログ サイズの 1/8 を超える場合は、1 つの VLF のみが作成されます。 VLF の増加について詳しくは、「仮想ログ ファイル (VLF) 」を参照してください。
スレッドの管理
- ParallelRedoThreadPool
: 再実行作業をしているすべてのデータベースで共有される、インスタンス レベルのスレッド プール。 これにより、各データベースで並列再実行のベネフィットが得られます。 並列再実行スレッド プールを使用すると、複数のスレッドで 1 つのデータベースのログ レコードを同時に (並列で) 処理できます。 以前のバージョンでは、再実行に使用できるスレッド数は 100 に制限されていました。 - ParallelRedoBatchRedo
: ログ レコードの再実行が 1 つのラッチの下でバッチ処理されるため、速度が向上します。 これにより、復旧、キャッチアップ再実行、クラッシュ復旧再実行が改善されます。
バッファー プール I/O プロモーションの削減
ストレージからバッファー プールにデータを取り込む際に 1 ページを 8 ページに昇格させるというインシデントが削減され、それによって不要な I/O が発生しました。 バッファー プールは、先読みメカニズムによって、より効率的に設定できます。 この変更は、SQL Server 2022 (すべてのエディション) で導入され、Azure SQL Database と Azure SQL Managed Instance に含められています。
強化されたスピンロック アルゴリズム
スピンロックは、エンジン内で複数のスレッドについて一貫性に大きな役割を果たします。 データベース エンジンの内部調整により、スピンロックの効率が高くなります。 この変更は、SQL Server 2022 (すべてのエディション) で導入され、Azure SQL Database と Azure SQL Managed Instance に含められています。
仮想ログ ファイル (VLF) アルゴリズムの改善
仮想ファイル ログ (VLF) は、物理的なトランザクション ログを抽象化したものです。 ログの拡張に基づいて小さな VLF を多数用意すると、リカバリなどの操作のパフォーマンスに影響を与える可能性があります。 特定のログ拡張シナリオ中に作成される VLF ファイルの数について、アルゴリズムを変更しました。 SQL Server 2022 (16.x) で、このアルゴリズムがどのように変更されたかについて、詳しくは、「仮想ログ ファイル (VDF) 」を参照してください。 この変更は、SQL Server 2022 (すべてのエディション) で導入され、Azure SQL Database に含まれています。
トランザクション ログ ファイルの拡張イベントにおけるファイルの瞬時初期化
一般に、トランザクション ログ ファイルは、ファイルの瞬時初期化 (IFI) の恩恵を受けることはできません。 SQL Server 2022 (16.x) (すべてのエディション) 以降と Azure SQL Database では、ファイルの瞬時初期化によって、トランザクション ログの拡張イベント に最大 64 MB まで利用できます。 新しいデータベースのデフォルトの自動拡張サイズの拡張は 64 MB です。 64 MB を超えるトランザクション ログ ファイルの自動拡張イベントについては、ファイルの瞬時初期化の恩恵を得ることができません。 詳細については、「データベース ファイルの瞬時初期化 」を参照してください。
インテリジェントなクエリ処理 (IQP) 機能ファミリには、実装の労力は最小限で既存のワークロードのパフォーマンスを改善する機能が含まれています。
テーブルを展開する
新機能または更新
詳細
セカンダリ レプリカのクエリ ストア
セカンダリ レプリカのクエリ ストアにより、プライマリ レプリカで使用できるセカンダリ レプリカ ワークロードで同じクエリ ストア機能が有効になります。 詳細については、「セカンダリ レプリカのクエリ ストア 」を参照してください。 詳細については、この記事の後述の「クエリ ストアの改善 」を参照してください。
クエリ ストアのヒント
クエリ ストアのヒント では、クエリ ストアを使用して、アプリケーション コードを変更せずにクエリ プランを形成する方法を提供します。 これまでは Azure SQL Database と Azure SQL Managed Instance でのみ使用できましたが、クエリ ストアのヒントは SQL Server 2022 (16.x) で使用できるようになりました。 クエリ ストアを有効にし、"読み取り、書き込み" モードにする必要があります。
メモリ許可フィードバック
メモリ許可フィードバックは、過去のパフォーマンスに基づいてクエリに割り当てられるメモリのサイズを調整します。 SQL Server 2022 (16.x) では、パーセンタイルと永続化モードのメモリ許可フィードバック が導入されています。 クエリ ストアを有効にする必要があります。 - 永続化 : キャッシュ削除後にフィードバックを再利用できるように、特定のキャッシュされたプランのメモリ付与フィードバックをクエリ ストアに保持できるようにする機能。 永続化の利点は、メモリ許可フィードバックと、新しい DOP と CE フィードバック機能です。 - パーセンタイル : 新しいアルゴリズムは、直前のクエリ実行からのメモリ許可だけでなく、以前のいくつかのクエリの実行からメモリ許可情報を使用して、メモリ要件が大きく変動するクエリのパフォーマンスを向上させます。 クエリ ストアを有効にする必要があります。 クエリ ストアは、SQL Server 2022 CTP 2.1 の時点で、新しく作成されたデータベースに対してデフォルトで有効になっています。
パラメーターに依存するプランの最適化
単一のパラメーター化されたステートメントに対して、複数のアクティブなキャッシュされたプランを自動的に有効にします。 キャッシュされた実行プランは、顧客が指定したランタイム パラメーター値に基づいて、大きく異なるデータ サイズに対応します。 詳細については、「パラメーターに依存するプランの最適化 」を参照してください。
並列処理の次数 (DOP) のフィードバック
新しいデータベース スコープ構成オプション DOP_FEEDBACK
では、クエリを繰り返す並列処理の次数が自動的に調整され、過剰な並列処理によってパフォーマンスの問題が発生するおそれがあるワークロードに合わせて最適化されます。 Azure SQL Database での最適化に似ています。 クエリ ストアを有効にし、"読み取り、書き込み" モードにする必要があります。 RC 0 以降では、すべてのクエリ再コンパイル SQL Server により、既存のフィードバックを使用したクエリのランタイム統計と、既存のフィードバックを使用した以前のコンパイルのランタイム統計が比較されます。 パフォーマンスが低下している場合は、すべての DOP フィードバックをクリアし、コンパイル済みの DOP からクエリの再分析をトリガーします。 「並列処理の次数 (DOP) のフィードバック 」を参照してください。
カーディナリティ推定のフィードバック
これらの問題が不適切な推定モデルの前提条件によって引き起こされた場合に、クエリを繰り返す最適でないクエリ実行プランを識別して修正します。 クエリ ストアを有効にし、"読み取り、書き込み" モードにする必要があります。 「カーディナリティ推定 (CE) のフィードバック 」を参照してください。
プラン強制の最適化
コンパイル再生を使用して、繰り返し不能なプランのコンパイル手順を事前にキャッシュすることで、強制プラン生成のコンパイル時間を短縮します。 詳細については、クエリ ストアによるプラン強制の最適化 に関するページを参照してください。
テーブルを展開する
新機能または更新
詳細
SQL Server 用 Azure 拡張機能の統合されたセットアップ エクスペリエンス
セットアップ時に SQL Server 用の Azure 拡張機能をインストールします。 Azure 統合機能に必要です。 詳細については、次を参照してください。 - コマンド プロンプトからの SQL Server のインストール - SQL Server をインストール ウィザードからインストールする (セットアップ) .
SQL Server 用 Azure 拡張機能を管理する
SQL Server 構成マネージャーを使って、SQL Server 用 Azure 拡張機能サービスを管理します。 Azure Arc によって有効化された SQL Server インスタンスの作成や、その他の Azure 接続機能のために必要です。 「SQL Server 構成マネージャー 」を参照してください。
最大サーバー メモリの計算
セットアップ中に、SQL セットアップでは、文書化された推奨事項に合わせて最大サーバー メモリの値が推奨されます。 基になる計算は、推奨されるサーバー メモリ構成オプション を反映するために、SQL Server 2022 (16.x) では異なっています。
高速データベース復旧 (ADR) の改善
永続バージョン ストア (PVS) ストレージに対処し、全体的なスケーラビリティを向上させるためにいくつかの点が改善されました。 SQL Server 2022 (16.x) は、マルチスレッドの永続バージョン ストア クリーナーを実装します。 PVS ページ トラッカーのメモリ占有領域が改善されました。 また、クリーンアップ プロセスをより効率的に機能させるのに役立つコンカレンシーの向上など、ADR の効率の向上も多数あります。 ADR では、ロックのために以前にクリーンアップできなかったページをクリーンアップします。SQL Server 2022 (16.x) での ADR の機能強化 に関するページを参照してください。
スナップショット バックアップのサポートの強化
VDI クライアントを必要とせずに、Transact-SQL の I/O の凍結と解凍のサポートを追加します。 Transact-SQL スナップショット バックアップを作成します 。
データベースの縮小 WAIT_AT_LOW_PRIORITY
以前のリリースでは、領域を再利用するためにデータベースとデータベース ファイルを圧縮すると、コンカレンシーの問題が発生することがよくあります。 SQL Server 2022 (16.x) では、縮小操作 (DBCC SHRINKDATABASE と DBCC SHRINKFILE) の追加オプションとして WAIT_AT_LOW_PRIORITY が追加されます。 WAIT_AT_LOW_PRIORITY を指定する場合、Sch-S または Sch-M ロックを必要とする新しいクエリは、縮小操作で待機を停止して実行を開始するまで、待機中の縮小操作によってブロックされません。 「データベースの縮小 」と「ファイルの縮小 」を参照してください。
XML 圧縮
XML 圧縮では、XML 列とインデックスの両方の行外 XML データを圧縮する方法が提供され、容量要件が向上します。 詳細については、「CREATE TABLE 」および「CREATE INDEX」 を参照してください。
統計の非同期的自動更新コンカレンシー
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY
データベース スコープ構成 を有効にする場合は、非同期統計更新を使用して潜在的な同時実行の問題を回避します。
S3 互換オブジェクト ストレージのバックアップと復元
SQL Server 2022 (16.x) では、REST API を使用する新しい S3 コネクタのサポートを追加することで、BACKUP
/RESTORE
TO
/FROM
URL
構文が拡張されます。 「URL へのバックアップ 」を参照してください。
テーブルを展開する
新機能または更新
詳細
SQL Server Native Client (SNAC) が削除されました
SQL Server Native Client (SNAC) は同梱されていません。
SQL Server 2022 (16.x) 以降のバージョン
SQL Server Management Studio (19 以降のバージョン) の場合
SQL Server Native Client (SQLNCLI または SQLNCLI11) とレガシ Microsoft OLE DB Provider for SQL Server (SQLOLEDB) は、新しいアプリケーション開発には推奨されません。新しいプロジェクトの場合は、次のいずれかのドライバーを使用します。
SQL Server データベース エンジン (バージョン 2012 から 2019) のコンポーネントとして付属する SQLNCLI については、この「サポート ライフサイクルの例外 」を参照してください。
直接書き込みのハイブリッド バッファー プール
PMEM デバイス上に存在する変更されたデータまたはインデックス ページで実行する必要がある memcpy
コマンドの数を減らします。 この "エンライトメント " は現在、Windows 2022 および Linux で利用できます。 詳細については、「直接書き込みのハイブリッド バッファー プール 」と「Windows 上の SQL Server の永続メモリ (PMEM) を構成する 」を参照してください。
統合アクセラレーションとオフロード
SQL Server 2022 (16.x) は、Intel などのパートナーのアクセラレーション テクノロジを使用して拡張機能を提供します。 リリース時に、Intel® QuickAssist Technology (QAT) によってバックアップ圧縮とハードウェア オフロードが提供されます。 詳細については、「統合アクセラレーションとオフロード 」を参照してください。
最適化の改善
SQL Server 2022 (16.x) では、バッチ モード操作を改善するために、Advanced Vector Extension (AVX) 512 拡張機能などの新しいハードウェア機能が使用されます。 トレース フラグ 15097 が必要です。 「DBCC TRACEON - トレース フラグ (Transact-SQL) 」を参照してください。
テーブルを展開する
テーブルを展開する
SQL Machine Learning Services
SQL Server 2022 (16.x) 以降、R、Python、Java のランタイムは SQL セットアップでインストールされなくなりました。 代わりに、必要なカスタム ランタイムとパッケージをインストールします。 詳細については、Windows への SQL Server 2022 Machine Learning Services (Python と R) のインストール に関する説明、または「Linux に SQL Server 2022 Machine Learning Services (Python と R) をインストールする 」を参照してください。
このセクションでは、前に説明した機能に関する追加情報を提供します。
クエリ ストアは、より適切なパフォーマンス履歴の追跡、クエリ プランに関連する問題のトラブルシューティング、Azure SQL Database、Azure SQL Managed Instance、SQL Server 2022 (16.x) の新機能の有効化に役立ちます。 CTP 2.1 では、新しいデータベースに対してデフォルトで有効になっているクエリ ストアが導入されています。 クエリ ストアを有効にする必要がある場合は、「クエリ ストアを有効にする 」を参照してください。
他の SQL Server インスタンスから復元されたデータベースと、インプレース アップグレードから SQL Server 2022 (16.x) にアップグレードされたデータベースの場合、これらのデータベースでは以前のクエリ ストア設定が保持されます。
以前の SQL Server インスタンスから復元されたデータベースの場合は、互換性レベル設定で有効になっているインテリジェントなクエリ処理機能がいくつかあるため、個別にデータベース互換性レベルの設定 を評価します。
クエリ ストアによって発生する可能性があるオーバーヘッドが気になる場合、管理者はカスタム キャプチャ ポリシーを利用して、クエリ ストアでのキャプチャの内容をさらに調整できます。 カスタム キャプチャ ポリシーを使用すると、クエリ ストア キャプチャをさらに調整するのに役立ちます。 カスタム キャプチャ ポリシーを使用すると、キャプチャされるクエリとクエリの詳細をより選択的にすることができます。 たとえば、管理者は、最も負荷の高いクエリ、繰り返されるクエリ、または高いレベルのコンピューティング オーバーヘッドを持つクエリのみをキャプチャすることを選択できます。 カスタム キャプチャ ポリシー は、ワークロードで最も重要なクエリをクエリ ストアでキャプチャするのに役立つ場合があります。 STALE_CAPTURE_POLICY_THRESHOLD
オプションを除いて、これらのオプションは、定義された古いキャプチャ ポリシーしきい値でクエリがキャプチャされるために発生する必要のある OR 条件を定義します。 たとえば、QUERY_CAPTURE_MODE = AUTO
には次のような既定値があります。
...
QUERY_CAPTURE_MODE = CUSTOM,
QUERY_CAPTURE_POLICY = (
STALE_CAPTURE_POLICY_THRESHOLD = 24 HOURS,
EXECUTION_COUNT = 30,
TOTAL_COMPILE_CPU_TIME_MS = 1000,
TOTAL_EXECUTION_CPU_TIME_MS = 100
)
...
SQL Server サービスが [自動 (遅延開始)] 開始モードに設定されている
SQL Server 2022 (16.x) 以降のバージョンでは、Configuration Manager で SQL Server サービスの開始モード を自動 に設定すると、開始モード が自動 と表示されていても、サービスは自動 (遅延開始) モードで開始されます。
SQL Server Analysis Services (SQL Server Analysis Services)
このリリースでは、パフォーマンス、リソース ガバナンス、およびクライアント サポートの新機能と機能強化が導入されました。 具体的な更新プログラムについては、「SQL Server Analysis Services の新機能 」を参照してください。
SQL Server Reporting Services
このリリースでは、アクセシビリティ、セキュリティ、信頼性、バグ修正のための新機能と機能強化が導入されています。 具体的な更新プログラムについては、「SQL Server Reporting Services (SSRS) の新機能 」を参照してください。
SQL Server Integration Services
SQL Server Integration Services に対する変更点については、「Integration Services の下位互換性 」を参照してください。
このリリースでは、SQL Server Master Data Services の機能は追加されません。
ヘルプの参照
SQL ドキュメントへの投稿
SQL コンテンツを自分で編集できることはご存じですか。 これにより、ドキュメントが改善されるだけでなく、ページの共同作成者としてもクレジットされます。
詳細については、「SQL Server のドキュメントに投稿する方法 」を参照してください。