Management Studioのオプション
Management Studioの[ツール]-> [オプション]-> [クエリ実行]-> [SQL Server]には、設定されているオプションがあり、これらはデータベースレベルで設定されている同じオプションよりも優先されます。
データベースレベルのオプション
management Studioでデータベースを右クリックすると、いくつかのオプションのデフォルトが何であるかを確認できます(下の図の黄色)
sys.databases を使用すると、T_SQLを使用してこれらのオプションを取得できます。
セッションレベルのオプション
sys.dm_exec_sessions を使用すると、現在のセッションに設定されているオプションを取得できます。
質問
データベース設定がManagement Studio設定よりも優先されるようにする方法はありますか?
私は計画を作成することを考え、 OPTION(USE PLAN) を使用しましたが、この質問の範囲を超える他の結果があります。
サーバー上で発生するすべての接続に対してデータベースのデフォルトを強制することが可能かどうかを尋ねる場合は、いいえ。これらのデフォルトは、接続レベルで矛盾するものが設定されていない場合にのみ有効になります。
SSMSの個々のバッチでは、SET ANSI_NULLS ON
、SET ANSI_NULLS OFF
、SET QUOTED_IDENTIFIER ON
などのステートメントを使用して、次のステートメントの解釈方法を制御できます。
ストアドプロシージャでは、少し複雑です。
プロシージャが作成されると、ANSI_NULLS
オプションとQUOTED_IDENTIFIER
オプションの現在の値が記憶され、そのプロシージャの呼び出し内で使用されますが、他の設定の場合は同じではありませんARITHABORT
およびANSI_PADDINGS
-動作を修正するために手順でSET <setting> ON/OFF
を使用する必要がある場合。この状況の詳細については、製品ドキュメントの CREATE PROCEDURE(Transact-SQL) の相互運用性セクションを参照してください。