データベースのプロパティの表示または変更
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
SQL Server Management Studio または Transact-SQL を使用して、SQL Server でデータベースのプロパティを表示または変更する方法について説明します。 データベースのプロパティを変更すると、変更は直ちに有効になります。
このトピックの内容
作業を開始する準備:
以下を使用してデータベースのプロパティを表示または変更するには:
始める前に
推奨事項
- AUTO_CLOSE が ON の場合、データベースからデータを取得できないため、 sys.databases カタログ ビューの一部の列、および DATABASEPROPERTYEX 関数は、NULL を返します。 これを解決するには、データベースを開きます。
セキュリティ
アクセス許可
データベースのプロパティを変更するには、データベースに対する ALTER 権限が必要です。 データベースのプロパティを表示するには、少なくとも public データベース ロールのメンバーシップが必要です。
SQL Server Management Studio を使用する
データベースのプロパティを表示または変更するには
オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース]を展開し、表示するデータベースを右クリックします。次に [プロパティ]をクリックします。
[データベースのプロパティ] ダイアログ ボックスで、任意のページを選択して、対応する情報を表示します。 たとえば、データおよびログ ファイルの情報を表示するには、 [ファイル] ページをクリックします。
Transact-SQL の使用
Transact-SQL を使用すると、さまざまな方法でデータベースのプロパティを表示および変更できます。 データベースのプロパティを表示するには、DATABASEPROPERTYEX (Transact-SQL) 関数と sys.databases (Transact-SQL) カタログ ビューを使用します。 データベースのプロパティを変更するには、自分の環境に合う ALTER DATABASE ステートメントのバージョン (ALTER DATABASE (Transact-SQL) または ALTER DATABASE (Azure SQL データベース ) ) を使用できます。 データベース スコープのプロパティを表示するには、sys.database_scoped_configurations (Transact-SQL) カタログ ビューを使用します。データベース スコープのプロパティを変更するには、ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) ステートメントを使用します。
DATABASEPROPERTYEX 関数を使用してデータベースのプロパティを表示するには
データベース エンジンに接続し、プロパティを表示するデータベースに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 データベースの AUTO_SHRINK データベース オプションのステータスを、 DATABASEPROPERTYEX
AdventureWorks2022
システム関数を使用して取得します。 戻り値が 1 の場合はオプションがオンに、戻り値が 0 の場合はオフに設定されていることを意味します。SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
sys.databases をクエリすることによってデータベースのプロパティを表示するには
データベース エンジンに接続し、プロパティを表示するデータベースに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 sys.databases カタログ ビューをクエリして、
AdventureWorks2022
データベースのいくつかのプロパティを表示します。 この例では、データベースの ID 番号 (database_id
)、データベースが読み取り専用か読み取り/書き込み可能かの情報 (is_read_only
)、データベースの照合順序 (collation_name
)、データベースの互換性レベル (compatibility_level
) を取得します。SELECT database_id, is_read_only, collation_name, compatibility_level FROM sys.databases WHERE name = 'AdventureWorks2022';
sys.databases_scoped_configuration を照会してデータベース スコープの構成のプロパティを表示するには
データベース エンジンに接続し、プロパティを表示するデータベースに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、sys.database_scoped_configurations (Transact-SQL) カタログ ビューのクエリを実行し、現在のデータベースのいくつかのプロパティを表示します。
SELECT configuration_id, name, value, value_for_secondary FROM sys.database_scoped_configurations;
その他の例については、「sys.database_scoped_configurations (Transact-SQL)」をご覧ください。
ALTER DATABASE を使用して SQL Server 2016 データベースのプロパティを変更するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーし、クエリ ウィンドウに貼り付けます。 この例では、
AdventureWorks2022
データベース上のスナップショット分離の状態を確認し、プロパティの状態を変更した後、変更内容を確認します。スナップショット分離の状態を確認するには、まず
SELECT
ステートメントを選択し、 [実行]をクリックします。スナップショット分離の状態を変更するには、
ALTER DATABASE
ステートメントを選択し、 [実行]をクリックします。変更内容を確認するには、2 つ目の
SELECT
ステートメントを選択し、 [実行]をクリックします。USE AdventureWorks2022; GO -- Check the state of the snapshot_isolation_framework -- in the database. SELECT name, snapshot_isolation_state, snapshot_isolation_state_desc AS description FROM sys.databases WHERE name = N'AdventureWorks2022'; GO USE master; GO ALTER DATABASE AdventureWorks2022 SET ALLOW_SNAPSHOT_ISOLATION ON; GO -- Check again. SELECT name, snapshot_isolation_state, snapshot_isolation_state_desc AS description FROM sys.databases WHERE name = N'AdventureWorks2022'; GO
ALTER DATABASE SCOPED CONFIGURATION を使用してデータベース スコープのプロパティを変更するには
SQL Server インスタンスのデータベースに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーし、クエリ ウィンドウに貼り付けます。 次の例では、セカンダリ データベースの MAXDOP をプライマリ データベースの値に設定しています。
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY
参照
sys.databases (Transact-SQL)
DATABASEPROPERTYEX (Transact-SQL)
ALTER DATABASE (Transact-SQL)
ALTER DATABASE (Azure SQL Database)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
sys.database_scoped_configurations (Transact-SQL)