データベース オプション

次の表は、データベース オプションの一覧 (アルファベット順)、対応する SET、および MicrosoftSQL 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

1SQL Server 2005 Express Edition の場合、既定では AUTO_CLOSE が TRUE に設定されます。

新しいデータベースの場合、データベース オプションの既定値は、model データベースに定義されている値です。モデル データベースの既定の設定を表示する方法については、「model データベース」を参照してください。

データベース オプションを変更すると、キャッシュに保存されているすべての内容を再コンパイルする必要があります。

オプションとデータベース コンテキスト

スクリプトおよびスクリプト内のバッチのデータベース コンテキストは、最新の接続によって決定されます。接続は、Transact-SQL で USE ステートメントを使用して明示的に設定でき、ODBC や OLE DB などの他の環境では、暗黙的な手段と明示的な手段の両方を使用して設定できます。詳細については、「データベースの選択」を参照してください。

ストアド プロシージャをバッチまたは他のストアド プロシージャから実行する場合には、そのストアド プロシージャが格納されているデータベースのオプション設定で実行されます。たとえば、ストアド プロシージャ db1.dbo.sp1 がストアド プロシージャ db2.dbo.sp2 を呼び出す場合、sp1db1 の現在の互換性レベル設定で実行され、sp2db2 の現在の互換性レベル設定で実行されます。

Transact-SQL ステートメントが複数のデータベース内のオブジェクトを参照している場合は、現在のデータベース コンテキストと現在の接続コンテキストがそのステートメントに適用されます。