データベース オプション
次の表は、データベース オプションの一覧 (アルファベット順)、対応する SET、および Microsoft SQL Server でサポートされているサーバー オプションを示しています。
データベース オプション |
SET オプション |
[サーバー] オプション |
既定の 設定 |
---|---|---|---|
ANSI_NULL_DEFAULT |
ANSI_NULL_DFLT_ON ANSI_NULL_DFLT_OFF |
user options で既定値を割り当て |
OFF |
ANSI_NULLS |
ANSI_NULLS |
user options で既定値を割り当て |
OFF |
ANSI_WARNINGS |
ANSI_WARNINGS |
user options で既定値を割り当て |
OFF |
AUTO_CREATE_STATISTICS |
なし |
なし |
ON |
AUTO_UPDATE_STATISTICS |
なし |
なし |
ON |
AUTO_CLOSE |
なし |
なし |
FALSE1 |
AUTO_SHRINK |
なし |
なし |
FALSE |
CONCAT_NULL_YIELDS_NULL |
CONCAT_NULL_YIELDS_NULL |
なし |
OFF |
CURSOR_CLOSE_ON_COMMIT |
CURSOR_CLOSE_ON_COMMIT |
user options で既定値を割り当て |
OFF |
RESTRICTED_USER |
なし |
なし |
FALSE |
CURSOR_DEFAULT_LOCAL |
なし |
なし |
FALSE |
MERGE PUBLISH |
なし |
なし |
FALSE |
OFFLINE |
なし |
なし |
FALSE |
PUBLISHED |
なし |
なし |
FALSE |
QUOTED_IDENTIFIER |
QUOTED_IDENTIFIER |
user options で既定値を割り当て |
OFF |
READ_ONLY |
なし |
なし |
FALSE |
RECURSIVE_TRIGGERS |
なし |
なし |
FALSE |
RECOVERY BULK_LOGGED |
なし |
なし |
FALSE |
SINGLE_USER |
なし |
なし |
FALSE |
SUBSCRIBED |
なし |
なし |
TRUE |
TORN_PAGE_DETECTION |
|
なし |
TRUE |
RECOVERY SIMPLE |
なし |
なし |
TRUE |
1 SQL Server 2005 Express Edition の場合、既定では AUTO_CLOSE が TRUE に設定されます。
新しいデータベースの場合、データベース オプションの既定値は、model データベースに定義されている値です。モデル データベースの既定の設定を表示する方法については、「model データベース」を参照してください。
データベース オプションを変更すると、キャッシュに保存されているすべての内容を再コンパイルする必要があります。
オプションとデータベース コンテキスト
スクリプトおよびスクリプト内のバッチのデータベース コンテキストは、最新の接続によって決定されます。接続は、Transact-SQL で USE ステートメントを使用して明示的に設定でき、ODBC や OLE DB などの他の環境では、暗黙的な手段と明示的な手段の両方を使用して設定できます。詳細については、「データベースの選択」を参照してください。
ストアド プロシージャをバッチまたは他のストアド プロシージャから実行する場合には、そのストアド プロシージャが格納されているデータベースのオプション設定で実行されます。たとえば、ストアド プロシージャ db1.dbo.sp1 がストアド プロシージャ db2.dbo.sp2 を呼び出す場合、sp1 は db1 の現在の互換性レベル設定で実行され、sp2 は db2 の現在の互換性レベル設定で実行されます。
Transact-SQL ステートメントが複数のデータベース内のオブジェクトを参照している場合は、現在のデータベース コンテキストと現在の接続コンテキストがそのステートメントに適用されます。