DATABASEPROPERTYEX (Transact-SQL)

指定されたデータベース オプションの現在の設定値、または指定されたデータベースのプロパティを返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

DATABASEPROPERTYEX ( database , property )

引数

  • database
    指定されたプロパティ情報を返す基になるデータベースの名前を表す式を指定します。database のデータ型は nvarchar(128) です。

  • property
    返されるデータベース プロパティの名前を表す式を指定します。property のデータ型は varchar(128) で、次のいずれかの値を指定できます。戻り値の型は sql_variant です。次の表は、各プロパティの値の基本データ型を示しています。

    注意

    データベースが起動されていない場合、SQL Server がメタデータから値を取得するのではなく直接データベースにアクセスして取得したプロパティは、NULL を返します。つまり、データベースで AUTO_CLOSE が ON に設定されているなど、データベースがオフラインの場合に NULL を返します。

    プロパティ

    説明

    戻り値

    Collation

    データベースの既定の照合順序名です。

    照合順序名

    NULL = データベースを閉じている場合

    基本データ型: nvarchar(128)

    ComparisonStyle

    照合順序の Windows 比較形式です。ComparisonStyle はビットマップで、次の値を使用して計算されます。

    スタイル値
    大文字と小文字を区別しない1
    アクセントを無視する2
    ひらがなとカタカナを区別しない65536
    全角と半角を区別しない131072

    たとえば、既定値 196609 は、大文字と小文字を区別しない、ひらがなとカタカナを区別しない、全角と半角を区別しないという 3 つのオプションを足した値を表しています。

    比較スタイルを返します。

    バイナリ照合順序ではすべて 0 が返されます。

    基本データ型: int

    IsAnsiNullDefault

    データベースは、ISO のルールに従い NULL 値を許可します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAnsiNullsEnabled

    NULL 値との比較結果は未定義です。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAnsiPaddingEnabled

    比較または挿入の前に文字列が同じ長さになります。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAnsiWarningsEnabled

    一般的なエラー状態が発生した場合、エラー メッセージまたは警告メッセージが出力されます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsArithmeticAbortEnabled

    クエリ実行中にオーバーフローまたは 0 除算エラーが発生した場合に、クエリを終了します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAutoClose

    最後のユーザーが終了すると、データベースは即座にシャットダウンし、リソースを解放します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAutoCreateStatistics

    クエリのパフォーマンスを向上させるために、クエリ オプティマイザーが必要に応じて 1 列ずつの統計を作成します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAutoShrink

    データベース ファイルは、自動的に行われる定期的な圧縮の対象です。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsAutoUpdateStatistics

    クエリで使用される既存の統計が古くなっている可能性がある場合、クエリ オプティマイザーによって更新されます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsCloseCursorsOnCommitEnabled

    トランザクションがコミットされるときにオープン中のカーソルが終了します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsFulltextEnabled

    データベースは、フルテキスト検索が許可されています。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    注意
    このプロパティの値は無効です。ユーザー データベースでは、常にフルテキスト検索が有効になっています。この列は、SQL Server の将来のリリースでは削除される予定です。新規の開発作業ではこの列を使用しないようにし、現在この列を使用しているアプリケーションはできるだけ早く修正してください。

    IsInStandBy

    データベースは読み取り専用のオンライン状態で、復元ログが許可されています。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsLocalCursorsDefault

    カーソル宣言の既定値は LOCAL です。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsMergePublished

    レプリケーションがインストールされている場合は、データベースのテーブルをマージ レプリケーション用にパブリッシュできます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsNullConcat

    NULL を連結したオペランドは、NULL になります。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsNumericRoundAbortEnabled

    式の有効桁数が失われた場合にエラーが生成されます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsParameterizationForced

    PARAMETERIZATION データベース SET オプションが FORCED です。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    IsQuotedIdentifiersEnabled

    識別子に二重引用符を使用できます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsPublished

    レプリケーションがインストールされている場合は、データベースのテーブルをスナップショット レプリケーションまたはトランザクション レプリケーション用にパブリッシュできます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsRecursiveTriggersEnabled

    トリガーの再帰的な発生が許可されています。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsSubscribed

    データベースはパブリケーションにサブスクライブされます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsSyncWithBackup

    データベースは、パブリッシュされたデータベース、またはディストリビューション データベースです。また、トランザクション レプリケーションを中断せずに復元できます。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    IsTornPageDetectionEnabled

    SQL Server データベース エンジンは、電源障害やその他のシステムの停止によって発生した不完全な I/O 操作を検出します。

    1 = TRUE

    0 = FALSE

    NULL = 無効な入力

    基本データ型: int

    LCID

    照合順序の Windows ロケール識別子 (LCID) です。

    LCID 値 (10 進数形式)。

    基本データ型: int

    LCID 値 (16 進数形式) の一覧については、「セットアップでの照合順序の設定」を参照してください。

    Recovery

    データベースの復旧モデルです。

    FULL = 完全復旧モデル

    BULK_LOGGED = 一括ログ復旧モデル

    SIMPLE = 単純復旧モデル

    基本データ型: nvarchar(128)

    SQLSortOrder

    以前のバージョンの SQL Server でサポートされている SQL Server 並べ替え順 ID です。

    0 = データベースが Windows 照合順序を使用している場合

    >0 = SQL Server 並べ替え順 ID

    NULL = 入力が有効ではないか、データベースを閉じている場合

    基本データ型: tinyint

    Status

    データベースの状態です。

    ONLINE = データベースをクエリに使用できます。

    注意
    データベースが開かれていて、まだ復旧されていないときに、ONLINE ステータスが返される場合があります。データベースがいつ接続を受け入れることができるかを特定するには、DATABASEPROPERTYEX の Collation プロパティにクエリを実行します。データベースの照合順序から NULL 以外の値が返された場合、データベースは接続を受け入れることができます。

    OFFLINE = データベースが明示的にオフラインになりました。

    RESTORING = データベースは復元中です。

    RECOVERING = データベースは復旧中で、まだクエリに使用できません。

    SUSPECT = データベースを復旧できません。

    EMERGENCY = データベースは、読み取り専用の緊急モードです。sysadmin メンバーのみにアクセスが制限されます。

    基本データ型: nvarchar(128)

    Updateability

    データを変更できるかどうかを示します。

    READ_ONLY = データを読み取ることはできますが、変更できません。

    READ_WRITE = データの読み取りと変更が可能です。

    基本データ型: nvarchar(128)

    UserAccess

    データベースにアクセスできるユーザーを示します。

    SINGLE_USER = 一度に 1 人の db_owner、dbcreator、または sysadmin ユーザーのみ

    RESTRICTED_USER = db_owner、dbcreator、および sysadmin の各ロールのメンバーのみ

    MULTI_USER = すべてのユーザー

    基本データ型: nvarchar(128)

    Version

    このデータベースが作成された SQL Server コードの内部バージョン番号です。単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。

    バージョン番号 = データベースを開いている場合

    NULL = データベースを閉じている場合

    基本データ型: int

戻り値の型

sql_variant

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

SQL Server では、そのユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (OBJECT_ID など) が NULL を返す可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。

説明

DATABASEPROPERTYEX は、プロパティの設定値を一度に 1 つだけ返します。複数のプロパティの設定値を表示するには、sys.databases カタログ ビューを使用します。

A. AUTO_SHRINK データベース オプションの設定値を取得する

次の例では、AdventureWorks2008R2 データベースの AUTO_SHRINK データベース オプションの設定値を返します。

SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'IsAutoShrink');

以下に結果セットを示します。この結果セットは、AUTO_SHRINK がオフであることを示しています。

------------------

0

B. データベースの既定の照合順序を取得する

次の例では、AdventureWorks2008R2 データベースの既定の照合順序の名前を返します。

SELECT DATABASEPROPERTYEX('AdventureWorks2008R2', 'Collation');

以下に結果セットを示します。

------------------------------

SQL_Latin1_General_CP1_CI_AI