データベースのプロパティの表示または変更

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

SQL Server Management Studio または Transact-SQL を使用して、SQL Server でデータベースのプロパティを表示または変更する方法について説明します。 データベースのプロパティを変更すると、変更は直ちに有効になります。

このトピックの内容

始める前に

推奨事項

  • AUTO_CLOSE が ON の場合、データベースからデータを取得できないため、 sys.databases カタログ ビューの一部の列、および DATABASEPROPERTYEX 関数は、NULL を返します。 これを解決するには、データベースを開きます。

セキュリティ

アクセス許可

データベースのプロパティを変更するには、データベースに対する ALTER 権限が必要です。 データベースのプロパティを表示するには、少なくとも public データベース ロールのメンバーシップが必要です。

SQL Server Management Studio を使用する

データベースのプロパティを表示または変更するには

  1. オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース]を展開し、表示するデータベースを右クリックします。次に [プロパティ]をクリックします。

  3. [データベースのプロパティ] ダイアログ ボックスで、任意のページを選択して、対応する情報を表示します。 たとえば、データおよびログ ファイルの情報を表示するには、 [ファイル] ページをクリックします。

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 関数を使用してデータベースのプロパティを表示するには

  1. データベース エンジンに接続し、プロパティを表示するデータベースに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 データベースの AUTO_SHRINK データベース オプションのステータスを、 DATABASEPROPERTYEX AdventureWorks2022 システム関数を使用して取得します。 戻り値が 1 の場合はオプションがオンに、戻り値が 0 の場合はオフに設定されていることを意味します。

    SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');  
    

sys.databases をクエリすることによってデータベースのプロパティを表示するには

  1. データベース エンジンに接続し、プロパティを表示するデータベースに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、 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 を照会してデータベース スコープの構成のプロパティを表示するには

  1. データベース エンジンに接続し、プロパティを表示するデータベースに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、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 データベースのプロパティを変更するには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーし、クエリ ウィンドウに貼り付けます。 この例では、 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 を使用してデータベース スコープのプロパティを変更するには

  1. SQL Server インスタンスのデータベースに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーし、クエリ ウィンドウに貼り付けます。 次の例では、セカンダリ データベースの 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)