ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

データベースの特定の構成オプションを変更します。Modifies certain configuration options of a database.

この記事では、選択した SQL 製品について、構文、引数、注釈、アクセス許可、例を紹介します。This article provides the syntax, arguments, remarks, permissions, and examples for whichever SQL product you choose.

構文表記規則の詳細については、「Transact-SQL 構文表記規則」を参照してください。For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

製品をクリックしてくださいClick a product!

次の行から興味がある製品名をクリックしてみてください。In the following row, click whichever product name you are interested in. この Web ページでは、クリックした製品に合わせて、異なるコンテンツが表示されます。The click displays different content here on this webpage, appropriate for whichever product you click.

* SQL Server *  * SQL Server *   SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

概要:SQL ServerOverview: SQL Server

SQL Server では、このステートメントはデータベース、またはそのデータベースに関連付けられているファイルおよびファイル グループを変更します。In SQL Server, this statement modifies a database, or the files and filegroups associated with the database. データベースに対するファイルやファイル グループの追加と削除、データベースおよびデータベースのファイルやファイル グループの属性の変更、データベースの照合順序の変更、データベース オプションの設定を行えます。Adds or removes files and filegroups from a database, changes the attributes of a database or its files and filegroups, changes the database collation, and sets database options. データベース スナップショットを変更することはできません。Database snapshots cannot be modified. レプリケーションに関連するデータベース オプションを変更するには、sp_replicationdboption を使用してください。To modify database options associated with replication, use sp_replicationdboption.

解説が長くなるため、ALTER DATABASE の構文は複数の記事に分けて説明します。Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE: この記事では、データベースの名前と照合順序を変更するための構文および関連情報について説明します。ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

ALTER DATABASE の File および Filegroup オプション」では、データベースのファイルおよびファイル グループを追加したり削除したりするための構文と関連情報のほか、ファイルおよびファイル グループの属性を変更するための構文について説明します。ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

ALTER DATABASE の SET オプション」では、ALTER DATABASE の SET オプションを使ってデータベースの属性を変更するための構文と関連情報について説明します。ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

ALTER DATABASE のデータベース ミラーリング ALTER DATABASE のデータベース ミラーリングに関連した SET オプションの構文と関連情報について説明します。ALTER DATABASE Database Mirroring Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database mirroring.

ALTER DATABASE の SET HADR Always On 可用性グループのセカンダリ レプリカ上のセカンダリ データベースを構成するための、ALTER DATABASE の Always On 可用性グループAlways On availability groups オプションの構文と関連情報について説明します。ALTER DATABASE SET HADR Provides the syntax and related information for the Always On 可用性グループAlways On availability groups options of ALTER DATABASE for configuring a secondary database on a secondary replica of an Always On availability group.

ALTER DATABASE 互換性レベル」では、ALTER DATABASE のデータベース互換レベルに関連した SET オプションの構文と関連情報について説明します。ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

ALTER DATABASE SCOPED CONFIGURATION 関連する動作のクエリの最適化とクエリの実行など、個別のデータベース レベルの設定に使用するため、データベース スコープ構成に関連する構文について説明します。ALTER DATABASE SCOPED CONFIGURATION Provides the syntax related to database scoped configurations used for individual database level settings such as query optimization and query execution related behaviors.

構文Syntax

-- SQL Server Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>
  | SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<file_and_filegroup_options>::=
  <add_or_modify_files>::=
  <filespec>::=
  <add_or_modify_filegroups>::=
  <filegroup_updatability_option>::=

<option_spec>::=
{
  | <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option><delayed_durability_option>
  | <external_access_option>
  | <FILESTREAM_options>
  | <HADR_options>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
}

引数Arguments

database_name: 変更するデータベースの名前です。database_name Is the name of the database to be modified.

注意

このオプションは、包含データベースでは使用できません。This option is not available in a Contained Database.

現在の適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降。CURRENT Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

使用中の現在のデータベースを変更することを指定します。Designates that the current database in use should be altered.

MODIFY NAME = new_database_name: データベースの名前を、new_database_name で指定した名前に変更します。MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name.

COLLATE collation_name: データベースの照合順序を指定します。COLLATE collation_name Specifies the collation for the database. collation_name には、Windows 照合順序名または SQL 照合順序名を指定できます。collation_name can be either a Windows collation name or a SQL collation name. 指定しない場合は、データベースに SQL ServerSQL Server インスタンスの照合順序が割り当てられます。If not specified, the database is assigned the collation of the instance of SQL ServerSQL Server.

注意

Azure SQL データベースAzure SQL Database でデータベースが作成された後は、照合順序を変更することはできません。Collation cannot be changed after database has been created on Azure SQL データベースAzure SQL Database.

既定の照合順序以外でデータベースを作成する場合、データベース内のデータは常に、指定された照合順序を優先します。When creating databases with other than the default collation, the data in the database always respects the specified collation. SQL ServerSQL Server では、包含データベースを作成する場合、内部カタログの情報は SQL ServerSQL Server の既定の照合順序、Latin1_General_100_CI_AS_WS_KS_SC を使用して維持されます。For SQL ServerSQL Server, when creating a contained database, the internal catalog information is maintained using the SQL ServerSQL Server default collation, Latin1_General_100_CI_AS_WS_KS_SC.

Windows 照合順序名および SQL 照合順序名について詳しくは、「COLLATE」をご覧ください。For more information about the Windows and SQL collation names, see COLLATE.

<delayed_durability_option> ::= 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。<delayed_durability_option> ::= Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

詳しくは、「ALTER DATABASE の SET オプション」および「トランザクションの持続性の制御」をご覧ください。For more information see ALTER DATABASE SET Options and Control Transaction Durability.

<file_and_filegroup_options>::= 詳細については、ALTER DATABASE の File および Filegroup オプションに関するページを参照してください。<file_and_filegroup_options>::= For more information, see ALTER DATABASE File and Filegroup Options.

RemarksRemarks

データベースを削除するには、DROP DATABASE を使用します。To remove a database, use DROP DATABASE.

データベースのサイズを縮小するには、DBCC SHRINKDATABASE を使用します。To decrease the size of a database, use DBCC SHRINKDATABASE.

ALTER DATABASE ステートメントは自動コミット モード (既定のトランザクション管理モード) で実行する必要があり、明示的または暗黙的なトランザクションでは許可されません。The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

データベース ファイルの状態 (オンラインかオフラインかなど) は、データベースの状態とは別に保持されます。The state of a database file (for example, online or offline), is maintained independently from the state of the database. 詳しくは、「ファイルの状態」をご覧ください。For more information, see File States. ファイル グループ内のファイルの状態は、ファイル グループ全体の可用性を決定します。The state of the files within a filegroup determines the availability of the whole filegroup. ファイル グループを使用可能にするには、ファイル グループ内のすべてのファイルがオンラインである必要があります。For a filegroup to be available, all files within the filegroup must be online. ファイル グループがオフラインの場合、SQL ステートメントでそのファイル グループにアクセスを試行するとエラーが発生します。If a filegroup is offline, any try to access the filegroup by an SQL statement will fail with an error. SELECT ステートメントのクエリ プランを作成する場合、クエリ オプティマイザーは、オフラインのファイル グループにある非クラスター化インデックスやインデックス付きビューを回避します。When you build query plans for SELECT statements, the query optimizer avoids nonclustered indexes and indexed views that reside in offline filegroups. これにより、これらのステートメントは正常に実行できます。This enables these statements to succeed. ただし、オフラインのファイル グループに、対象テーブルのヒープやクラスター化インデックスが含まれている場合には、SELECT ステートメントは失敗します。However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. また、オフラインのファイル グループ内にあるインデックス付きのテーブルを変更する INSERTUPDATE、または DELETE ステートメントは失敗します。Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

データベースが RESTORING 状態にある場合、ほとんどの ALTER DATABASE ステートメントは失敗します。When a database is in the RESTORING state, most ALTER DATABASE statements will fail. ただし、データベース ミラーリング オプションの設定は例外です。The exception is setting database mirroring options. データベースが RESTORING 状態になるのは、アクティブな復元操作中や、バックアップ ファイルの破損によりデータベースまたはログ ファイルの復元操作が失敗した場合などです。A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

SQL ServerSQL Server のインスタンスのプラン キャッシュは、次のいずれかのオプションを設定することにより消去されます。The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options.

