ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

このステートメントでは、複数のデータベース構成を個別データベース レベルで設定できます。This statement enables several database configuration settings at the individual database level. このステートメントは、SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降の Azure SQL データベースAzure SQL DatabaseSQL ServerSQL Server で利用できます。This statement is available in Azure SQL データベースAzure SQL Database and in SQL ServerSQL Server beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x). 次のような設定があります。Those settings are:

  • プロシージャ キャッシュをクリアします。Clear procedure cache.
  • プライマリ データベースに対して、MAXDOP パラメーターを特定のデータベースに最適な内容に基づいて任意の値 (1、2、...) に設定し、(クエリ レポートなどに) 使用されるすべてのセカンダリ データベースに対して別の値 (0 など) を設定します。Set the MAXDOP parameter to an arbitrary value (1,2, ...) for the primary database based on what works best for that particular database and set a different value (such as 0) for all secondary database used (such as for reporting queries).
  • データベースに依存しないクエリ オプティマイザーのカーディナリティ推定モデルを互換性レベルに設定します。Set the query optimizer cardinality estimation model independent of the database to compatibility level.
  • データベース レベルでパラメーター スニッフィングを有効または無効にします。Enable or disable parameter sniffing at the database level.
  • データベース レベルでのクエリ最適化の修正プログラムを有効または無効にします。Enable or disable query optimization hotfixes at the database level.
  • データベース レベルで ID キャッシュを有効または無効にします。Enable or disable the identity cache at the database level.
  • バッチが初めてコンパイルされるとき、コンパイルしたプラン スタブのキャッシュ保存を有効または無効にします。Enable or disable a compiled plan stub to be stored in cache when a batch is compiled for the first time.
  • ネイティブ コンパイル T-SQL モジュールの実行統計コレクションを有効または無効にします。Enable or disable collection of execution statistics for natively compiled T-SQL modules.
  • ONLINE = 構文に対応している DDL ステートメントの既定のオプションでオンラインの有効/無効を変更します。Enable or disable online by default options for DDL statements that support the ONLINE = syntax.
  • RESUMABLE = 構文に対応している DDL ステートメントの既定のオプションで再開可能の有効/無効を変更します。Enable or disable resumable by default options for DDL statements that support the RESUMABLE = syntax.
  • グローバル一時テーブルの自動削除機能を有効または無効にします。Enable or disable the auto-drop functionality of global temporary tables.
  • インテリジェントなクエリ処理の機能を有効または無効にします。Enable or disable Intelligent query processing features.
  • 軽量クエリ プロファイリング インフラストラクチャを有効または無効にします。Enable or disable the lightweight query profiling infrastructure.
  • 新しい String or binary data would be truncated のエラー メッセージを有効または無効にします。Enable or disable the new String or binary data would be truncated error message.
  • sys.dm_exec_query_plan_stats の最後の実際の実行プランのコレクションを有効または無効にします。Enable or disable collection of last actual execution plan in sys.dm_exec_query_plan_stats.

リンク アイコン Transact-SQL 構文表記規則link icon Transact-SQL Syntax Conventions

構文Syntax

