次の方法で共有


DATABASEPROPERTYEX (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric プレビューの SQL データベース

SQL Server の指定したデータベースの場合、 DATABASEPROPERTYEX 関数は、指定したデータベース オプションまたはプロパティの現在の設定を返します。

Transact-SQL 構文表記規則

構文

DATABASEPROPERTYEX ( database , property )

引数

データベース

DATABASEPROPERTYEXが名前付きプロパティ情報を返すデータベースの名前を指定する式。 database には、データ型 nvarchar(128) が与えられます。

SQL Database については、DATABASEPROPERTYEX は現在のデータベースの名前を必要とします。 異なるデータベース名を指定すると、すべてのプロパティの NULL が返されます。

財産

返されるデータベース プロパティの名前を指定する式。 property にはデータ型 varchar(128) が与えられ、この表のいずれかの値が入ります。

注意

データベースがまだ起動していない場合、DATABASEPROPERTYEXがメタデータから取得するのではなく、直接データベース アクセスによってこれらの値を取得した場合、DATABASEPROPERTYEXの呼び出しはNULLを返します。 AUTO_CLOSEON に設定されているデータベース、またはオフラインに設定されているデータベースは、"開始されていません" と定義されます。

プロパティ 説明 返される値
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
セッション設定SNAPSHOTTRANSACTION ISOLATION LEVELREAD 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_CLONEDBDBCC 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 データベースが接続を受け入れられるかどうかを確認するには、DATABASEPROPERTYEXCollation プロパティに対してクエリを実行します。 ONLINE データベースは、データベースの照合順序が null 以外の値を返すときに接続を受け入れます。 Always On データベースの場合は、sys.dm_hadr_database_replica_statesdatabase_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_ownerdbcreator、または 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');