OFFLINEOFFLINE READ_WRITEREAD_WRITE
ONLINEONLINE MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT
MODIFY_NAMEMODIFY_NAME MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE
COLLATECOLLATE MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY
READ_ONLYREAD_ONLY PAGE_VERIFYPAGE_VERIFY

プラン キャッシュが消去されると、後続のすべての実行プランが再コンパイルされ、場合によっては、クエリ パフォーマンスが一時的に急激に低下します。Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. プラン キャッシュ内のキャッシュストアが消去されるたびに、SQL ServerSQL Server エラー ログに、以下の通知メッセージが記録されます。SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operationsFor each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. このメッセージは、5 分以内にキャッシュがフラッシュされる限り、5 分間隔でログに記録されます。This message is logged every five minutes as long as the cache is flushed within that time interval.

プラン キャッシュは、次のシナリオでもフラッシュされます。The plan cache is also flushed in the following scenarios:

  • AUTO_CLOSE データベース オプションが ON に設定されている。A database has the AUTO_CLOSE database option set to ON. データベースを参照 (または使用) するユーザー接続が 1 つも存在しない場合、バックグラウンド タスクがデータベースを自動的に閉じてシャットダウンすることを試みます。When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • 既定のオプションが設定されているデータベースに対して複数のクエリを実行した。You run several queries against a database that has default options. データベースはその後削除されます。Then, the database is dropped.
  • ソース データベースのデータベース スナップショットが削除された。A database snapshot for a source database is dropped.
  • データベースのトランザクション ログを正常に再構築した。You successfully rebuild the transaction log for a database.
  • データベースのバックアップを復元した。You restore a database backup.
  • データベースをデタッチした。You detach a database.

データベースの照合順序の変更Changing the Database Collation

データベースに別の照合順序を適用する前に、次の条件が満たされているかどうかを確認してください。Before you apply a different collation to a database, make sure that the following conditions are in place:

  • 現在データベースを使用しているのは、1 人だけである。You are the only one currently using the database.
  • データベースの照合順序に依存するスキーマ バインド オブジェクトがない。No schema-bound object depends on the collation of the database.

データベースの照合順序に依存する次のオブジェクトがデータベース内に存在する場合、ALTER DATABASEdatabase_nameCOLLATE ステートメントは失敗します。If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail. SQL ServerSQL Server は、ALTER アクションをブロックしているオブジェクトごとにエラー メッセージを返します。will return an error message for each object blocking the ALTER action:

  • SCHEMABINDING を指定して作成されたユーザー定義関数およびビューUser-defined functions and views created with SCHEMABINDING
  • 計算列Computed columns
  • CHECK 制約CHECK constraints
  • 既定のデータベース照合順序から継承した照合順序を持つ文字型列がテーブルにある場合に、そのテーブルを返すテーブル値関数Table-valued functions that return tables with character columns with collations inherited from the default database collation

非スキーマ バインド エンティティの依存関係情報は、データベースの照合順序が変更されると自動的に更新されます。Dependency information for non-schema-bound entities is automatically updated when the database collation is changed.

データベースの照合順序を変更しても、データベース オブジェクトのシステム名に重複は発生しません。Changing the database collation does not create duplicates among any system names for the database objects. 照合順序の変更によって名前が重複する場合、次の名前空間が原因でデータベースの照合順序の変更が失敗することがあります。If duplicate names result from the changed collation, the following namespaces may cause the failure of a database collation change:

  • プロシージャ、テーブル、トリガー、ビューなどのオブジェクト名Object names such as a procedure, table, trigger, or view
  • スキーマ名Schema names
  • グループ、ロール、ユーザーなどのプリンシパルPrincipals such as a group, role, or user
  • システム型、ユーザー定義型などのスカラー型の名前Scalar-type names such as system and user-defined types
  • フルテキスト カタログ名Full-text catalog names
  • オブジェクト内の列名またはパラメーター名Column or parameter names within an object
  • テーブル内のインデックス名Index names within a table

新しい照合順序によって名前が重複すると、変更操作が失敗し、SQL ServerSQL Server は重複が見つかった名前空間を示すエラー メッセージを返します。Duplicate names resulting from the new collation will cause the change action to fail, and SQL ServerSQL Server will return an error message specifying the namespace where the duplicate was found.

データベース情報の表示Viewing Database Information

カタログ ビュー、システム関数、およびシステム ストアド プロシージャを使用して、データベース、ファイルおよびファイル グループについての情報を返すことができます。You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

アクセス許可Permissions

データベースに対する ALTER 権限が必要です。Requires ALTER permission on the database.

使用例Examples

A.A. データベースの名前を変更するChanging the name of a database

次の例では、AdventureWorks2012 データベースの名前を Northwind に変更します。The following example changes the name of the AdventureWorks2012 database to Northwind.

USE master;
GO
ALTER DATABASE AdventureWorks2012
Modify Name = Northwind ;
GO

B.B. データベースの照合順序を変更するChanging the collation of a database

次の例では、testdbS 照合順序で SQL_Latin1_General_CP1_CI_A という名前のデータベースを作成した後、testdb データベースの照合順序を COLLATE French_CI_AI に変更します。The following example creates a database named testdb with the SQL_Latin1_General_CP1_CI_AS collation, and then changes the collation of the testdb database to COLLATE French_CI_AI.

適用対象: SQL Server 2008SQL Server 2008 以降。Applies to: SQL Server 2008SQL Server 2008 and later.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

参照See Also

SQL ServerSQL Server * SQL Database
単一データベース/エラスティック プール*
 
* SQL Database
single database/elastic pool *
 
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

概要:Azure SQL Database 単一データベース/エラスティック プールOverview: Azure SQL Database single database/elastic pool

Azure SQL Database では、このステートメントを使って単一データベース/エラスティック プール上のデータベースを変更します。In Azure SQL Database, use this statement to modify a database on a single database/elastic pool. データベースの名前の変更、データベースのエディションとサービス目標の変更、エラスティック プールへのデータベースの参加またはエラスティック プールからのデータベースの削除、データベース オプションの設定、geo レプリケーション リレーションシップでのセカンダリ としてのデータベースの追加または削除、データベースの互換性レベルの設定を行うには、このステートメントを使います。Use this statement to change the name of a database, change the edition and service objective of the database, join or remove the database to or from an elastic pool, set database options, add or remove the database as a secondary in a geo-replication relationship, and set the database compatibility level.

解説が長くなるため、ALTER DATABASE の構文は複数の記事に分けて説明します。Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE: この記事では、データベースの名前と照合順序を変更するための構文および関連情報について説明します。ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

ALTER DATABASE の SET オプション」では、ALTER DATABASE の SET オプションを使ってデータベースの属性を変更するための構文と関連情報について説明します。ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

ALTER DATABASE 互換性レベル」では、ALTER DATABASE のデータベース互換レベルに関連した SET オプションの構文と関連情報について説明します。ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

構文Syntax

-- Azure SQL Database Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | MODIFY ( <edition_options> [, ... n] )
  | SET { <option_spec> [ ,... n ] WITH <termination>}
  | ADD SECONDARY ON SERVER <partner_server_name>
    [WITH ( <add-secondary-option>::=[, ... n] ) ]
  | REMOVE SECONDARY ON SERVER <partner_server_name>
  | FAILOVER
  | FORCE_FAILOVER_ALLOW_DATA_LOSS
}
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale'}
  | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL (name = <elastic_pool_name>) }
       }
}

<add-secondary-option> ::=
   {
      ALLOW_CONNECTIONS = { ALL | NO }
     | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL ( name = <elastic_pool_name>) }
       }
   }

<service-objective> ::={ 'basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen4_1' | 'GP_Gen4_2' | 'GP_Gen4_3' | 'GP_Gen4_4' | 'GP_Gen4_5' | 'GP_Gen4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) }
      }

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
    { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}

引数Arguments

database_name: 変更するデータベースの名前です。database_name Is the name of the database to be modified.

CURRENT: 使用中の現在のデータベースを変更する必要があることを指定します。CURRENT Designates that the current database in use should be altered.

MODIFY NAME = new_database_name: データベースの名前を、new_database_name で指定した名前に変更します。MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name. 次の例では、db1 データベースの名前を db2 に変更します。The following example changes the name of a database db1 to db2:

