適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric プレビューの SQL データベース
SQL Server の指定したデータベースの場合、 DATABASEPROPERTYEX 関数は、指定したデータベース オプションまたはプロパティの現在の設定を返します。
構文
DATABASEPROPERTYEX ( database , property )
引数
データベース
DATABASEPROPERTYEXが名前付きプロパティ情報を返すデータベースの名前を指定する式。
database には、データ型 nvarchar(128) が与えられます。
SQL Database については、DATABASEPROPERTYEX は現在のデータベースの名前を必要とします。 異なるデータベース名を指定すると、すべてのプロパティの NULL が返されます。
財産
返されるデータベース プロパティの名前を指定する式。 property にはデータ型 varchar(128) が与えられ、この表のいずれかの値が入ります。
注意
データベースがまだ起動していない場合、DATABASEPROPERTYEXがメタデータから取得するのではなく、直接データベース アクセスによってこれらの値を取得した場合、DATABASEPROPERTYEXの呼び出しはNULLを返します。
AUTO_CLOSEが ON に設定されているデータベース、またはオフラインに設定されているデータベースは、"開始されていません" と定義されます。
| プロパティ | 説明 | 返される値 |
|---|---|---|
Collationデータ型: nvarchar(128) |
データベースの既定の照合順序名です。 | 照合順序名。
NULL場合、データベースは開始されません。 |
ComparisonStyleデータ型: int |
照合順序の Windows 比較形式です。 完成した ComparisonStyle 値のビットマップを作成するには、次のスタイル値を使用します。- 1: 大文字と小文字を区別しない- 2: アクセントを無視します。- 65536: かなを無視します- 131072: 幅を無視します。たとえば、 196609 の既定値は、 大文字と小文字の区別を無視し、かなを 無視し、幅を 無視 するオプションを組み合わせた結果です。 |
比較スタイルを返します。 すべてのバイナリ照合順序の 0 を返します。 |
Editionデータ型: nvarchar(64) |
データベースのエディションまたはサービス レベルです。 | - General Purpose- Business Critical- Basic- Standard- Premium- System ( master データベースの場合)- FabricSQLDB: Microsoft Fabric プレビューの SQL データベース- NULL: データベースが開始されていません。適用対象: Azure SQL Database、Microsoft Fabric プレビューの SQL データベース、Azure Synapse Analytics。 |
IsAnsiNullDefaultデータ型: int |
データベースは、 NULL 値を許可するための ISO 規則に従います。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAnsiNullsEnabledデータ型: int |
NULLとの比較はすべて不明と評価されます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAnsiPaddingEnabledデータ型: int |
比較または挿入を行う前に、対象の文字列が同じ長さになるようにパディングを行います。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAnsiWarningsEnabledデータ型: int |
一般的なエラー状態が発生したとき、SQL Server からエラー メッセージまたは警告メッセージが出力されます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsArithmeticAbortEnabledデータ型: int |
クエリ実行中にオーバーフローまたは 0 除算エラーが発生したとき、クエリは終了します。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAutoCloseデータ型: int |
最後のユーザーが終了すると、データベースは即座にシャットダウンし、リソースを解放します。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAutoCreateStatisticsデータ型: int |
クエリのパフォーマンスを向上させるために、クエリ オプティマイザーが必要に応じて 1 列ずつの統計を作成します。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAutoCreateStatisticsIncrementalデータ型: int |
可能な場合、自動作成された 1 列ずつの統計は増分統計になります。 |
-
1:真- 0:偽- NULL: 入力が無効です適用対象: SQL Server 2014 (12.x) 以降のバージョン。 |
IsAutoShrinkデータ型: int |
データベース ファイルを、自動的に行われる定期的な圧縮の対象とします。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsAutoUpdateStatisticsデータ型: int |
古くなっている可能性がある既存の統計がクエリで使用されるとき、クエリ オプティマイザーによってその統計が更新されます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsCloneデータ型: int |
データベースは、 DBCC CLONEDATABASEで作成されたユーザー データベースのスキーマおよび統計のみのコピーです。 |
-
1:真- 0:偽- NULL: 入力が無効です適用対象: SQL Server 2014 (12.x) SP2 以降のバージョン。 |
IsCloseCursorsOnCommitEnabledデータ型: int |
トランザクションがコミットされると、開いているすべてのカーソルが閉じられます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsDatabaseSuspendedForSnapshotBackupデータ型: int |
データベースは中断されています。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsFulltextEnabledデータ型: int |
データベースではフルテキストおよびセマンティック インデックス作成を有効にします。 |
-
1:真- 0:偽- NULL: 入力が無効です適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。 注: このプロパティの値は無効になりました。 ユーザー データベースでは、常にフルテキスト検索が有効になっています。 SQL Server の将来のリリースでこのプロパティはなくなります。 新しい開発作業ではこのプロパティを使用しないでください。また、現在このプロパティを使用しているアプリケーションはできるだけ早く変更してください。 |
IsInStandByデータ型: int |
データベースは読み取り専用のオンライン状態で、復元ログが許可されています。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsLocalCursorsDefaultデータ型: int |
カーソル宣言は既定で LOCAL。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsMemoryOptimizedElevateToSnapshotEnabledデータ型: int |
セッション設定SNAPSHOTがTRANSACTION ISOLATION LEVEL、READ COMMITTED、または低い分離レベルに設定されている場合、メモリ最適化テーブルはREAD UNCOMMITTED分離を使用してアクセスされます。 |
-
1:真- 0:偽適用対象: SQL Server 2014 (12.x) 以降のバージョン。 |
IsMergePublishedデータ型: int |
レプリケーションがインストールされている場合は、SQL Server では、マージ レプリケーションのためにデータベース テーブルをパブリッシュできます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsNullConcatデータ型: int |
null 連結オペランドは NULLを生成します。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsNumericRoundAbortEnabledデータ型: int |
式の有効桁数が失われた場合にエラーが生成されます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsOptimizedLockingOnデータ型: int |
最適化されたロックは、データベースに対して有効になっています。 |
-
1:真- 0:偽- NULL: 使用できません適用対象: SQL Server 2025 (17.x) プレビュー以降のバージョン、Microsoft Fabric プレビューの Azure SQL Database、Azure SQL Managed InstanceAUTD、SQL データベース。 |
IsParameterizationForcedデータ型: int |
PARAMETERIZATION データベース SET オプションが FORCED。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsQuotedIdentifiersEnabledデータ型: int |
識別子に二重引用符を使用できます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsPublishedデータ型: int |
レプリケーションがインストールされている場合は、SQL Server では、データベースのテーブルをスナップショット レプリケーションまたはトランザクション レプリケーション用にパブリッシュできます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsRecursiveTriggersEnabledデータ型: int |
トリガーの再帰的な発生が許可されています。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsSubscribedデータ型: int |
データベースはパブリケーションにサブスクライブされます。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsSyncWithBackupデータ型: int |
データベースはパブリッシュされたデータベースまたはディストリビューション データベースであり、トランザクション レプリケーションを中断しない復元をサポートします。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsTornPageDetectionEnabledデータ型: int |
SQL Server データベース エンジンは、電源障害やその他のシステムの停止によって発生した不完全な I/O 操作を検出します。 |
-
1:真- 0:偽- NULL: 入力が無効です |
IsVerifiedCloneデータ型: int |
データベースは、WITH VERIFY_CLONEDBの DBCC CLONEDATABASE オプションを使用して作成された、ユーザー データベースのスキーマと統計のみのコピーです。 |
-
1:真- 0:偽- NULL: 入力が無効です適用対象: SQL Server 2016 (13.x) SP2 以降のバージョン。 |
IsXTPSupportedデータ型: int |
データベースで In-Memory OLTP がサポートされるか示します。 たとえば、メモリ最適化テーブルやネイティブでコンパイルされるモジュールの作成と使用。 SQL Server に固有: IsXTPSupported は、In-Memory OLTP オブジェクトを作成するために必要な MEMORY_OPTIMIZED_DATA ファイル グループの存在とは無関係です。 |
-
1:真- 0:偽- NULL: 無効な入力、エラー、または該当しない適用対象: SQL Server 2016 (13.x) 以降のバージョン、および Azure SQL Database。 |
LastGoodCheckDbTimeデータ型: datetime |
指定したデータベースで最後に成功した DBCC CHECKDB の日時。
DBCC CHECKDBがデータベースで実行されていない場合は、1900-01-01 00:00:00.000が返されます。 可用性グループの一部であるデータベースの場合、 LastGoodCheckDbTime は、コマンドを実行したレプリカに関係なく、プライマリ レプリカで実行された最後に成功した DBCC CHECKDB の日時を返します。 |
NULL: 入力が無効です適用対象: SQL Server 2016 (13.x) SP2、SQL Server 2017 (14.x) CU9、SQL Server 2019 (15.x) 以降のバージョン、Azure SQL Database、および Microsoft Fabric プレビューの SQL データベース。 |
LCIDデータ型: int |
照合順序の Windows ロケール識別子 (LCID)。 | LCID 値 (10 進数形式)。 |
MaxSizeInBytesデータ型: bigint |
最大データベース サイズ (バイト単位)。 |
-
Azure SQL Database と Azure Synapse Analytics: 追加のストレージが購入されていない限り、値は SLO に基づいています。 - 仮想コア: 値は最大サイズまで 1 GB ずつ増分されます。 - NULL: データベースが開始されていません適用対象: Azure SQL Database、Microsoft Fabric プレビューの SQL データベース、Azure Synapse Analytics。 |
Recoveryデータ型: nvarchar(128) |
データベース復旧モデル。 |
-
FULL: 完全復旧モデル- BULK_LOGGED: 一括ログモデル- SIMPLE: 単純復旧モデル |
ServiceObjectiveデータ型: nvarchar(32) |
SQL Database のデータベース、Microsoft Fabric プレビューの SQL データベース、または Azure Synapse Analytics のパフォーマンス レベルについて説明します。 | 次のいずれかの値です。 - NULL: データベースが開始されていません- Shared (Web/Business エディションの場合)- Basic- S0- S1- S2- S3- P1- P2- P3- ElasticPool- System ( master データベースの場合)- FabricSQLDB: Microsoft Fabric プレビューの SQL データベース |
ServiceObjectiveIdデータ型: uniqueidentifier |
SQL Database のサービス目標の ID です。 | サービス目標の ID。 |
SQLSortOrderデータ型: tinyint |
以前のバージョンの SQL Server でサポートされている SQL Server 並べ替え順 ID です。 |
-
0: データベースで Windows 照合順序を使用する- >0: SQL Server の並べ替え順序 ID- NULL: 入力が無効であるか、データベースが開始されていません |
Statusデータ型: nvarchar(128) |
データベースの状態です。 |
ONLINE: データベースはクエリに使用できます。手記: この関数は、データベースが開き、まだ復旧されていない間に、 ONLINE の状態を返す場合があります。
ONLINE データベースが接続を受け入れられるかどうかを確認するには、DATABASEPROPERTYEXの Collation プロパティに対してクエリを実行します。
ONLINE データベースは、データベースの照合順序が null 以外の値を返すときに接続を受け入れます。 Always On データベースの場合は、sys.dm_hadr_database_replica_statesのdatabase_state列またはdatabase_state_desc列に対してクエリを実行します。- OFFLINE: データベースが明示的にオフラインになりました。- RESTORING: データベースの復元が開始されました。- RECOVERING: データベースの復旧が開始され、データベースはまだクエリの準備ができていません。- SUSPECT: データベースが復旧されませんでした。- EMERGENCY: データベースは緊急の読み取り専用状態です。 アクセスは sysadmin メンバーに制限されます |
Updateabilityデータ型: nvarchar(128) |
データを変更できるかどうかを示します。 |
READ_ONLY: データベースはデータの読み取りをサポートしますが、データの変更はサポートしません。- READ_WRITE: データベースでは、データの読み取りと変更がサポートされます。 |
UserAccessデータ型: nvarchar(128) |
データベースにアクセスできるユーザーを示します。 |
SINGLE_USER: 一度 に 1 人のdb_owner、 dbcreator、または sysadmin ユーザーのみ- RESTRICTED_USER: db_owner、 dbcreator、または sysadmin ロールのメンバーのみ- MULTI_USER: すべてのユーザー |
Versionデータ型: int |
このデータベースが作成された SQL Server コードの内部バージョン番号です。 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 | - バージョン番号: データベースが開いています。 - NULL: データベースが開始されていません。 |
ReplicaIDデータ型: nvarchar(128) |
接続されているハイパースケール データベース/レプリカのレプリカ ID。 | 接続されている Hyperscale データベース/レプリカのレプリカ ID のみを返します。 レプリカの種類の詳細については、「 Hyperscale セカンダリ レプリカ」を参照してください。 - NULL: ハイパースケール データベースではないか、データベースが開始されていません。適用対象: Azure SQL Database Hyperscale。 |
戻り値の型
sql_variant
例外
エラーが発生した場合、または呼び出し元にオブジェクトを表示する権限がない場合に NULL を返します。
SQL Server では、そのユーザーが所有している、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。 このルールは、ユーザーがオブジェクトに対するアクセス許可を持っていない場合、メタデータを出力する OBJECT_ID などの組み込み関数が NULL を返すことができることを意味します。 詳細については、「 メタデータの可視性の構成」を参照してください。
解説
DATABASEPROPERTYEX は、プロパティ設定を一度に 1 つだけ返します。 表示するには複数のプロパティの設定を使用して、 sys.databases カタログ ビューです。
例
この記事のコード サンプルでは、AdventureWorks2022 または AdventureWorksDW2022 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。
A。 AUTO_SHRINK データベース オプションの状態を取得する
次の使用例は、AUTO_SHRINK データベースの AdventureWorks データベース オプションの状態を返します。
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
結果セットは次のとおりです。 これは、 AUTO_SHRINK がオフであることを示します。
0
B. データベースの既定の照合順序を取得する
この例は、AdventureWorks データベースのいくつかの属性を返します。
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;
結果セットは次のとおりです。
Collation Edition ServiceObjective MaxSizeInBytes
---------------------------- ------------- ---------------- --------------
SQL_Latin1_General_CP1_CI_AS DataWarehouse DW1000 5368709120
C: DATABASEPROPERTYEX を使用し、レプリカへの接続を検証する
Azure SQL Database スケールアウト機能を使用する場合は、データベースのコンテキストで次のクエリを実行することで、読み取り専用レプリカに接続されているかどうかを確認できます。 読み取り専用レプリカに接続すると、 READ_ONLY が返されます。 この方法により、読み取り専用レプリカでクエリが実行されているタイミングも特定できます。
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');