ALTER DATABASE SCOPED CONFIGURATION
{
     {  [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE  [plan_handle]
| SET < set_options >
[;]

< set_options > ::=
{
    MAXDOP = { <value> | PRIMARY}
    | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
    | PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
    | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
    | IDENTITY_CACHE = { ON | OFF }
    | INTERLEAVED_EXECUTION_TVF = { ON | OFF }
    | BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
    | TSQL_SCALAR_UDF_INLINING = { ON | OFF }
    | ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
    | OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
    | XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
    | XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
    | ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
    | BATCH_MODE_ON_ROWSTORE = { ON | OFF }
    | DEFERRED_COMPILATION_TV = { ON | OFF }
    | GLOBAL_TEMPORARY_TABLE_AUTODROP = { ON | OFF }
    | LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
    | VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
    | LAST_QUERY_PLAN_STATS = { ON | OFF }
}

引数Arguments

セカンダリの場合FOR SECONDARY

セカンダリ データベースの設定を指定します (すべてのセカンダリ データベースに同じ値を与える必要があります)。Specifies the settings for secondary databases (all secondary databases must have the identical values).

CLEAR PROCEDURE_CACHE [plan_handle]CLEAR PROCEDURE_CACHE [plan_handle]

データベースのプロシージャ (プラン) キャッシュがクリアされ、プライマリとセカンダリの両方で実行することができます。Clears the procedure (plan) cache for the database, and can be executed both on the primary and the secondaries.

プラン キャッシュから 1 つのクエリ プランをクリアするクエリ プラン ハンドルを指定します。Specify a query plan handle to clear a single query plan from the plan cache.

注意

クエリ プラン ハンドルの指定は、Azure SQL Database と SQL Server 2019 以降で利用できます。Specifying a query plan handle is available in Azure SQL Database and SQL Server 2019 or higher.

MAXDOP = {<value> | PRIMARY } <value>MAXDOP = {<value> | PRIMARY } <value>

ステートメントで使用される MAXDOP 設定の既定値を指定します。Specifies the default MAXDOP setting that should be used for statements. 0 が初期設定値であり、サーバー構成が代わりに使用されることを示します。0 is the default value and indicates that the server configuration will be used instead. データベース スコープの MAXDOP は、サーバー レベルで設定されている並列処理の最大限度を p_configure によってオーバーライドします (0 に設定されていない限り)。The MAXDOP at the database scope overrides (unless it is set to 0) the max degree of parallelism set at the server level by sp_configure. 別の設定を必要とする特定のクエリを調整する目的で、クエリ ヒントは引き続き、DB スコープの MAXDOP をオーバーライドできます。Query hints can still override the DB scoped MAXDOP in order to tune specific queries that need different setting. これらすべての設定の上限は、ワークロード グループに設定されている MAXDOP によって決定されます。All these settings are limited by the MAXDOP set for the Workload Group.

max degree of parallelism オプションを使用すると、並列プラン実行で使用するプロセッサの数を制限できます。You can use the max degree of parallelism option to limit the number of processors to use in parallel plan execution. SQL Server は、クエリ、インデックス データ定義言語 (DDL) の操作、並列挿入、オンライン列変更、並行統計コレクション、静的およびキーセット ドリブン カーソルの作成の場合に並列実行プランを検討します。SQL Server considers parallel execution plans for queries, index data definition language (DDL) operations, parallel insert, online alter column, parallel stats collection, and static and keyset-driven cursor population.

インスタンス レベルでこのオプションを設定する方法については、「max degree of parallelism サーバー構成オプションの構成」を参照してください。To set this option at the instance level, see Configure the max degree of parallelism Server Configuration Option.

ヒント

これをクエリ レベルで行うには、MAXDOP クエリ ヒントを追加してください。To accomplish this at the query level, add the MAXDOP query hint.

PRIMARYPRIMARY

データベースがプライマリにあるとき、セカンダリに対してのみ設定できます。構成はプライマリに設定されている構成になることを示します。Can only be set for the secondaries, while the database in on the primary, and indicates that the configuration will be the one set for the primary. プライマリの構成が変更されると、セカンダリの値も適宜変更されます。セカンダリの値を明示的に設定する必要はありません。If the configuration for the primary changes, the value on the secondaries will change accordingly without the need to set the secondaries value explicitly. PRIMARY はセカンダリの初期設定です。PRIMARY is the default setting for the secondaries.

LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY }

データベースの互換性レベルに関係なく、クエリ オプティマイザーのカーディナリティ推定モデルを SQL Server 2012 以前のバージョンに設定できます。Enables you to set the query optimizer cardinality estimation model to the SQL Server 2012 and earlier version independent of the compatibility level of the database. 既定値は OFF であり、クエリ オプティマイザーのカーディナリティ推定モデルがデータベースの互換性レベルに基づいて設定されます。The default is OFF, which sets the query optimizer cardinality estimation model based on the compatibility level of the database. LEGACY_CARDINALITY_ESTIMATION を ON に設定することは、トレース フラグ 9481 を有効にすることと同じです。Setting LEGACY_CARDINALITY_ESTIMATION to ON is equivalent to enabling Trace Flag 9481.

ヒント

これをクエリ レベルで行うには、QUERYTRACEON クエリ ヒントを追加してください。To accomplish this at the query level, add the QUERYTRACEON query hint. SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、トレース フラグの代わりに、USE HINT クエリ ヒントを追加してください。Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, add the USE HINT query hint instead of using the trace flag.

PRIMARYPRIMARY

データベースがプライマリにあるとき、この値はセカンダリでのみ有効になります。すべてのセカンダリのクエリ オプティマイザーのカーディナリティ推定モデル設定がプライマリに設定されている値になることを示します。This value is only valid on secondaries while the database in on the primary, and specifies that the query optimizer cardinality estimation model setting on all secondaries will be the value set for the primary. クエリ オプティマイザーのカーディナリティ推定モデルの構成がプライマリで変更された場合、セカンダリの値も適宜変更されます。If the configuration on the primary for the query optimizer cardinality estimation model changes, the value on the secondaries will change accordingly. PRIMARY はセカンダリの初期設定です。PRIMARY is the default setting for the secondaries.

PARAMETER_SNIFFING = { ON | OFF | PRIMARY}PARAMETER_SNIFFING = { ON | OFF | PRIMARY}

パラメーター スニッフィングを有効にするか無効にします。Enables or disables parameter sniffing. 既定値は ON です。The default is ON. PARAMETER_SNIFFING を OFF に設定することは、トレース フラグ 4136 を有効にすることと同じです。Setting PARAMETER_SNIFFING to OFF is equivalent to enabling Trace Flag 4136.

ヒント

クエリ レベルでこれを行う方法については、「OPTIMIZE FOR UNKNOWN クエリ ヒント」を参照してください。To accomplish this at the query level, see the OPTIMIZE FOR UNKNOWN query hint. SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、USE HINT クエリ ヒントも利用できます。Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, the USE HINT query hint is also available.

PRIMARYPRIMARY

データベースがプライマリにあるとき、この値はセカンダリでのみ有効になります。すべてのセカンダリでこの設定の値がプライマリに設定されている値になることを示します。This value is only valid on secondaries while the database in on the primary, and specifies that the value for this setting on all secondaries will be the value set for the primary. パラメーター スニッフィングの使用に関するプライマリの構成が変更されると、セカンダリの値も適宜変更されます。セカンダリの値を明示的に設定する必要はありません。If the configuration on the primary for using parameter sniffing changes, the value on the secondaries will change accordingly without the need to set the secondaries value explicitly. PRIMARY はセカンダリの既定の設定です。PRIMARY is the default setting for the secondaries.

QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY }

データベースの互換性レベルに関係なく、クエリ最適化修正プログラムを有効または無効にします。Enables or disables query optimization hotfixes regardless of the compatibility level of the database. 既定値は OFF です。特定のバージョンで利用できる最高の互換性レベルが導入された後に公開されたクエリ最適化修正プログラムが無効になります (RTM 後)。The default is OFF, which disables query optimization hotfixes that were released after the highest available compatibility level was introduced for a specific version (post-RTM). これを ON に設定することは、トレース フラグ 4199 を有効にすることと同じです。Setting this to ON is equivalent to enabling Trace Flag 4199.

ヒント

これをクエリ レベルで行うには、QUERYTRACEON クエリ ヒントを追加してください。To accomplish this at the query level, add the QUERYTRACEON query hint. SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 以降、クエリ レベルでこれを行うには、トレース フラグの代わりに、USE HINT クエリ ヒントを追加してください。Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1, to accomplish this at the query level, add the USE HINT query hint instead of using the trace flag.

PRIMARYPRIMARY

データベースがプライマリにあるとき、この値はセカンダリでのみ有効になります。すべてのセカンダリでこの設定の値がプライマリに設定されている値になることを示します。This value is only valid on secondaries while the database in on the primary, and specifies that the value for this setting on all secondaries is the value set for the primary. プライマリの構成が変更されると、セカンダリの値も適宜変更されます。セカンダリの値を明示的に設定する必要はありません。If the configuration for the primary changes, the value on the secondaries changes accordingly without the need to set the secondaries value explicitly. PRIMARY はセカンダリの既定の設定です。PRIMARY is the default setting for the secondaries.

IDENTITY_CACHE = { ON | OFF }IDENTITY_CACHE = { ON | OFF }

適用対象:SQL ServerSQL Server (開始値 SQL Server 2017 (14.x)SQL Server 2017 (14.x)) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database

データベース レベルで ID キャッシュを有効または無効にします。Enables or disables identity cache at the database level. 既定値は ON です。The default is ON. ID キャッシュは、ID 列が含まれるテーブルでの INSERT パフォーマンスを改善するために使用されます。Identity caching is used to improve INSERT performance on tables with identity columns. サーバーが突然再起動したか、セカンダリ サーバーにフェールオーバーしたときに ID 列の値に隔たりができることを回避するには、IDENTITY_CACHE オプションを無効にします。To avoid gaps in the values of an identity column in cases where the server restarts unexpectedly or fails over to a secondary server, disable the IDENTITY_CACHE option. このオプションは、サーバー レベルのみならずデータベース レベルで設定可能という点を除き、既存のトレース フラグ 272 と似ています。This option is similar to the existing Trace Flag 272, except that it can be set at the database level rather than only at the server level.

注意

このオプションはプライマリにのみ設定できます。This option can only be set for the PRIMARY. 詳細については、「ID 列」を参照してください。For more information, see identity columns.

INTERLEAVED_EXECUTION_TVF = { ON | OFF }INTERLEAVED_EXECUTION_TVF = { ON | OFF }

適用対象:SQL ServerSQL Server (開始値 SQL Server 2017 (14.x)SQL Server 2017 (14.x)) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database

複数ステートメントのテーブル値関数のインターリーブ実行は、データベースの互換性レベル 140 以上を維持しながら、データベースまたはステートメント範囲で有効または無効にできます。Allows you to enable or disable Interleaved execution for multi-statement table valued functions at the database or statement scope while still maintaining database compatibility level 140 and higher. インターリーブ実行は、Azure SQL データベースAzure SQL Database のアダプティブ クエリ処理の一部の機能です。Interleaved execution is a feature that is part of Adaptive query processing in Azure SQL データベースAzure SQL Database. 詳細については、インテリジェントなクエリ処理に関する記事をご覧ください。For more information, please refer to Intelligent query processing.

注意

データベース互換性レベルが 130 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 130 or lower, this database scoped configuration has no effect.

SQL Server 2017 (14.x) のみでの、オプション INTERLEAVED_EXECUTION_TVF には DISABLE_INTERLEAVED_EXECUTION_TVF の古い名前があります。In SQL Server 2017 (14.x) only, the option INTERLEAVED_EXECUTION_TVF had the older name of DISABLE_INTERLEAVED_EXECUTION_TVF.

BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

適用対象:SQL ServerSQL Server (開始値 SQL Server 2017 (14.x)SQL Server 2017 (14.x)) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database

バッチ モード メモリ許可フィードバックは、データベースの互換性レベル 140 以上を維持しながら、データベース範囲で有効または無効にできます。Allows you to enable or disable batch mode memory grant feedback at the database scope while still maintaining database compatibility level 140 and higher. バッチ モード メモリ許可フィードバックは、SQL Server 2017 (14.x)SQL Server 2017 (14.x) で導入されたインテリジェントなクエリ処理の一部の機能です。Batch mode memory grant feedback a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)SQL Server 2017 (14.x).