ALTER DATABASE db1
    MODIFY Name = db2 ;

MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']): データベースのサービス レベルを変更します。MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Changes the service tier of the database.

次の例では、エディションを premium に変更します。The following example changes edition to premium:

ALTER DATABASE current
    MODIFY (EDITION = 'premium');

重要

データベースの MAXSIZE プロパティがそのエディションでサポートされる有効な範囲内の値に設定されていない場合、EDITION の変更は失敗します。EDITION change fails if the MAXSIZE property for the database is set to a value outside the valid range supported by that edition.

MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB): データベースの最大サイズを指定します。MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Specifies the maximum size of the database. 最大サイズは、データベースの EDITION プロパティの有効な値セットに準拠している必要があります。The maximum size must comply with the valid set of values for the EDITION property of the database. データベースの最大サイズを変更すると、データベースの EDITION も変更される場合があります。Changing the maximum size of the database may cause the database EDITION to be changed.

注意

MAXSIZE 引数は、ハイパースケール サービス層の単一データベースには適用されません。The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. ハイパースケール サービス層のデータベースは、必要に応じて 100 TB まで拡張できます。Hyperscale service tier databases grow as needed, up to 100 TB. SQL Database サービスによってストレージが自動的に追加されます。最大サイズを設定する必要はありません。The SQL Database service adds storage automatically - you do not need to set a maximum size.

DTU モデルDTU model

MAXSIZEMAXSIZE 基本Basic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100 MB100 MB
250 MB250 MB
500 MB500 MB
1 GB1 GB
2 GB2 GB √ (D)√ (D)
5 GB5 GB なしN/A
10 GB10 GB なしN/A
20 GB20 GB なしN/A
30 GB30 GB なしN/A
40 GB40 GB なしN/A
50 GB50 GB なしN/A
100 GB100 GB なしN/A
150 GB150 GB なしN/A
200 GB200 GB なしN/A
250 GB250 GB なしN/A √ (D)√ (D) √ (D)√ (D)
300 GB300 GB なしN/A
400 GB400 GB なしN/A
500 GB500 GB なしN/A √ (D)√ (D)
750 GB750 GB なしN/A
1024 GB1024 GB なしN/A √ (D)√ (D)
1024 GB から 4096 GB (256 GB ずつ増分)*From 1024 GB up to 4096 GB in increments of 256 GB* なしN/A なしN/A なしN/A なしN/A

* P11 と P15 では 1024 GB を既定のサイズとして MAXSIZE が 4 TB まで許可されます。* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 と P15 では、追加料金なしで付属のストレージを 4 TB まで使用できます。P11 and P15 can use up to 4 TB of included storage at no additional charge. 次の地域の Premium レベルでは、現在 1 TB を超える MAXSIZE を使用できます: 米国東部 2、米国西部、米国政府バージニア、西ヨーロッパ、ドイツ中部、東南アジア、東日本、オーストラリア東部、カナダ中部、カナダ東部。In the Premium tier, MAXSIZE greater than 1 TB is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. DTU モデルのリソースの制限事項に関する詳細については、DTU リソースの制限に関する記事を参照してください。For additional details regarding resource limitations for the DTU model, see DTU resource limits.

DTU モデルの MAXSIZE 値。指定される場合は、上記の表に示すように指定されたサービス レベルで有効な値である必要があります。The MAXSIZE value for the DTU model, if specified, has to be a valid value shown in the table above for the service tier specified.

仮想コア モデルvCore model

