データベース スコープの構成オプションの概要
SQL Server には、データベース レベルで設定される構成オプションがずっと存在してきました。 たとえば、復旧モデルはデータベース設定の 1 つとして以前から存在していましたが、より複雑な機能がデータベースに導入されるにつれて、より多くのオプションが追加されてきました。 これらのオプションの多くが結び付けられているのが、データベースの互換性レベルです。これはそれ自体がデータベース レベルの構成オプションとなっています。 データベース構成オプションは、わずかに異なる 2 つのグループに分類されます。
T-SQL の
ALTER DATABASE SCOPED CONFIGURATION
構文によって構成されるオプションT-SQL の
ALTER DATABASE
構文によって構成されるオプション
これらのオプションを設定する方法の違いには、それほど大きな意味はありません。 ALTER DATABASE
を使用して設定されるオプションには、次のものがあります。
データベースの復旧モデル – そのデータベースが完全復旧モデルと単純復旧モデルのいずれであるか
自動チューニング オプション – 最後の良好なプランの強制を有効にするかどうか
統計の自動作成と更新 – データベースが統計を作成および更新できるようにし、統計の非同期更新オプションを使用できるようにします
クエリ ストア オプション – クエリ ストアのオプションはこちらで構成します
スナップショット分離 – スナップショット分離と Read Committed スナップショット分離を構成できます
上記の設定は、構成可能なオプションのサブセットです。
以前はサーバー上で構成されていた多くのオプションが、データベース レベルで構成できるようになりました。 オプションの一部を次に示します。
並列処理の最大限度 – データベースが独自の MaxDOP 設定を構成して、サーバーの設定をオーバーライドするようにできます。
レガシ カーディナリティ推定 – データベースが以前のカーディナリティ推定機能を使用するようにできます。 一部のクエリでは、新しいカーディナリティ推定機能によってパフォーマンスが低下しているおそれがあるため、この設定を使用すると効果がある場合があります。 このオプションを新しい互換性レベルで使用する場合でも、互換性レベル 140 または 150 なら、依然としてインテリジェント クエリ処理のメリットを得ることができます。
最後のクエリ プランの統計 – クエリに対する最後の実際の実行プランの値をキャプチャできます。 この機能は、互換性レベル 150 でのみアクティブです。
アドホック ワークロードの最適化 – オプティマイザーを使用して、スタブ クエリ プランをプラン キャッシュに格納します。 これは、1 回のみ使用するクエリが多数含まれているワークロードのプラン キャッシュのサイズを小さくするのに役立つ場合があります。
データベース互換性レベル
各データベースには独自の互換性レベルがあり、これによってそのデータベースのクエリ オプティマイザーの動作が制御されます。
SQL Server をアップグレードするときにこの設定を管理することで、クエリの実行プランが元のバージョンと同様になるようにすることができます。
Microsoft では、長期にわたって以前の互換性レベルでの実行をサポートします。 インテリジェント クエリ処理の新しい機能の多くは互換性レベル 140 または 150 でのみ利用可能であるため、可能であれば、新しい互換性レベルにアップグレードすることをお勧めします。