注意

データベース互換性レベルが 130 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 130 or lower, this database scoped configuration has no effect.

BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF}BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF}

適用対象:SQL ServerSQL Server (開始値 SQL Server 2017 (14.x)SQL Server 2017 (14.x)) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database

バッチ モードの適応結合は、データベースの互換性レベル 140 以上を維持しながら、データベース範囲で有効または無効にできます。Allows you to enable or disable batch mode adaptive joins at the database scope while still maintaining database compatibility level 140 and higher. バッチ モードの適応結合は、SQL Server 2017 (14.x)SQL Server 2017 (14.x) で導入されたインテリジェントなクエリ処理の一部の機能です。Batch mode adaptive joins is a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)SQL Server 2017 (14.x).

注意

データベース互換性レベルが 130 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 130 or lower, this database scoped configuration has no effect.

TSQL_SCALAR_UDF_INLINING = { ON | OFF }TSQL_SCALAR_UDF_INLINING = { ON | OFF }

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database (feature is in public preview)

データベースの互換性レベル 150 以上を維持しながら、データベース範囲で T-SQL スカラー UDF のインライン化を有効または無効にできます。Allows you to enable or disable T-SQL Scalar UDF inlining at the database scope while still maintaining database compatibility level 150 and higher. T-SQL スカラー UDF のインライン化は、インテリジェント クエリの処理機能ファミリの一部です。T-SQL Scalar UDF inlining is part of the Intelligent query processing feature family.