General Purpose - プロビジョニング済みコンピューティング - Gen4 (パート 1)General purpose - provisioned compute - Gen4 (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
データの最大サイズ (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

General Purpose - プロビジョニング済みコンピューティング - Gen4 (パート 2)General purpose - provisioned compute - Gen4 (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
データの最大サイズ (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

General Purpose - プロビジョニング済みコンピューティング - Gen5 (パート 1)General purpose - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
データの最大サイズ (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

General Purpose - プロビジョニング済みコンピューティング - Gen5 (パート 2)General purpose - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
データの最大サイズ (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

General Purpose - プロビジョニング済みコンピューティング - Fsv2 シリーズ (プレビュー)General purpose - provisioned compute - Fsv2-series (preview)

MAXSIZEMAXSIZE GP_Fsv2_72GP_Fsv2_72
データの最大サイズ (GB)Max data size (GB) 40964096

General Purpose - サーバーレス コンピューティング - Gen5 (パート 1)General purpose - serverless compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_S_Gen5_1GP_S_Gen5_1 GP_S_Gen5_2GP_S_Gen5_2 GP_S_Gen5_4GP_S_Gen5_4 GP_S_Gen5_6GP_S_Gen5_6 GP_S_Gen5_8GP_S_Gen5_8
最大仮想コア数Max vCores 11 22 44 66 88

General Purpose - サーバーレス コンピューティング - Gen5 (パート 2)General purpose - serverless compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_S_Gen5_10GP_S_Gen5_10 GP_S_Gen5_12GP_S_Gen5_12 GP_S_Gen5_14GP_S_Gen5_14 GP_S_Gen5_16GP_S_Gen5_16
最大仮想コア数Max vCores 1010 1212 1414 1616

Business Critical - プロビジョニング済みコンピューティング - Gen4 (パート 1)Business critical - provisioned compute - Gen4 (part 1)

パフォーマンス レベルPerformance level BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_3BC_Gen4_3 BC_Gen4_4BC_Gen4_4 BC_Gen4_5BC_Gen4_5 BC_Gen4_6BC_Gen4_6
データの最大サイズ (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Business Critical - プロビジョニング済みコンピューティング - Gen4 (パート 2)Business critical - provisioned compute - Gen4 (part 2)

パフォーマンス レベルPerformance level BC_Gen4_7BC_Gen4_7 BC_Gen4_8BC_Gen4_8 BC_Gen4_9BC_Gen4_9 BC_Gen4_10BC_Gen4_10 BC_Gen4_16BC_Gen4_16 BC_Gen4_24BC_Gen4_24
データの最大サイズ (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Business Critical - プロビジョニング済みコンピューティング - Gen5 (パート 1)Business critical - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
データの最大サイズ (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Business Critical - プロビジョニング済みコンピューティング - Gen5 (パート 2)Business critical - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
データの最大サイズ (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Business Critical - プロビジョニング済みコンピューティング - M シリーズ (プレビュー)Business critical - provisioned compute - M-series (preview)

MAXSIZEMAXSIZE BC_M_128BC_M_128
データの最大サイズ (GB)Max data size (GB) 40964096

vCore モデルを使用する場合に MAXSIZE 値が設定されていない場合、既定値は 32 GB です。If no MAXSIZEvalue is set when using the vCore model, the default is 32 GB. 仮想コア モデルのリソースの制限事項の詳細については、仮想コア リソースの制限に関するページを参照してください。For additional details regarding resource limitations for vCore model, see vCore resource limits.

引数 MAXSIZE および EDITION には、以下の規則が適用されます。The following rules apply to MAXSIZE and EDITION arguments:

  • EDITION が指定され、MAXSIZE が指定されていない場合は、エディションの既定値が使用されます。If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. たとえば、EDITION が Standard に設定されていて、MAXSIZE が指定されていない場合、MAXSIZE は自動的に 250 MB に設定されます。For example, is the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • MAXSIZE も EDITION も指定されていない場合、EDITION は General Purpose に設定され、MAXSIZE は 32 GB に設定されます。If neither MAXSIZE nor EDITION is specified, the EDITION is set to General Purpose, and MAXSIZE is set to 32 GB.

MODIFY (SERVICE_OBJECTIVE = <service-objective>): パフォーマンス レベルを指定します。MODIFY (SERVICE_OBJECTIVE = <service-objective>) Specifies the performance level. 次の例では、Premium データベースのサービスの目標を P6 に変更します。The following example changes service objective of a premium database to P6:

ALTER DATABASE current
    MODIFY (SERVICE_OBJECTIVE = 'P6');

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • 単一のデータベースおよびプールされたデータベースの場合For single and pooled databases

    • パフォーマンス レベルを指定します。Specifies the performance level. サービスの目標に使用できる値は、S0S1S2S3S4S6S7S9S12P1P2P4P6P11P15GP_GEN4_1GP_GEN4_2GP_GEN4_3GP_GEN4_4GP_GEN4_5GP_GEN4_6GP_GEN4_7GP_GEN4_8GP_GEN4_7GP_GEN4_8GP_GEN4_9GP_GEN4_10GP_GEN4_16GP_GEN4_24BC_GEN4_1BC_GEN4_2BC_GEN4_3BC_GEN4_4BC_GEN4_5BC_GEN4_6BC_GEN4_7BC_GEN4_8BC_GEN4_9BC_GEN4_10BC_GEN4_16BC_GEN4_24GP_Gen5_2GP_Gen5_4GP_Gen5_6GP_Gen5_8GP_Gen5_10GP_Gen5_12GP_Gen5_14GP_Gen5_16GP_Gen5_18GP_Gen5_20GP_Gen5_24GP_Gen5_32GP_Gen5_40GP_Gen5_80GP_Fsv2_72BC_Gen5_2BC_Gen5_4BC_Gen5_6BC_Gen5_8BC_Gen5_10BC_Gen5_12BC_Gen5_14BC_Gen5_16BC_Gen5_18BC_Gen5_20BC_Gen5_24BC_Gen5_32BC_Gen5_40BC_Gen5_80BC_M_128 です。Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128.
  • サーバーレス データベースの場合For serverless databases

    • パフォーマンス レベルを指定します。Specifies the performance level. サービスの目標に使用できる値は、GP_S_Gen5_1GP_S_Gen5_2GP_S_Gen5_4GP_S_Gen5_6GP_S_Gen5_8GP_S_Gen5_10GP_S_Gen5_12GP_S_Gen5_14GP_S_Gen5_16 です。Available values for service objective are: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16.
  • ハイパースケール サービス層の単一データベースの場合For single databases in the Hyperscale service tier

    • パフォーマンス レベルを指定します。Specifies the performance level. サービスの目標に使用できる値は、HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16HS_GEN4_24HS_Gen5_2HS_Gen5_4HS_Gen5_8HS_Gen5_16HS_Gen5_24HS_Gen5_32HS_Gen5_48HS_Gen5_80 です。Available values for service objective are: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.

サービス目標に関する説明およびサイズ、エディション、サービス目標の組み合わせの詳細については、Azure SQL Database サービス レベルとパフォーマンス レベルDTU リソースの制限仮想コア リソースの制限に関する記事を参照してください。For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU resource limits and vCore resource limits. PRS サービスの目標のサポートはなくなりました。Support for PRS service objectives have been removed. 質問については、電子メール エイリアス premium-rs@microsoft.com を使用してください。For questions, use this e-mail alias: premium-rs@microsoft.com.

MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>): エラスティック プールに既存のデータベースを追加するには、データベースの SERVICE_OBJECTIVE を ELASTIC_POOL に設定し、エラスティック プールの名前を指定します。MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>) To add an existing database to an elastic pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the elastic pool. このオプションを使用して、データベースを同じサーバー内の別のエラスティック プールに変更することもできます。You can also use this option to change the database to a different elastic pool within the same server. 詳しくは、SQL Database エラスティック プールの作成と管理に関するページをご覧ください。For more information, see Create and manage a SQL Database elastic pool. エラスティック プールからデータベースを削除するには、ALTER DATABASE を使用して、SERVICE_OBJECTIVE を 1 つのデータベースのパフォーマンス レベルに設定します。To remove a database from an elastic pool, use ALTER DATABASE to set the SERVICE_OBJECTIVE to a single database performance level.

注意

ハイパースケール サービス層のデータベースをエラスティック プールに追加することはできません。Databases in the Hyperscale service tier cannot be added to an elastic pool.

ADD SECONDARY ON SERVER <partner_server_name>ADD SECONDARY ON SERVER <partner_server_name>

パートナー サーバー上に同じ名前の geo レプリケーションのセカンダリ データベースを作成し、ローカル データベースを geo レプリケーションのプライマリにして、プライマリから新しいセカンダリに非同期でデータのレプリケーションを開始します。Creates a geo-replication secondary database with the same name on a partner server, making the local database into a geo-replication primary, and begins asynchronously replicating data from the primary to the new secondary. セカンダリ上に同じ名前のデータベースが既に存在する場合、コマンドは失敗します。If a database with the same name already exists on the secondary, the command fails. コマンドは、プライマリとなるローカル データベースをホストしているサーバーの master データベースで実行されます。The command is executed on the master database on the server hosting the local database that becomes the primary.

重要

ハイパースケール サービス層では、geo レプリケーションは現在サポートされていません。The Hyperscale service tier does not currently support geo-replication.

WITH ALLOW_CONNECTIONS { ALL | NO }: ALLOW_CONNECTIONS が指定されていない場合は、これは既定で ALL に設定されます。WITH ALLOW_CONNECTIONS { ALL | NO } When ALLOW_CONNECTIONS is not specified, it is set to ALL by default. ALL に設定されている場合は、適切なアクセス許可を持つすべてのログインに接続を許可する読み取り専用データベースになります。If it is set ALL, it is a read-only database that allows all logins with the appropriate permissions to connect.

WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128 }WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128 }

SERVICE_OBJECTIVE が指定されていない場合、セカンダリ データベースがプライマリ データベースと同じサービス レベルで作成します。When SERVICE_OBJECTIVE is not specified, the secondary database is created at the same service level as the primary database. SERVICE_OBJECTIVE を指定した場合は、指定したレベルでセカンダリ データベースが作成されます。When SERVICE_OBJECTIVE is specified, the secondary database is created at the specified level. このオプションでは、サービス レベルのコストが比較的低い geo レプリケートされたセカンダリの作成がサポートされます。This option supports creating geo-replicated secondaries with less expensive service levels. 指定する SERVICE_OBJECTIVE は、ソースと同じエディション内でなければなりません。The SERVICE_OBJECTIVE specified must be within the same edition as the source. たとえば、エディションが Premium の場合、S0 を指定することはできません。For example, you cannot specify S0 if the edition is premium.

ELASTIC_POOL (name = <elastic_pool_name>): ELASTIC_POOL が指定されていない場合、セカンダリ データベースはエラスティック プールに作成されません。ELASTIC_POOL (name = <elastic_pool_name>) When ELASTIC_POOL is not specified, the secondary database is not created in an elastic pool. ELASTIC_POOL が指定されている場合、セカンダリ データベースが指定されたプールに作成されます。When ELASTIC_POOL is specified, the secondary database is created in the specified pool.

重要

ADD SECONDARY コマンドを実行するユーザーは、プライマリ サーバー上で DBManager であること、ローカル データベース内で db_owner メンバーシップを持っていること、およびセカンダリ サーバー上で DBManager であることが必要です。The user executing the ADD SECONDARY command must be DBManager on primary server, have db_owner membership in local database, and DBManager on secondary server.

REMOVE SECONDARY ON SERVER <partner_server_name>: 指定されたサーバー上にある、指定された geo レプリケートされたセカンダリ データベースを削除します。REMOVE SECONDARY ON SERVER <partner_server_name> Removes the specified geo-replicated secondary database on the specified server. このコマンドは、プライマリ データベースをホストしているサーバー上の master データベース上で実行されます。The command is executed on the master database on the server hosting the primary database.

重要

REMOVE SECONDARY コマンドを実行するユーザーは、プライマリ サーバー上で DBManager でなければなりません。The user executing the REMOVE SECONDARY command must be DBManager on the primary server.

FAILOVER: コマンドを実行する geo レプリケーション パートナーシップ内のセカンダリ データベースのレベルを上げてプライマリにし、現在のプライマリのレベルを下げて新しいセカンダリにします。FAILOVER Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. このプロセスの一環として、geo レプリケーション モードは、非同期モードから同期モードへと一時的に切り替わります。As part of this process, the geo-replication mode is temporarily switched from asynchronous mode to synchronous mode. フェールオーバー プロセス時:During the failover process:

  1. プライマリでは、新しいトランザクションが処理が停止されます。The primary stops taking new transactions.
  2. すべての未処理のトランザクションは、セカンダリにフラッシュされます。All outstanding transactions are flushed to the secondary.
  3. セカンダリがプライマリになり、古いプライマリと新しいセカンダリを使用して、非同期の geo レプリケーションが開始されます。The secondary becomes the primary and begins asynchronous geo-replication with the old primary / the new secondary.

このシーケンスは、データの損失が発生しないことを保証します。This sequence ensures that no data loss occurs. 両方のデータベースが使用できない期間は、ロールを切り替えている間の 0 から 25 秒程度です。The period during which both databases are unavailable is on the order of 0-25 seconds while the roles are switched. 操作全体を約 1 分以内に実行する必要があります。The total operation should take no longer than about one minute. このコマンドが実行されたときにプライマリ データベースが使用できない場合、プライマリ データベースが使用できないことを示すエラー メッセージで、コマンドは失敗します。If the primary database is unavailable when this command is issued, the command fails with an error message indicating that the primary database is not available. フェールオーバー プロセスが完了せず、スタックしているように見える場合は、まず、強制フェールオーバー コマンドを使用して、データの消失を許容します。次に、消失したデータを復旧する必要がある場合は、DevOps (CSS) に連絡して、消失したデータの復旧を依頼します。If the failover process does not complete and appears stuck, you can use the force failover command and accept data loss - and then, if you need to recover the lost data, call devops (CSS) to recover the lost data.

重要

FAILOVER コマンドを実行するユーザーは、プライマリ サーバーとセカンダリ サーバーの両方で DBManager になる必要があります。The user executing the FAILOVER command must be DBManager on both the primary server and the secondary server.

FORCE_FAILOVER_ALLOW_DATA_LOSS: コマンドを実行する geo レプリケーション パートナーシップ内のセカンダリ データベースのレベルを上げてプライマリにし、現在のプライマリのレベルを下げて新しいセカンダリにします。FORCE_FAILOVER_ALLOW_DATA_LOSS Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. 現在のプライマリが使用できない場合にのみ、このコマンドを使用します。Use this command only when the current primary is no longer available. これは、可用性の復元が不可欠で、一部のデータ消失が許容される場合のディザスター リカバリー専用に設計されています。It is designed for disaster recovery only, when restoring availability is critical, and some data loss is acceptable.

強制フェールオーバー中:During a forced failover:

  1. 指定したセカンダリ データベースはすぐに、プライマリ データベースになり、新しいトランザクションの受け入れを開始します。The specified secondary database immediately becomes the primary database and begins accepting new transactions.
  2. 元のプライマリが新しいプライマリに再接続できると、元のプライマリ上で増分バックアップが実行され、元のプライマリは新しいセカンダリになります。When the original primary can reconnect with the new primary, an incremental backup is taken on the original primary, and the original primary becomes a new secondary.
  3. 古いプライマリのこの増分バックアップからデータを復旧するには、ユーザーは devops/CSS である必要があります。To recover data from this incremental backup on the old primary, the user engages devops/CSS.
  4. その他のセカンダリがある場合は、自動的に再構成されて新しいプライマリのセカンダリになります。If there are additional secondaries, they are automatically reconfigured to become secondaries of the new primary. このプロセスは非同期で、このプロセスが完了するまで、遅延が発生することがあります。This process is asynchronous and there may be a delay until this process completes. 再構成が完了するまで、セカンダリは古いプライマリのセカンダリであり続けます。Until the reconfiguration has completed, the secondaries continue to be secondaries of the old primary.

重要

FORCE_FAILOVER_ALLOW_DATA_LOSS コマンドを実行するユーザーは、プライマリ サーバーとセカンダリ サーバーの両方で dbmanager ロールに属する必要があります。The user executing the FORCE_FAILOVER_ALLOW_DATA_LOSS command must be belong to the dbmanager role on both the primary server and the secondary server.

RemarksRemarks

データベースを削除するには、DROP DATABASE を使用します。To remove a database, use DROP DATABASE. データベースのサイズを縮小するには、DBCC SHRINKDATABASE を使用します。To decrease the size of a database, use DBCC SHRINKDATABASE.

ALTER DATABASE ステートメントは自動コミット モード (既定のトランザクション管理モード) で実行する必要があり、明示的または暗黙的なトランザクションでは許可されません。The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

プラン キャッシュが消去されると、後続のすべての実行プランが再コンパイルされ、場合によっては、クエリ パフォーマンスが一時的に急激に低下します。Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. プラン キャッシュ内のキャッシュストアが消去されるたびに、SQL ServerSQL Server エラー ログに、以下の通知メッセージが記録されます。SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operationsFor each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. このメッセージは、5 分以内にキャッシュがフラッシュされる限り、5 分間隔でログに記録されます。This message is logged every five minutes as long as the cache is flushed within that time interval.

プロシージャ キャッシュは、次のシナリオでもフラッシュされます。既定のオプションが設定されているデータベースに対して複数のクエリを実行した。The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. データベースはその後削除されます。Then, the database is dropped.

データベース情報の表示Viewing Database Information

カタログ ビュー、システム関数、およびシステム ストアド プロシージャを使用して、データベース、ファイルおよびファイル グループについての情報を返すことができます。You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

アクセス許可Permissions

データベースを変更するには、ログインがサーバーレベル プリンシパル ログイン (プロビジョニング プロセスで作成)、マスターの dbmanager データベース ロールのメンバー、現在のデータベースの db_owner データベース ロールのメンバー、またはデータベースの dbo のいずれかである必要があります。To alter a database a login must bei either the server-level principal login (created by the provisioning process), a member of the dbmanager database role in master, a member of the db_owner database role in the current database, or dbo of the database.

使用例Examples

A.A. エディション オプションを確認して変更します。Check the edition options and change them

データベース db1 のエディションと最大サイズを設定します。Sets an edition and max size for database db1:

SELECT Edition = DATABASEPROPERTYEX('db1', 'EDITION'),
        ServiceObjective = DATABASEPROPERTYEX('db1', 'ServiceObjective'),
        MaxSizeInBytes =  DATABASEPROPERTYEX('db1', 'MaxSizeInBytes');

ALTER DATABASE [db1] MODIFY (EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');

B.B. データベースを別のエラスティック プールに移動します。Moving a database to a different elastic pool

pool1 という名前のプールに既存のデータベースを移動します。Moves an existing database into a pool named pool1:

ALTER DATABASE db1
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;

C.C. geo レプリケーションのセカンダリを追加します。Add a Geo-Replication Secondary

ローカル サーバー上の db1 のサーバー secondaryserver に読み取り可能なセカンダリ データベース db1 を作成します。Creates a readable secondary database db1 on server secondaryserver of the db1 on the local server.

ALTER DATABASE db1
ADD SECONDARY ON SERVER secondaryserver
WITH ( ALLOW_CONNECTIONS = ALL )

D.D. geo レプリケーションのセカンダリを削除します。Remove a Geo-Replication Secondary

サーバー secondaryserver 上のセカンダリ データベース db1 を削除します。Removes the secondary database db1 on server secondaryserver.

ALTER DATABASE db1
REMOVE SECONDARY ON SERVER testsecondaryserver

E.E. geo レプリケーションのセカンダリにフェールオーバーします。Failover to a Geo-Replication Secondary

サーバー secondaryserver で実行されると、サーバー secondaryserver 上のセカンダリ データベース db1 を昇格させて新しいプライマリ データベースにします。Promotes a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver.

ALTER DATABASE db1 FAILOVER

E.E. geo レプリケーションのセカンダリへのフェールオーバーを強制します (この場合、データが失われることがあります)。Force Failover to a Geo-Replication Secondary with data loss

プライマリ データベースが使用不可能になった場合、サーバー secondaryserver で実行されると、サーバー secondaryserver 上のセカンダリ データベース db1 が新しいプライマリ データベースとして強制されます。Forces a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver, in the event that the primary server becomes unavailable. このオプションでは、データが失われる可能性があります。This option may incur data loss.

ALTER DATABASE db1 FORCE_FAILOVER_ALLOW_DATA_LOSS

G.G. 単一データベースをサービス層 S0 (標準エディション、パフォーマンス レベル 0) に更新します。Update a single database to service tier S0 (standard edition, performance level 0)

単一データベースをパフォーマンス レベルが S0、最大サイズが 250 GB の標準エディション (サービス層) に更新します。Updates a single database to the standard edition (service tier) with a performance level of S0 and a maximum size of 250 GB.

ALTER DATABASE [db1] MODIFY (EDITION = 'Standard', MAXSIZE = 250 GB, SERVICE_OBJECTIVE = 'S0');

参照See also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
* SQL Database
マネージド インスタンス *
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

概要:Azure SQL Database マネージド インスタンスOverview: Azure SQL Database managed instance

Azure SQL Database マネージド インスタンスでは、このステートメントを使ってデータベース オプションを設定します。In Azure SQL Database managed instance, use this statement to set database options.

解説が長くなるため、ALTER DATABASE の構文は複数の記事に分けて説明します。Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE: この記事では、ファイルとファイル グループのオプションの設定、データベース オプションの設定、およびデータベースの互換性レベルの設定のための構文と関連情報を説明します。ALTER DATABASE The current article provides the syntax and related information for setting file and filegroup options, for setting database options, and for setting the database compatibility level.

ALTER DATABASE の File および Filegroup オプション」では、データベースのファイルおよびファイル グループを追加したり削除したりするための構文と関連情報のほか、ファイルおよびファイル グループの属性を変更するための構文について説明します。ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

ALTER DATABASE の SET オプション」では、ALTER DATABASE の SET オプションを使ってデータベースの属性を変更するための構文と関連情報について説明します。ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

ALTER DATABASE 互換性レベル」では、ALTER DATABASE のデータベース互換レベルに関連した SET オプションの構文と関連情報について説明します。ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

構文Syntax

-- Azure SQL Database Syntax  
ALTER DATABASE { database_name | CURRENT }  
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ]  
}  
[;]

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>  
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}  

引数Arguments

database_name: 変更するデータベースの名前です。database_name Is the name of the database to be modified.

CURRENT: 使用中の現在のデータベースを変更する必要があることを指定します。CURRENT Designates that the current database in use should be altered.

RemarksRemarks

データベースを削除するには、DROP DATABASE を使用します。To remove a database, use DROP DATABASE. データベースのサイズを縮小するには、DBCC SHRINKDATABASE を使用します。To decrease the size of a database, use DBCC SHRINKDATABASE.

ALTER DATABASE ステートメントは自動コミット モード (既定のトランザクション管理モード) で実行する必要があり、明示的または暗黙的なトランザクションでは許可されません。The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

プラン キャッシュが消去されると、後続のすべての実行プランが再コンパイルされ、場合によっては、クエリ パフォーマンスが一時的に急激に低下します。Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. プラン キャッシュ内のキャッシュストアが消去されるたびに、"SQL ServerSQL Server は、一部のデータベース メンテナンス操作または再構成操作により、'%s' キャッシュストア (プラン キャッシュの一部) のキャッシュストア フラッシュを %d 個検出しました" という情報メッセージが SQL ServerSQL Server エラー ログに含まれます。For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". このメッセージは、5 分以内にキャッシュがフラッシュされる限り、5 分間隔でログに記録されます。This message is logged every five minutes as long as the cache is flushed within that time interval.

既定オプションのデータベースに対して複数のクエリが実行されても、プラン キャッシュはフラッシュされます。The plan cache is also flushed when several queries are executed against a database that has default options. データベースはその後削除されます。Then, the database is dropped.

データベース情報の表示Viewing Database Information

カタログ ビュー、システム関数、およびシステム ストアド プロシージャを使用して、データベース、ファイルおよびファイル グループについての情報を返すことができます。You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

アクセス許可Permissions

データベースを変更できるのは、(準備プロセスによって作成される) サーバーレベルのプリンシパルのログイン、または dbcreator データベース ロールのメンバーだけです。Only the server-level principal login (created by the provisioning process) or members of the dbcreator database role can alter a database.

重要

データベースの所有者であっても dbcreator ロールのメンバーでない場合は、データベースを変更できません。The owner of the database cannot alter the database unless they are a member of the dbcreator role.

使用例Examples

自動チューニングを設定する方法と、マネージド インスタンスにファイルを追加する方法の例を次に示します。The following examples show you how to set automatic tuning and how to add a file in a managed instance.

ALTER DATABASE WideWorldImporters
  SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON)

ALTER DATABASE WideWorldImporters
  ADD FILE (NAME = 'data_17')

参照See also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 
Analytics Platform
System (PDW)
Analytics Platform
System (PDW)

 

概要:Azure SQL Data WarehouseOverview: Azure SQL Data Warehouse

Azure SQL Data Warehouse では、'ALTER DATABASE' によりデータベースの名前、最大サイズ、またはサービス目標が変更されます。In Azure SQL Dta Warehouse, 'ALTER DATABASE' modifies the name, maximum size, or service objective for a database.

解説が長くなるため、ALTER DATABASE の構文は複数の記事に分けて説明します。Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE の SET オプション」では、ALTER DATABASE の SET オプションを使ってデータベースの属性を変更するための構文と関連情報について説明します。ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

構文Syntax

ALTER DATABASE { database_name | CURRENT }
{
  MODIFY NAME = new_database_name
| MODIFY ( <edition_option> [, ... n] )
| SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<edition_option> ::=
      MAXSIZE = {
            250 | 500 | 750 | 1024 | 5120 | 10240 | 20480
          | 30720 | 40960 | 51200 | 61440 | 71680 | 81920
          | 92160 | 102400 | 153600 | 204800 | 245760
      } GB
      | SERVICE_OBJECTIVE = {
            'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500'
          | 'DW600' | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000'
          | 'DW3000' | 'DW6000' | 'DW500c' | 'DW1000c' | 'DW1500c'
          | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c' | 'DW6000c'
          | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
      }

引数Arguments

database_name: 変更するデータベースの名前を指定します。database_name Specifies the name of the database to be modified.

MODIFY NAME = new_database_name: データベースの名前を、new_database_name で指定した名前に変更します。MODIFY NAME = new_database_name Renames the database with the name specified as new_database_name.

MAXSIZE 既定値は 245,760 GB (240 TB) です。MAXSIZE The default is 245,760 GB (240 TB).

適用対象: Gen1 コンピューティングに最適化Applies to: Optimized for Compute Gen1

データベースの最大許容サイズ。The maximum allowable size for the database. データベースは MAXSIZE を超えることはできません。The database cannot grow beyond MAXSIZE.

適用対象: Gen2 コンピューティングに最適化Applies to: Optimized for Compute Gen2

データベースの行ストア データの最大許容サイズ。The maximum allowable size for rowstore data in the database. 行ストア テーブル、列ストア インデックスのデルタストア、またはクラスター化列ストア インデックスの非クラスター化インデックスに格納されているデータは MAXSIZE を超えることはできません。Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE. 列ストア形式に圧縮されたデータにはサイズ制限はなく、MAXSIZE に制約されません。Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVE: パフォーマンス レベルを指定します。SERVICE_OBJECTIVE Specifies the performance level. SQL Data Warehouse のサービス目標の詳細については、「Data Warehouse ユニット (DWU)」を参照してください。For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

アクセス許可Permissions

以下のアクセス許可が必要です。Requires these permissions:

  • サーバー レベル プリンシパル ログイン (プロビジョニング処理で作成されたもの) またはServer-level principal login (the one created by the provisioning process), or
  • dbmanager データベース ロールのメンバー。Member of the dbmanager database role.

所有者が dbmanager ロールのメンバーである場合を除き、データベースの所有者はデータベースを変更することはできません。The owner of the database cannot alter the database unless the owner is a member of the dbmanager role.

全般的な解説General Remarks

現在のデータベースは、変更対象とは異なるデータベースである必要があります。したがって、ALTER は master データベースに接続されている間に実行する必要がありますThe current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

SQL Data Warehouse は COMPATIBILITY_LEVEL 130 に設定されており、変更することはできません。SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. 詳細については、「ALTER DATABASE (TRANSACT-SQL) の互換性レベル」を参照してください。For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

制限事項と制約事項Limitations and Restrictions

ALTER DATABASE を実行するには、データベースをオンラインにする必要があり、一時停止状態にすることはできません。To run ALTER DATABASE, the database must be online and cannot be in a paused state.

ALTER DATABASE ステートメントは、既定のトランザクション管理モードである自動コミット モードで実行する必要があります。The ALTER DATABASE statement must run in auto-commit mode, which is the default transaction management mode. これは、接続の設定で設定されます。This is set in the connection settings.

ALTER DATABASE ステートメントをユーザー定義のトランザクションに含めることはできません。The ALTER DATABASE statement cannot be part of a user-defined transaction.

データベースの照合順序を変更することはできません。You cannot change the database collation.

使用例Examples

これらの例を実行する前に、変更対象のデータベースが現在のデータベースでないことを確認します。Before you run these examples, make sure the database you are altering is not the current database. 現在のデータベースは、変更対象とは異なるデータベースである必要があります。したがって、ALTER は master データベースに接続されている間に実行する必要がありますThe current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

A.A. データベースの名前を変更します。Change the name of the database

ALTER DATABASE AdventureWorks2012
MODIFY NAME = Northwind;

B.B. データベースの最大サイズを変更します。Change max size for the database

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );

C.C. パフォーマンス レベルを変更します。Change the performance level

ALTER DATABASE dw1 MODIFY ( SERVICE_OBJECTIVE= 'DW1200' );

D.D. 最大サイズとパフォーマンス レベルを変更します。Change the max size and the performance level

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB, SERVICE_OBJECTIVE= 'DW1200' );

参照See Also

SQL ServerSQL Server SQL Database
単一データベース/エラスティック プール
SQL Database
single database/elastic pool
SQL Database
マネージド インスタンス
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Analytics
Platform System (PDW) *
 
* Analytics
Platform System (PDW) *
 

 

概要:分析プラットフォーム システムOverview: Analytics Platform System

PDW の複製テーブル、分散テーブル、およびトランザクション ログの最大データベース サイズ オプションを変更します。Modifies the maximum database size options for replicated tables, distributed tables, and the transaction log in PDW. このステートメントを使用すると、サイズの増加または減少に合わせてデータベースのディスク領域割り当てを管理できます。Use this statement to manage disk space allocations for a database as it grows or shrinks in size. また、この記事では PDW のデータベース オプションの設定に関連する構文についても説明します。The article also describes syntax related to setting database options in PDW.

構文Syntax

-- Analytics Platform System
ALTER DATABASE database_name
    SET ( <set_database_options> | <db_encryption_option> )
[;]

<set_database_options> ::=
{
    AUTOGROW = { ON | OFF }
    | REPLICATED_SIZE = size [GB]
    | DISTRIBUTED_SIZE = size [GB]
    | LOG_SIZE = size [GB]
    | SET AUTO_CREATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF }

引数Arguments

database_name: 変更するデータベースの名前です。database_name The name of the database to be modified. アプライアンス上でデータベースの一覧を表示するには、sys.databases を使用します。To display a list of databases on the appliance, use sys.databases.

AUTOGROW = { ON | OFF }: AUTOGROW オプションを更新します。AUTOGROW = { ON | OFF } Updates the AUTOGROW option. AUTOGROW が ON のとき、Parallel Data WarehouseParallel Data Warehouse は、複製テーブル、分散テーブル、トランザクション ログの割り当て領域を必要に応じて自動的に増やし、記憶域要件の増加に対応します。When AUTOGROW is ON, Parallel Data WarehouseParallel Data Warehouse automatically increases the allocated space for replicated tables, distributed tables, and the transaction log as necessary to accommodate growth in storage requirements. AUTOGROW が OFF のとき、Parallel Data WarehouseParallel Data Warehouse は、複製テーブル、分散テーブル、トランザクション ログが最大サイズ設定を超過したときにエラーを返します。When AUTOGROW is OFF, Parallel Data WarehouseParallel Data Warehouse returns an error if replicated tables, distributed tables, or the transaction log exceeds the maximum size setting.

REPLICATED_SIZE = size [GB]: 変更されているデータベースのすべての複製テーブルを格納するための新しい最大 GB を計算ノードごとに指定します。REPLICATED_SIZE = size [GB] Specifies the new maximum gigabytes per Compute node for storing all of the replicated tables in the database being altered. アプライアンスの記憶域を計画している場合、アプライアンスの計算ノード数に REPLICATED_SIZE を掛ける必要があります。If you are planning for appliance storage space, you will need to multiply REPLICATED_SIZE by the number of Compute nodes in the appliance.

DISTRIBUTED_SIZE = size [GB]: 変更されているデータベースのすべての分散テーブルを格納するための新しい最大 GB をデータベースごとに指定します。DISTRIBUTED_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the distributed tables in the database being altered. このサイズは、アプライアンスの計算ノード全体で分散されます。The size is distributed across all of the Compute nodes in the appliance.

LOG_SIZE = size [GB]: 変更されているデータベースのすべてのトランザクション ログを格納するための新しい最大 GB をデータベースごとに指定します。LOG_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the transaction logs in the database being altered. このサイズは、アプライアンスの計算ノード全体で分散されます。The size is distributed across all of the Compute nodes in the appliance.

ENCRYPTION { ON | OFF }: データベースを暗号化する (ON) か、暗号化しない (OFF) かを設定します。ENCRYPTION { ON | OFF } Sets the database to be encrypted (ON) or not encrypted (OFF). Parallel Data WarehouseParallel Data Warehouse の暗号化は、sp_pdw_database_encryption1 に設定されているときにのみ構成できます。Encryption can only be configured for Parallel Data WarehouseParallel Data Warehouse when sp_pdw_database_encryption has been set to 1. Transparent Data Encryption を構成するには、先にデータベース暗号化キーを作成する必要があります。A database encryption key must be created before transparent data encryption can be configured. データベース暗号化の詳細については、「Transparent Data Encryption (TDE)」を参照してください。For more information about database encryption, see Transparent Data Encryption (TDE).

SET AUTO_CREATE_STATISTICS { ON | OFF } 統計の自動作成オプション AUTO_CREATE_STATISTICS がオンの場合、クエリ プランのカーディナリティの推定を向上させるために、クエリ オプティマイザーによってクエリ述語内の個々の列に関する統計が必要に応じて作成されます。SET AUTO_CREATE_STATISTICS { ON | OFF } When the automatic create statistics option, AUTO_CREATE_STATISTICS, is ON, the Query Optimizer creates statistics on individual columns in the query predicate, as necessary, to improve cardinality estimates for the query plan. これらの 1 列ずつの統計は、既存の統計オブジェクトにまだヒストグラムがない列について作成されます。These single-column statistics are created on columns that do not already have a histogram in an existing statistics object.

AU7 へのアップグレード後に作成された新しいデータベースの場合、既定値は ON です。Default is ON for new databases created after upgrading to AU7. アップグレードの前に作成されたデータベースの場合、既定値は OFF です。The default is OFF for databases created prior to the upgrade.

統計の詳細については、「統計」を参照してください。For more information about statistics, see Statistics

SET AUTO_UPDATE_STATISTICS { ON | OFF } 統計の自動更新オプション AUTO_UPDATE_STATISTICS がオンの場合、古くなっている可能性がある統計がクエリ オプティマイザーによって判断され、それらがクエリで使用されると更新されます。SET AUTO_UPDATE_STATISTICS { ON | OFF } When the automatic update statistics option, AUTO_UPDATE_STATISTICS, is ON, the query optimizer determines when statistics might be out-of-date and then updates them when they are used by a query. 挿入、更新、削除、またはマージの各操作によってテーブルまたはインデックス付きビューのデータの分布が変わると、統計は古くなったと判断されます。Statistics become out-of-date after operations insert, update, delete, or merge change the data distribution in the table or indexed view. クエリ オプティマイザーでは、統計が前回更新されてから発生したデータ変更の数をカウントし、その変更の数をしきい値と比較することで、統計が古くなっている可能性がないかを判断します。The query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. このしきい値は、テーブルまたはインデックス付きビューの行数に基づいて決められます。The threshold is based on the number of rows in the table or indexed view.

AU7 へのアップグレード後に作成された新しいデータベースの場合、既定値は ON です。Default is ON for new databases created after upgrading to AU7. アップグレードの前に作成されたデータベースの場合、既定値は OFF です。The default is OFF for databases created prior to the upgrade.

統計の詳細については、「統計」を参照してください。For more information about statistics, see Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } 統計の非同期更新オプション AUTO_UPDATE_STATISTICS_ASYNC によって、クエリ オプティマイザーで統計の同期更新と非同期更新のどちらを使用するかが決まります。SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } The asynchronous statistics update option, AUTO_UPDATE_STATISTICS_ASYNC, determines whether the Query Optimizer uses synchronous or asynchronous statistics updates. AUTO_UPDATE_STATISTICS_ASYNC オプションは、インデックスに対して作成された統計オブジェクト、クエリ述語内の列に対して 1 列ずつ作成された統計オブジェクト、および CREATE STATISTICS ステートメントを使用して作成された統計に適用されます。The AUTO_UPDATE_STATISTICS_ASYNC option applies to statistics objects created for indexes, single columns in query predicates, and statistics created with the CREATE STATISTICS statement.

