適用対象: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 権限が必要です。 データベースのプロパティを見るには、少なくとも 公開 固定データベースの役割のメンバーシップが必要です。
SQL Server Management Studio を使用します。
オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
データベースを展開し、右クリックして表示し、プロパティを選択します。
[データベースのプロパティ] ダイアログ ボックスで、任意のページを選択して、対応する情報を表示します。 たとえば、データおよびログ ファイルの情報を表示するには、 [ファイル] ページをクリックします。
Transact-SQL を使用する
Transact-SQL を使用すると、さまざまな方法でデータベースのプロパティを表示および変更できます。 データベースのプロパティを表示するには、 DATABASEPROPERTYEX 関数と sys.databases カタログビューを使用します。 データベースのプロパティを変更するには、環境の ALTER DATABASE 文のバージョンである ALTER DATABASE または ALTER DATABASE を使用します。 データベースのスコーププロパティを表示するには、 sys.database_scoped_configurations カタログビューをご利用ください。 データベースのスコーププロパティを変更するには、 ALTER DATABASE SCOPED CONFIGURATION 文を使用します。
DATABASEPROPERTYEX関数でデータベースのプロパティを表示
データベース エンジンに接続し、そのプロパティを表示したいデータベースに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、DATABASEPROPERTYEXシステム関数を使って
AUTO_SHRINKデータベース内のAdventureWorks2025データベースオプションの状態を返します。 リターン値が1ならオプションがONに設定され、リターン値が0ならオプションがOFFに設定されていることを意味します。SELECT DATABASEPROPERTYEX('AdventureWorks2025', 'IsAutoShrink');
クエリでデータベースのプロパティを見る sys.databases
データベース エンジンに接続し、そのプロパティを表示したいデータベースに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sys.databases カタログ ビューをクエリして、
AdventureWorks2025データベースのいくつかのプロパティを表示します。 この例では、データベースの 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 = 'AdventureWorks2025';
データベーススコープ設定のプロパティはクエリで確認できます。 sys.databases_scoped_configuration
データベース エンジンに接続し、そのプロパティを表示したいデータベースに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sys.database_scoped_configurations カタログビューをクエリして現在のデータベースのいくつかのプロパティを閲覧します。
SELECT configuration_id, name, value, value_for_secondary FROM sys.database_scoped_configurations;さらなる例については 、sys.database_scoped_configurationsを参照してください。
SQL Server データベースのプロパティを変更する ALTER DATABASE
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーし、クエリ ウィンドウに貼り付けます。 この例では、
AdventureWorks2025データベース上のスナップショット分離の状態を確認し、プロパティの状態を変更し、その変更を検証します。スナップショット分離の状態を確認するには、最初の
SELECT文を選択して 実行を選択します。スナップショット分離の状態を変更するには、
ALTER DATABASE文を選択して 実行を選択します。変更を確認するには、2つ目の
SELECT文を選択し、「 実行」を選択します。USE AdventureWorks2025; 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'AdventureWorks2025'; GO USE master; GO ALTER DATABASE AdventureWorks2025 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'AdventureWorks2025'; GO
ALTER DATABASE SCOPED CONFIGURATION を使用してデータベース スコープのプロパティを変更する
SQL Server インスタンスのデータベースに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーし、クエリ ウィンドウに貼り付けます。 以下の例は、二次データベースの
MAXDOPをプライマリデータベースの値に変換します。ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;