注意

データベース互換性レベルが 140 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 140 or lower, this database scoped configuration has no effect.

ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

適用対象: Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: Azure SQL データベースAzure SQL Database (feature is in public preview)

サポートされている操作からオンラインにエンジンを自動的に昇格させるオプションを選択できます。Allows you to select options to cause the engine to automatically elevate supported operations to online. 既定は OFF であり、ステートメントで指定されない限り、操作はオンラインに昇格されません。The default is OFF, which means operations will not be elevated to online unless specified in the statement. sys.database_scoped_configurations は ELEVATE_ONLINE の現在の値を反映します。sys.database_scoped_configurations reflects the current value of ELEVATE_ONLINE. これらのオプションは、オンラインでサポートされている操作にのみ適用されます。These options will only apply to operations that are supported for online.

FAIL_UNSUPPORTEDFAIL_UNSUPPORTED

この値のとき、サポートされているすべての DDL 操作が ONLINE に昇格されます。This value elevates all supported DDL operations to ONLINE. オンライン実行に対応していない操作は失敗し、警告が出ます。Operations that do not support online execution will fail and throw a warning.

WHEN_SUPPORTEDWHEN_SUPPORTED

この値のとき、ONLINE 対応の操作が昇格されます。This value elevates operations that support ONLINE. オンライン対応ではない操作はオフラインで実行されます。Operations that do not support online will be run offline.

注意

ONLINE オプションが指定されたステートメントを送信することで、既定の設定をオーバーライドできます。You can override the default setting by submitting a statement with the ONLINE option specified.

ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }ELEVATE_RESUMABLE= { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database (feature is in public preview)

サポートされている操作から再開可能にエンジンを自動的に昇格させるオプションを選択できます。Allows you to select options to cause the engine to automatically elevate supported operations to resumable. 既定は OFF であり、ステートメントで指定されない限り、操作は再開可能に昇格されません。The default is OFF, which means operations are not be elevated to resumable unless specified in the statement. sys.database_scoped_configurations は ELEVATE_RESUMABLE の現在の値を反映します。sys.database_scoped_configurations reflects the current value of ELEVATE_RESUMABLE. これらのオプションは、再開可能実行でサポートされている操作にのみ適用されます。These options only apply to operations that are supported for resumable.

FAIL_UNSUPPORTEDFAIL_UNSUPPORTED

この値のとき、サポートされているすべての DDL 操作が RESUMABLE に昇格されます。This value elevates all supported DDL operations to RESUMABLE. 再開可能実行に対応していない操作は失敗し、警告が出ます。Operations that do not support resumable execution fail and throw a warning.

WHEN_SUPPORTEDWHEN_SUPPORTED

この値のとき、RESUMABLE 対応の操作が昇格されます。This value elevates operations that support RESUMABLE. 再開可能対応ではない操作は再開不可能として実行されます。Operations that do not support resumable are run non-resumably.

注意

RESUMABLE オプションが指定されたステートメントを送信することで、既定の設定をオーバーライドできます。You can override the default setting by submitting a statement with the RESUMABLE option specified.

OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }

適用対象: Azure SQL データベースAzure SQL DatabaseApplies to: Azure SQL データベースAzure SQL Database

バッチが初めてコンパイルされるとき、コンパイルしたプラン スタブのキャッシュ保存を有効または無効にします。Enables or disables a compiled plan stub to be stored in cache when a batch is compiled for the first time. 既定値は OFF です。The default is OFF. あるデータベースに対してデータベース スコープ構成 OPTIMIZE_FOR_AD_HOC_WORKLOADS を有効にすると、バッチを初めてコンパイルしたとき、コンパイル済みのプラン スタブがキャッシュに保存されます。Once the database scoped configuration OPTIMIZE_FOR_AD_HOC_WORKLOADS is enabled for a database, a compiled plan stub will be stored in cache when a batch is compiled for the first time. プラン スタブのメモリ領域は、完全なコンパイル済みプランのサイズに比べて小さくなります。Plan stubs have a smaller memory footprint compared to the size of the full compiled plan. バッチが再度コンパイルまたは実行されると、コンパイル済みプラン スタブは削除され、完全なコンパイル済みプランと置換されます。If a batch is compiled or executed again, the compiled plan stub will be removed and replaced with a full compiled plan.

XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }

適用対象: Azure SQL データベースAzure SQL DatabaseApplies to: Azure SQL データベースAzure SQL Database

現在のデータベース内のすべてのネイティブ コンパイル T-SQL モジュールに対し、モジュール レベルで実行統計コレクションを有効また無効にします。Enables or disables collection of execution statistics at the module-level for natively compiled T-SQL modules in the current database. 既定値は OFF です。The default is OFF. 実行統計は sys.dm_exec_procedure_stats に反映されます。The execution statistics are reflected in sys.dm_exec_procedure_stats.

このオプションが ON の場合、または統計コレクションが sp_xtp_control_proc_exec_stats によって有効化されている場合は、ネイティブ コンパイル T-SQL モジュールのモジュール レベルの実行統計が収集されます。Module-level execution statistics for natively compiled T-SQL modules are collected if either this option is ON, or if statistics collection is enabled through sp_xtp_control_proc_exec_stats.

XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }

適用対象: Azure SQL データベースAzure SQL DatabaseApplies to: Azure SQL データベースAzure SQL Database

現在のデータベース内のすべてのネイティブ コンパイル T-SQL モジュールに対し、ステートメント レベルで実行統計コレクションを有効また無効にします。Enables or disables collection of execution statistics at the statement-level for natively compiled T-SQL modules in the current database. 既定値は OFF です。The default is OFF. 実行統計は、sys.dm_exec_query_stats およびクエリ ストアに反映されます。The execution statistics are reflected in sys.dm_exec_query_stats and in Query Store.

このオプションが ON の場合、または統計コレクションが sp_xtp_control_query_exec_stats によって有効化されている場合は、ネイティブ コンパイル T-SQL モジュールのステートメント レベルの実行統計が収集されます。Statement-level execution statistics for natively compiled T-SQL modules are collected if either this option is ON, or if statistics collection is enabled through sp_xtp_control_query_exec_stats.

ネイティブ コンパイル Transact-SQLTransact-SQL モジュールのパフォーマンスの監視の詳細については、「ネイティブ コンパイル ストアド プロシージャのパフォーマンスの監視」を参照してください。For more information about performance monitoring of natively compiled Transact-SQLTransact-SQL modules see Monitoring Performance of Natively Compiled Stored Procedures.

ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF}

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database (feature is in public preview)

行モード メモリ許可フィードバックは、データベースの互換性レベル 150 以上を維持しながら、データベース範囲で有効または無効にできます。Allows you to enable or disable row mode memory grant feedback at the database scope while still maintaining database compatibility level 150 and higher. 行モード メモリ許可フィードバックは、SQL Server 2017 (14.x)SQL Server 2017 (14.x) で導入されたインテリジェントなクエリ処理の一部の機能です (行モードは SQL Server 2019SQL Server 2019Azure SQL データベースAzure SQL Database でサポートされています)。Row mode memory grant feedback a feature that is part of Intelligent query processing introduced in SQL Server 2017 (14.x)SQL Server 2017 (14.x) (row mode is supported in SQL Server 2019SQL Server 2019 and Azure SQL データベースAzure SQL Database).

注意

データベース互換性レベルが 140 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 140 or lower, this database scoped configuration has no effect.

BATCH_MODE_ON_ROWSTORE = { ON | OFF}BATCH_MODE_ON_ROWSTORE = { ON | OFF}

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database (feature is in public preview)

行ストアのバッチ モードは、データベースの互換性レベル 150 以上を維持しながら、データベース範囲で有効または無効にできます。Allows you to enable or disable batch mode on rowstore at the database scope while still maintaining database compatibility level 150 and higher. 行ストアのバッチ モードは、インテリジェント クエリの処理機能ファミリの一部の機能です。Batch mode on rowstore is a feature that is part of Intelligent query processing feature family.

注意

データベース互換性レベルが 140 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 140 or lower, this database scoped configuration has no effect.

DEFERRED_COMPILATION_TV = { ON | OFF}DEFERRED_COMPILATION_TV = { ON | OFF}

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database (feature is in public preview)

テーブル変数の遅延コンパイルは、データベースの互換性レベル 150 以上を維持しながら、データベース範囲で有効または無効にできます。Allows you to enable or disable table variable deferred compilation at the database scope while still maintaining database compatibility level 150 and higher. テーブル変数の遅延コンパイルは、インテリジェント クエリの処理機能ファミリの一部の機能です。Table variable deferred compilation is a feature that is part of Intelligent query processing feature family.

注意

データベース互換性レベルが 140 以下である場合は、このデータベース スコープの構成に影響がありません。For database compatibility level 140 or lower, this database scoped configuration has no effect.

GLOBAL_TEMPORARY_TABLE_AUTODROP = { ON | OFF }GLOBAL_TEMPORARY_TABLE_AUTODROP = { ON | OFF }

適用対象: Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: Azure SQL データベースAzure SQL Database (feature is in public preview)

グローバル一時テーブルの自動削除機能を設定できます。Allows setting the auto drop functionality for global temporary tables. 既定値は ON で、グローバル一時テーブルはどのセッションでも使用中でないときに自動的に削除されることを意味します。The default is ON, which means that the global temporary tables are automatically dropped when not in use by any session. OFF に設定すると、グローバル一時テーブルは、DROP TABLE ステートメントを使用して明示的に削除する必要があります。または、サーバーの再起動時に自動的に削除されます。When set to OFF, global temporary tables need to be explicitly dropped using a DROP TABLE statement or will be automatically dropped on server restart.

  • Azure SQL データベースAzure SQL Database 単一データベースおよびエラスティック プールでは、このオプションを SQL Database サーバーの個々のユーザー データベース内で設定できます。With Azure SQL データベースAzure SQL Database single databases and elastic pools, this option can be set in the individual user databases of the SQL Database server.
  • SQL ServerSQL Server および Azure SQL データベースAzure SQL Database マネージド インスタンス上では、このオプションは TempDB 内で設定され、個々のユーザー データベースの設定に影響を与えません。In SQL ServerSQL Server and Azure SQL データベースAzure SQL Database managed instance, this option is set in TempDB and the setting of the individual user databases has no effect.

LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF}LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF}

適用対象:SQL ServerSQL Server (開始値 SQL Server 2019SQL Server 2019) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database