AU7 へのアップグレード後に作成された新しいデータベースの場合、既定値は ON です。Default is ON for new databases created after upgrading to AU7. アップグレードの前に作成されたデータベースの場合、既定値は OFF です。The default is OFF for databases created prior to the upgrade.

統計の詳細については、「統計」を参照してください。For more information about statistics, see Statistics.

アクセス許可Permissions

データベースに対する ALTER 権限が必要です。Requires the ALTER permission on the database.

エラー メッセージError Messages

自動統計が無効になっている場合に、統計の設定を変更しようとすると、This option is not supported in PDW というエラーが PDW から出力されます。If auto-stats is disabled and you try to alter the statistics settings, PDW outputs the error This option is not supported in PDW. システム管理者は、機能スイッチ AutoStatsEnabled を有効にすることにより、自動統計を有効にすることができます。The system administrator can enable auto-stats by enabling the feature switch AutoStatsEnabled.

全般的な解説General Remarks

REPLICATED_SIZEDISTRIBUTED_SIZELOG_SIZE は、データベースの現在の値と同じ値か、それより大きい値か、それより小さい値に設定できます。The values for REPLICATED_SIZE, DISTRIBUTED_SIZE, and LOG_SIZE can be greater than, equal to, or less than the current values for the database.

制限事項と制約事項Limitations and Restrictions

