DATABASEPROPERTYEX (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
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 以外の値が返されたときに接続を受け入れることができます。 AlwaysOn データベースの場合は、sys.dm_hadr_database_replica_states の database_state 列または database_state_desc 列のクエリを実行します。
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 データベース オプションの設定値を取得する
次の例では、AdventureWorks データベースの AUTO_SHRINK データベース オプションの設定値を返します。
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'IsAutoShrink');
以下に結果セットを示します。この結果セットは、AUTO_SHRINK がオフであることを示しています。
------------------
0
B. データベースの既定の照合順序を取得する
次の例では、AdventureWorks データベースの既定の照合順序の名前を返します。
SELECT DATABASEPROPERTYEX('AdventureWorks2012', 'Collation');
以下に結果セットを示します。
------------------------------
SQL_Latin1_General_CP1_CI_AI
関連項目
参照
sys.database_files (Transact-SQL)