軽量クエリ プロファイリング インフラストラクチャを有効または無効にできます。Allows you to enable or disable the lightweight query profiling infrastructure. 軽量クエリ プロファイリング インフラストラクチャ (LWP) は、標準のプロファイリング メカニズムよりも効率的にクエリのパフォーマンス データを提供するもので、既定で有効になっています。The lightweight query profiling infrastructure (LWP) provides query performance data more efficiently than standard profiling mechanisms and is enabled by default.

VERBOSE_TRUNCATION_WARNINGS = { ON | OFF}VERBOSE_TRUNCATION_WARNINGS = { ON | OFF}

適用対象:SQL ServerSQL Server (開始値 SQL Server 2019SQL Server 2019) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) and Azure SQL データベースAzure SQL Database

新しい String or binary data would be truncated のエラー メッセージの有効と無効が切り替えられるようになります。Allows you to enable or disable the new String or binary data would be truncated error message. SQL Server 2019SQL Server 2019 では、次のシナリオに対してより具体的な新しいエラー メッセージ (2628) が導入されています。introduces a new, more specific error message (2628) for this scenario:

String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.

データベース互換性レベルが 150 の状態で ON に設定すると、切り捨てエラーにより、詳しいコンテキストを提供し、トラブルシューティングのプロセスを簡略化する新しいエラー メッセージ 2628 が発生します。When set to ON under database compatibility level 150, truncation errors raise the new error message 2628 to provide more context and simplify the troubleshooting process.

データベース互換性レベルが 150 の状態で OFF に設定すると、切り捨てエラーにより前のエラー メッセージ 8152 が発生します。When set to OFF under database compatibility level 150, truncation errors raise the previous error message 8152.

データベース互換性レベルが 140 以下の場合、エラー メッセージ 2628 はオプトインのエラー メッセージとして残ります。このエラー メッセージではトレース フラグ 460 を有効にする必要があり、このデータベース スコープ構成に影響がありません。For database compatibility level 140 or lower, error message 2628 remains an opt-in error message that requires trace flag 460 to be enabled, and this database scoped configuration has no effect.

LAST_QUERY_PLAN_STATS = { ON | OFF}LAST_QUERY_PLAN_STATS = { ON | OFF}

適用対象:SQL ServerSQL Server (SQL Server 2019SQL Server 2019 以降) (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2019SQL Server 2019) (feature is in public preview)

sys.dm_exec_query_plan_stats の最後の実際の実行プラン (実際の実行プランに相当) のコレクションを有効または無効にすることができます。Allows you to enable or disable colection of the last query plan statistics (equivalent to an actual execution plan) in sys.dm_exec_query_plan_stats.

PermissionsPermissions

データベースに対する ALTER ANY DATABASE SCOPE CONFIGURATION が必要です。Requires ALTER ANY DATABASE SCOPE CONFIGURATION on the database. この権限は、データベース上で CONTROL 権限を持つユーザーが付与できます。This permission can be granted by a user with CONTROL permission on a database.

全般的な解説General Remarks

セカンダリ データベースにはプライマリとは異なるスコープ構成を設定できますが、すべてのセカンダリ データベースで同じ構成が使用されます。While you can configure secondary databases to have different scoped configuration settings from their primary, all secondary databases use the same configuration. 個々のセカンダリに異なる設定を構成することはできません。Different settings cannot be configured for individual secondaries.

このステートメントを実行すると、現在のデータベースのプロシージャ キャッシュが消去されます。つまり、すべてのクエリを再コンパイルする必要があります。Executing this statement clears the procedure cache in the current database, which means that all queries have to recompile.

3 部構成の名前のクエリの場合、現在のデータベース コンテキストでコンパイルされる SQL モジュール (プロシージャ、関数、トリガーなど) ではなく、クエリに対する現在のデータベース接続の設定が適用されます。そのため、そのような設定が置かれているデータベースのオプションが使用されます。For 3-part name queries, the settings for the current database connection for the query are honored, other than for SQL modules (such as procedures, functions, and triggers) that are compiled in the current database context and therefore uses the options of the database in which they reside.

ALTER_DATABASE_SCOPED_CONFIGURATION イベントは、DDL トリガーの始動に使用できる DDL イベントとして追加されます。ALTER_DATABASE_EVENTS トリガー グループの子です。The ALTER_DATABASE_SCOPED_CONFIGURATION event is added as a DDL event that can be used to fire a DDL trigger, and is a child of the ALTER_DATABASE_EVENTS trigger group.

データベース スコープ構成設定がデータベースに継承されるので、特定のデータベースが復元またはアタッチされたときに、既存の構成設定が残ります。Database scoped configuration settings will be carried over with the database, which means that when a given database is restored or attached, the existing configuration settings remain.

制限事項と制約事項Limitations and Restrictions

MAXDOPMAXDOP