増加と縮小はおおよそで行われます。Grow and shrink operations are approximate. 結果的に与えられる実際のサイズはサイズ パラメーターとは異なる場合があります。The resulting actual sizes can vary from the size parameters.

Parallel Data WarehouseParallel Data Warehouse は ALTER DATABASE ステートメントを不可分操作として実行しません。does not perform the ALTER DATABASE statement as an atomic operation. 実行中、ステートメントが中止された場合、既に発生している変更はそのまま残ります。If the statement is aborted during execution, changes that have already occurred will remain.

統計の設定は、管理者によって自動統計が有効にされた場合にのみ機能します。管理者である場合は、機能スイッチ AutoStatsEnabled を使用して自動統計を有効または無効にします。The statistics settings only work if the administrator has enable auto-stats. If you are an administrator, use the feature switch AutoStatsEnabled to enable or disable auto-stats.

ロック動作Locking Behavior

DATABASE オブジェクトを共有ロックします。Takes a shared lock on the DATABASE object. 別のユーザーが読み取りまたは書き込みをしているデータベースを変更することはできません。You cannot alter a database that is in use by another user for reading or writing. データベースで USE ステートメントを発行しているセッションもこれに該当します。This includes sessions that have issued a USE statement on the database.

パフォーマンスPerformance