詳細設定はグローバル設定をオーバーライドします。その Resource Governor が他のすべての MAXDOP 設定の上限となります。The granular settings can override the global ones and that resource governor can cap all other MAXDOP settings. MAXDOP 設定のロジックは次のようになります。The logic for MAXDOP setting is the following:

  • クエリ ヒントは sp_configure とデータベース スコープ構成の両方をオーバーライドします。Query hint overrides both the sp_configure and the database scoped configuration. ワークロード グループにリソース グループ MAXDOP が設定されている場合:If the resource group MAXDOP is set for the workload group:

    • クエリ ヒントが 0 に設定されている場合、Resource Governor 設定でオーバーライドされます。If the query hint is set to zero (0), it is overridden by the resource governor setting.

    • クエリ ヒントが 0 ではない場合、Resource Governor 設定が上限となります。If the query hint is not zero (0), it is capped by the resource governor setting.

  • データベース スコープ構成 (0 ではない限り) は、クエリ ヒントがある場合を除き、sp_configure 設定をオーバーライドし、Resource Governor 設定が上限となります。The database scoped configuration (unless it's zero) overrides the sp_configure setting unless there is a query hint and is capped by the resource governor setting.

  • sp_configure 設定は、Resource Governor 設定でオーバーライドされます。The sp_configure setting is overridden by the resource governor setting.

QUERY_OPTIMIZER_HOTFIXESQUERY_OPTIMIZER_HOTFIXES

QUERYTRACEON ヒントを使用して SQL Server 7.0 から SQL Server 2012 (11.x)SQL Server 2012 (11.x) バージョンの既定のクエリ オプティマイザーまたはクエリ オプティマイザー修正プログラムを有効にするとき、クエリ ヒントとデータベース スコープ構成設定の OR 条件になります。つまり、いずれかが有効になっている場合、データベース スコープ構成が適用されます。When QUERYTRACEON hint is used to enable the default query optimizer of SQL Server 7.0 through SQL Server 2012 (11.x)SQL Server 2012 (11.x) versions or query optimizer hotfixes, it would be an OR condition between the query hint and the database scoped configuration setting, meaning if either is enabled, the database scoped configurations apply.

Geo DRGeo DR

読み取り可能なセカンダリ データベース (Always On 可用性グループや Azure SQL データベースAzure SQL Database の geo レプリケートされたデータベース) では、データベースの状態を確認することでセカンダリ値が使用されます。Readable secondary databases (Always On Availability Groups and Azure SQL データベースAzure SQL Database geo-replicated databases), use the secondary value by checking the state of the database. フェールオーバーで再コンパイルが行われず、技術的に、セカンダリ設定を使用しているクエリが新しいプライマリに与えられる場合でも、プライマリとセカンダリの間の設定はワークロードが異なるときにのみ変わるというのがその考えです。そのため、キャッシュされたクエリでは最適設定が使用されるが、新しいクエリはそれに適した新しい設定を選択します。Even though recompile does not occur on failover and technically the new primary has queries that are using the secondary settings, the idea is that the setting between primary and secondary only vary when the workload is different and therefore the cached queries are using the optimal settings, whereas new queries pick the new settings that are appropriate for them.

DacFxDacFx

ALTER DATABASE SCOPED CONFIGURATIONAzure SQL データベースAzure SQL DatabaseSQL ServerSQL Server (SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降) の新しい機能であり、データベース スキーマに影響を与えます。スキーマのエクスポートは (データがあってもなくても)、SQL Server 2012 (11.x)SQL Server 2012 (11.x)SQL Server 2014 (12.x)SQL Server 2014 (12.x) など、以前のバージョンの SQL ServerSQL Server にはインポートできません。Since ALTER DATABASE SCOPED CONFIGURATION is a new feature in Azure SQL データベースAzure SQL Database and SQL ServerSQL Server (starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) that affects the database schema, exports of the schema (with or without data) are not able to be imported into an older version of SQL ServerSQL Server, such as SQL Server 2012 (11.x)SQL Server 2012 (11.x) or SQL Server 2014 (12.x)SQL Server 2014 (12.x). たとえば、SQL DatabaseSQL Database または SQL Server 2016 (13.x)SQL Server 2016 (13.x) データベースから DACPAC または BACPAC にエクスポートしたものは、下位レベルのサーバーにインポートできません。For example, an export to a DACPAC or a BACPAC from an SQL DatabaseSQL Database or SQL Server 2016 (13.x)SQL Server 2016 (13.x) database that used this new feature would not be able to be imported into a down-level server.

ELEVATE_ONLINEELEVATE_ONLINE

このオプションは、WITH (ONLINE = <syntax>) 対応の DDL ステートメントにのみ適用されます。This option only applies to DDL statements that support the WITH (ONLINE = <syntax>). XML インデックスは影響を受けません。XML indexes are not affected.

ELEVATE_RESUMABLEELEVATE_RESUMABLE

このオプションは、WITH (RESUMABLE = <syntax>) 対応の DDL ステートメントにのみ適用されます。This option only applies to DDL statements that support the WITH (RESUMABLE = <syntax>). XML インデックスは影響を受けません。XML indexes are not affected.

メタデータMetadata

sys.database_scoped_configurations (Transact-SQL) システム ビューには、データベース内のスコープ構成に関する情報が表示されます。The sys.database_scoped_configurations (Transact-SQL) system view provides information about scoped configurations within a database. データベース スコープ構成オプションはサーバー全体の初期設定にオーバーライドするため、sys.database_scoped_configurations にのみ表示されます。Database-scoped configuration options only show up in sys.database_scoped_configurations as they are overrides to server-wide default settings. sys.configurations (Transact-SQL) システム ビューは、サーバー全体の設定にのみ表示されます。The sys.configurations (Transact-SQL) system view only shows server-wide settings.

使用例Examples

以下は ALTER DATABASE SCOPED CONFIGURATION の使用例ですThese examples demonstrate the use of ALTER DATABASE SCOPED CONFIGURATION

A.A. 権限の付与Grant Permission

この例では、ALTER DATABASE SCOPED CONFIGURATION の実行に必要な権限をユーザー Joe に与えています。This example grant permission required to execute ALTER DATABASE SCOPED CONFIGURATION to user Joe.

GRANT ALTER ANY DATABASE SCOPED CONFIGURATION to [Joe] ;

B.B. MAXDOP の設定Set MAXDOP

この例では、geo レプリケーション シナリオでプライマリ データベースに MAXDOP = 1 を、セカンダリ データベースに MAXDOP = 4 を設定します。This example sets MAXDOP = 1 for a primary database and MAXDOP = 4 for a secondary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 1 ;
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = 4 ;

この例では、geo レプリケーション シナリオで、セカンダリ データベースの MAXDOP をそのプライマリ データベースと同じ値に設定します。This example sets MAXDOP for a secondary database to be the same as it is set for its primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;

C.C. LEGACY_CARDINALITY_ESTIMATION の設定Set LEGACY_CARDINALITY_ESTIMATION

この例では、geo レプリケーション シナリオで、セカンダリ データベースの LEGACY_CARDINALITY_ESTIMATION を ON に設定します。This example sets LEGACY_CARDINALITY_ESTIMATION to ON for a secondary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = ON ;

この例では、geo レプリケーション シナリオで、セカンダリ データベースの LEGACY_CARDINALITY_ESTIMATION をそのプライマリ データベースと同じ値に設定します。This example sets LEGACY_CARDINALITY_ESTIMATION for a secondary database as it is for its primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;

D.D. PARAMETER_SNIFFING の設定Set PARAMETER_SNIFFING

この例では、geo レプリケーション シナリオで、プライマリ データベースの PARAMETER_SNIFFING を OFF に設定します。This example sets PARAMETER_SNIFFING to OFF for a primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;

この例では、geo レプリケーション シナリオで、セカンダリ データベースの PARAMETER_SNIFFING を OFF に設定します。This example sets PARAMETER_SNIFFING to OFF for a secondary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;

この例では、geo レプリケーション シナリオで、セカンダリ データベースの PARAMETER_SNIFFING をプライマリ データベースと同じ値に設定します。This example sets PARAMETER_SNIFFING for secondary database as it is on primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;

E.E. QUERY_OPTIMIZER_HOTFIXES の設定Set QUERY_OPTIMIZER_HOTFIXES

geo レプリケーション シナリオで、プライマリ データベースの QUERY_OPTIMIZER_HOTFIXES を ON に設定します。Set QUERY_OPTIMIZER_HOTFIXES to ON for a primary database in a geo-replication scenario.

ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON ;

F.F. プロシージャ キャッシュの消去Clear Procedure Cache

この例では、プロシージャ キャッシュを消去します (プライマリ データベースのみ可能)。This example clears the procedure cache (possible only for a primary database).

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;

G.G. IDENTITY_CACHE の設定Set IDENTITY_CACHE

適用対象:SQL ServerSQL Server (SQL Server 2017 (14.x)SQL Server 2017 (14.x) 以降) と Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database (feature is in public preview)

この例では、ID キャッシュを無効にします。This example disables the identity cache.

ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE = OFF ;

H.H. OPTIMIZE_FOR_AD_HOC_WORKLOADS の設定Set OPTIMIZE_FOR_AD_HOC_WORKLOADS

適用対象: Azure SQL データベースAzure SQL DatabaseApplies to: Azure SQL データベースAzure SQL Database

この例では、バッチが初めてコンパイルされるとき、コンパイルしたプラン スタブのキャッシュ保存を有効にします。This example enables a compiled plan stub to be stored in cache when a batch is compiled for the first time.

ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;

I.I. ELEVATE_ONLINE を設定するSet ELEVATE_ONLINE

適用対象: Azure SQL データベースAzure SQL Database (機能はパブリック プレビュー段階)Applies to: Azure SQL データベースAzure SQL Database (feature is in public preview)

この例では、ELEVATE_ONLINE が FAIL_UNSUPPORTED に設定されます。This example sets ELEVATE_ONLINE to FAIL_UNSUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_ONLINE = FAIL_UNSUPPORTED ;

J.J. ELEVATE_RESUMABLE を設定するSet ELEVATE_RESUMABLE

適用対象: Azure SQL データベースAzure SQL DatabaseSQL Server 2019SQL Server 2019 (機能はパブリック プレビュー段階)Applies to: Azure SQL データベースAzure SQL Database and SQL Server 2019SQL Server 2019 (feature is in public preview)

この例では、ELEVATE_RESUMABLE が WHEN_SUPPORTED に設定されます。This example sets ELEVATE_RESUMABLE to WHEN_SUPPORTED.

ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_RESUMABLE = WHEN_SUPPORTED ;

K.K. プラン キャッシュからクエリ プランを削除するClear a query plan from the plan cache

適用対象:SQL ServerSQL Server (開始値 SQL Server 2017 (14.x)SQL Server 2017 (14.x)) および Azure SQL データベースAzure SQL DatabaseApplies to: SQL ServerSQL Server (Starting with SQL Server 2017 (14.x)SQL Server 2017 (14.x)) and Azure SQL データベースAzure SQL Database

この例では、プロシージャ キャッシュから特定のプランを削除します。This example clears a specific plan from the procedure cache

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;

その他のリソースAdditional Resources

MAXDOP リソースMAXDOP Resources

LEGACY_CARDINALITY_ESTIMATION リソースLEGACY_CARDINALITY_ESTIMATION Resources

PARAMETER_SNIFFING リソースPARAMETER_SNIFFING Resources

QUERY_OPTIMIZER_HOTFIXES リソースQUERY_OPTIMIZER_HOTFIXES Resources

ELEVATE_ONLINE リソースELEVATE_ONLINE Resources

オンライン インデックス操作のガイドラインGuidelines for Online Index Operations

ELEVATE_RESUMABLE リソースELEVATE_RESUMABLE Resources

オンライン インデックス操作のガイドラインGuidelines for Online Index Operations

詳細情報More information