データベース内の実際のデータ サイズとディスクの断片化の量によっては、データベースの縮小に多大な時間とシステム リソースが必要となります。Shrinking a database can take a large amount of time and system resources, depending on the size of the actual data within the database, and the amount of fragmentation on disk. たとえば、データベースの縮小に数時間かかることがあります。For example, shrinking a database could take several hours or more.

暗号化の進捗状況を見るDetermining Encryption Progress

次のクエリを使用すると、データベースの Transparent Data Encryption の進捗状況を割合で見ることができます。Use the following query to determine progress of database transparent data encryption as a percent:

WITH
database_dek AS (
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id,
        dek.encryption_state, dek.percent_complete,
        dek.key_algorithm, dek.key_length, dek.encryptor_thumbprint,
        type
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek
    INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map
        ON dek.database_id = node_db_map.database_id
        AND dek.pdw_node_id = node_db_map.pdw_node_id
    LEFT JOIN sys.pdw_database_mappings AS db_map
        ON node_db_map .physical_name = db_map.physical_name
    INNER JOIN sys.dm_pdw_nodes nodes
        ON nodes.pdw_node_id = dek.pdw_node_id
    WHERE dek.encryptor_thumbprint <> 0x
),
dek_percent_complete AS (
    SELECT database_dek.database_id, AVG(database_dek.percent_complete) AS percent_complete
    FROM database_dek
    WHERE type = 'COMPUTE'
    GROUP BY database_dek.database_id
)
SELECT DB_NAME( database_dek.database_id ) AS name,
    database_dek.database_id,
    ISNULL(
       (SELECT TOP 1 dek_encryption_state.encryption_state
        FROM database_dek AS dek_encryption_state
        WHERE dek_encryption_state.database_id = database_dek.database_id
        ORDER BY (CASE encryption_state
            WHEN 3 THEN -1
            ELSE encryption_state
            END) DESC), 0)
        AS encryption_state,
dek_percent_complete.percent_complete,
database_dek.key_algorithm, database_dek.key_length, database_dek.encryptor_thumbprint
FROM database_dek
INNER JOIN dek_percent_complete
    ON dek_percent_complete.database_id = database_dek.database_id
WHERE type = 'CONTROL';

TDE 実装の全手順を包括的な例で見るには、「Transparent Data Encryption (TDE)」を参照してください。For a comprehensive example demonstrating all the steps in implementing TDE, see Transparent Data Encryption (TDE).

例: Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

A.A. AUTOGROW 設定を変更するAltering the AUTOGROW setting

データベース CustomerSales の AUTOGROW を ON に設定します。Set AUTOGROW to ON for database CustomerSales.

ALTER DATABASE CustomerSales
    SET ( AUTOGROW = ON );

B.B. 複製テーブルの最大記憶域を変更するAltering the maximum storage for replicated tables

次の例では、データベース CustomerSales の複製テーブルの記憶域上限を 1 GB に設定します。The following example sets the replicated table storage limit to 1 GB for the database CustomerSales. これは計算ノードごとの記憶域上限になります。This is the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( REPLICATED_SIZE = 1 GB );

C.C. 分散テーブルの最大記憶域を変更するAltering the maximum storage for distributed tables

次の例では、データベース CustomerSales の分散テーブルの記憶域上限を 1000 GB (1 テラバイト) に設定します。The following example sets the distributed table storage limit to 1000 GB (one terabyte) for the database CustomerSales. これは、計算ノードごとの記憶域上限ではなく、アプライアンス全体の全計算ノードの記憶域上限を 1 つにしたものになります。This is the combined storage limit across the appliance for all of the Compute nodes, not the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( DISTRIBUTED_SIZE = 1000 GB );

D.D. トランザクション ログの最大記憶域を変更するAltering the maximum storage for the transaction log

次の例では、データベース CustomerSales を更新し、アプライアンスの SQL ServerSQL Server トランザクション ログの最大サイズを 10 GB にします。The following example updates the database CustomerSales to have a maximum SQL ServerSQL Server transaction log size of 10 GB for the appliance.

ALTER DATABASE CustomerSales
    SET ( LOG_SIZE = 10 GB );

E.E. 現在の統計値を確認するCheck for current statistics values

次のクエリを実行すると、すべてのデータベースについて現在の統計値が返されます。The following query returns the current statistics values for all databases. 値が 1 の場合は機能がオンであることを意味し、値が 0 の場合は機能がオフであることを意味します。The value 1 means the feature is on, and a 0 means the feature is off.

SELECT NAME,
    is_auto_create_stats_on,
    is_auto_update_stats_on,
    is_auto_update_stats_async_on
FROM sys.databases;

F.F. データベースに対して統計の自動作成および自動更新を有効にするEnable auto-create and auto-update stats for a database

次のステートメントを使用して、データベース CustomerSales について自動的かつ非同期的に統計を作成および更新する機能を有効にします。Use the following statement to enable create and update statistics automatically and asynchronously for database, CustomerSales. これにより、高品質のクエリ プランを作成するために必要に応じて統計が作成および更新されます。This creates and updates single-column statistics as necessary to create high quality query plans.

ALTER DATABASE CustomerSales
    SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE
    SET AUTO_UPDATE_STATISTICS_ASYNC ON;

参照See Also