CREATE DATABASECREATE DATABASE

新しいデータベースを作成します。Creates a new database.

お使いの特定バージョンの SQL の構文、引数、注釈、権限、例を表示するには、以下のいずれかのタブをクリックします。Click one of the following tabs for the syntax, arguments, remarks, permissions, and examples for a particular SQL version with which you are working.

構文表記規則の詳細については、「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 ServerSQL Server

概要Overview

SQL Server では、このステートメントは、新しいデータベース、使用されるファイル、そのファイル グループを作成します。In SQL Server, this statement creates a new database and the files used and their filegroups. また、データベース スナップショットを作成したり、別のデータベースのデタッチされたファイルからデータベースを作成するためにデータベース ファイルをアタッチするためにも使用できます。It can also be used to create a database snapshot, or attach database files to create a database from the detached files of another database.

構文Syntax

データベースを作成します。Create a database.

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
      [ PRIMARY ] <filespec> [ ,...n ]
      [ , <filegroup> [ ,...n ] ]
      [ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]

<option> ::=
{
      FILESTREAM ( <filestream_option> [,...n ] )
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
    | NESTED_TRIGGERS = { OFF | ON }
    | TRANSFORM_NOISE_WORDS = { OFF | ON}
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
    | DB_CHAINING { OFF | ON }
    | TRUSTWORTHY { OFF | ON }
    | PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='<Filepath to folder on DAX formatted volume>' )
}

<filestream_option> ::=
{
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    | DIRECTORY_NAME = 'directory_name'
}

<filespec> ::=
{
(
    NAME = logical_file_name ,
    FILENAME = { 'os_file_name' | 'filestream_path' }
    [ , SIZE = size [ KB | MB | GB | TB ] ]
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
)
}

<filegroup> ::=
{
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]
    <filespec> [ ,...n ]
}

<service_broker_option> ::=
{
    ENABLE_BROKER
  | NEW_BROKER
  | ERROR_BROKER_CONVERSATIONS
}

データベースのアタッチAttach a database

CREATE DATABASE database_name
    ON <filespec> [ ,...n ]
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
        | ATTACH_REBUILD_LOG }
[;]

<attach_database_option> ::=
{
      <service_broker_option>
    | RESTRICTED_USER
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
}

データベース スナップショットの作成Create a database snapshot

CREATE DATABASE database_snapshot_name
    ON
    (
        NAME = logical_file_name,
        FILENAME = 'os_file_name'
    ) [ ,...n ]
    AS SNAPSHOT OF
[;]

引数Arguments

database_name: 新しいデータベースの名前です。database_name Is the name of the new database. データベース名は、SQL ServerSQL Server のインスタンス内で一意であり、識別子のルールに従っている必要があります。Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

ログ ファイルに論理名が指定されていない場合を除き、database_name には、最大 128 文字まで指定できます。database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. ログ ファイルの論理名が指定されていない場合、SQL ServerSQL Server は、database_name にサフィックスを付加することにより、ログの logical_file_name および os_file_name を生成します。If a logical log file name is not specified, SQL ServerSQL Server generates the logical_file_name and the os_file_name for the log by appending a suffix to database_name. 生成された論理ファイル名が 128 文字を超えないようにするため、database_name は 123 文字に制限されます。This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

データ ファイル名が指定されていない場合、SQL ServerSQL Server では、logical_file_name および os_file_name の両方に database_name を使用します。If data file name is not specified, SQL ServerSQL Server uses database_name as both the logical_file_name and as the os_file_name. 既定のパスはレジストリから取得されます。The default path is obtained from the registry. 既定のパスを変更するには、Management StudioManagement Studio[サーバーのプロパティ] ([データベースの設定] ページ) を使用します。The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. 既定のパスを変更するには、SQL ServerSQL Server を再起動する必要があります。Changing the default path requires restarting SQL ServerSQL Server.

CONTAINMENT = { NONE | PARTIAL }CONTAINMENT = { NONE | PARTIAL }

適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

データベースの包含状態を指定します。Specifies the containment status of the database. NONE = 非包含データベース。NONE = non-contained database. PARTIAL = 部分的包含データベース。PARTIAL = partially contained database.

ONON
データベースのデータ部分の格納に使用するディスク ファイル (データ ファイル) を明示的に定義するように指定します。Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. プライマリ ファイル グループのデータ ファイルを定義する <filespec> 項目のコンマ区切りリストが続く場合は、ON にします。ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. プライマリ ファイル グループ内のファイルのリストに続き、ユーザー ファイル グループおよびユーザー ファイル グループに属するファイルを定義する省略可能な <filegroup> 項目のコンマ区切りリストを記述できます。The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items that define user filegroups and their files.

PRIMARYPRIMARY
関連付けられた <filespec> リストによってプライマリ ファイルを定義するように指定します。Specifies that the associated <filespec> list defines the primary file. プライマリ ファイル グループ内の <filespec> エントリに最初に指定されたファイルが、プライマリ ファイルとなります。The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. データベースはプライマリ ファイルを 1 つだけ保有することができます。A database can have only one primary file. 詳細については、「 Database Files and Filegroups」を参照してください。For more information, see Database Files and Filegroups.

PRIMARY を指定しないと、CREATE DATABASE ステートメント内に記述された最初のファイルがプライマリ ファイルになります。If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ONLOG ON
データベース ログの格納に使用するディスク ファイル (ログ ファイル) を明示的に定義するように指定します。Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON に続けて、ログ ファイルを定義する <filespec> 項目のコンマ区切りリストを記述します。LOG ON is followed by a comma-separated list of <filespec> items that define the log files. LOG ON が指定されていない場合、データベースのすべてのデータ ファイルのサイズの合計の 25%、または、512 KB のいずれか大きい方のサイズのログ ファイルが 1 つ自動的に作成されます。If LOG ON is not specified, one log file is automatically created, which has a size that is 25 percent of the sum of the sizes of all the data files for the database, or 512 KB, whichever is larger. このファイルは既定のログ ファイルの場所に保存されます。This file is placed in the default log-file location. この場所については、データ ファイルとログ ファイルの既定の場所の表示または変更 - SSMS に関するページを参照してください。For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

LOG ON はデータベース スナップショットでは指定できません。LOG ON cannot be specified on a database snapshot.

COLLATE collation_name COLLATE collation_name
データベースの既定の照合順序を指定します。Specifies the default collation for the database. 照合順序名には、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 default collation of the instance of SQL ServerSQL Server. 照合順序名は、データベース スナップショットでは指定できません。A collation name cannot be specified on a database snapshot.

照合順序名は、FOR ATTACH 句や FOR ATTACH_REBUILD_LOG 句と共に指定することはできません。A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. アタッチされたデータベースの照合順序を変更する方法の詳細については、この Microsoft Web サイトを参照してください。For information about how to change the collation of an attached database, visit this Microsoft Web site.

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

注意

包含データベースは、非包含データベースとは異なる方法で照合されます。Contained databases are collated differently than non-contained databases. 詳細については、「包含データベースの照合順序」を参照してください。Please see Contained Database Collations for more information.

WITH <option>WITH <option>
<filestream_options><filestream_options>

NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } 適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降。NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL } Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

データベースに対する非トランザクション FILESTREAM アクセスのレベルを指定します。Specifies the level of non-transactional FILESTREAM access to the database.

[値]Value [説明]Description
OFFOFF 非トランザクション アクセスは無効です。Non-transactional access is disabled.
READONLYREADONLY このデータベース内の FILESTREAM データは、非トランザクション プロセスによって読み取ることができます。FILESTREAM data in this database can be read by non-transactional processes.
FULLFULL FILESTREAM FileTable に対する完全な非トランザクション アクセスは有効です。Full non-transactional access to FILESTREAM FileTables is enabled.

DIRECTORY_NAME = <directory_name>DIRECTORY_NAME = <directory_name>
適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

Windows と互換性のあるディレクトリ名です。A windows-compatible directory name. この名前は、SQL ServerSQL Server インスタンス内のすべての Database_Directory 名の中で一意である必要があります。This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. 一意性の比較では、SQL ServerSQL Server 照合順序の設定とは関係なく、大文字と小文字は区別されません。Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. このオプションは、このデータベース内に FileTable を作成する前に設定する必要があります。This option should be set before creating a FileTable in this database.

次のオプションは、CONTAINMENT が PARTIAL に設定されている場合にのみ使用できます。The following options are allowable only when CONTAINMENT has been set to PARTIAL. CONTAINMENT が NONE に設定されている場合、エラーが発生します。If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

    適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    このオプションの詳細については、「default full-text language サーバー構成オプションの構成」を参照してください。See Configure the default full-text language Server Configuration Option for a full description of this option.

  • DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

    適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    このオプションの詳細については、「default language サーバー構成オプションの構成」を参照してください。See Configure the default language Server Configuration Option for a full description of this option.

  • NESTED_TRIGGERS = { OFF | ON}NESTED_TRIGGERS = { OFF | ON}

    適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    このオプションの詳細については、「nested triggers サーバー構成オプションの構成」を参照してください。See Configure the nested triggers Server Configuration Option for a full description of this option.

  • TRANSFORM_NOISE_WORDS = { OFF | ON}TRANSFORM_NOISE_WORDS = { OFF | ON}

    適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later

    このオプションの詳細については、「transform noise words サーバー構成オプション」を参照してください。See transform noise words Server Configuration Optionfor a full description of this option.

  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    年を表す 4 桁の数字。Four digits representing a year. 既定値は 2049 です。2049 is the default value. このオプションの詳細については、「two digit year cutoff サーバー構成オプションの構成」を参照してください。See Configure the two digit year cutoff Server Configuration Option for a full description of this option.

  • DB_CHAINING { OFF | ON }DB_CHAINING { OFF | ON }

    ON が指定されている場合、データベースを、複数データベースの組み合わせ所有権のソース データベースまたは対象データベースとして使用できます。When ON is specified, the database can be the source or target of a cross-database ownership chain.

    OFF の場合、データベースは、複数データベースの組み合わせ所有権に参加することはできません。When OFF, the database cannot participate in cross-database ownership chaining. 既定値は OFF です。The default is OFF.

    重要

    SQL ServerSQL Server のインスタンスでは、cross db ownership chaining サーバー オプションが 0 (OFF) の場合に、この設定が認識されます。The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). cross db ownership chaining が 1 (ON) の場合は、このオプションの値にかかわらず、すべてのユーザー データベースが複数データベースの組み合わせ所有権に参加できます。When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. このオプションは、sp_configure を使用して設定します。This option is set by using sp_configure.

    このオプションを設定するには、sysadmin 固定サーバー ロールのメンバーシップが必要です。To set this option, requires membership in the sysadmin fixed server role. master、model、tempdb のシステム データベースでは、DB_CHAINING オプションを設定することはできません。The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

  • TRUSTWORTHY { OFF | ON }TRUSTWORTHY { OFF | ON }

    ON が指定されている場合、権限借用のコンテキストを使用するデータベース モジュール (ビュー、ユーザー定義関数、ストアド プロシージャなど) は、データベース外のリソースにアクセスできます。When ON is specified, database modules (for example, views, user-defined functions, or stored procedures) that use an impersonation context can access resources outside the database.

    OFF の場合、権限借用のコンテキスト内のデータベース モジュールは、データベース外のリソースにアクセスできません。When OFF, database modules in an impersonation context cannot access resources outside the database. 既定値は OFF です。The default is OFF.

    データベースがアタッチされている場合は常に、TRUSTWORTHY は OFF に設定されます。TRUSTWORTHY is set to OFF whenever the database is attached.

    既定では、msdb データベースを除くすべてのシステム データベースで TRUSTWORTHY は OFF に設定されています。By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. model および tempdb データベースでは、この値は変更できません。The value cannot be changed for the model and tempdb databases. master データベースでは、TRUSTWORTHY オプションを ON に設定しないことを強くお勧めします。We recommend that you never set the TRUSTWORTHY option to ON for the master database.

  • PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )PERSISTENT_LOG_BUFFER=ON ( DIRECTORY_NAME='' )

    このオプションを指定すると、ストレージ クラス メモリ (NVDIMM-N 不揮発性ストレージ、永続的ログ バッファーとも呼ばれます) によってバックアップされるディスク デバイス上のボリュームに、トランザクション ログ バッファーが作成されます。When this option is specified, the transaction log buffer is created on a volume that is located on a disk device backed by Storage Class Memory (NVDIMM-N nonvolatile storage) - also known as a persistent log buffer. 詳しくは、「Transaction Commit latency acceleration using Storage Class Memory」(ストレージ クラス メモリを使用したトランザクション コミット待機時間の短縮) をご覧ください。For more information, see Transaction Commit latency acceleration using Storage Class Memory. 適用対象: SQL Server 2017 (14.x)SQL Server 2017 (14.x) 以降。Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and newer.

FOR ATTACH [ WITH < attach_database_option > ]FOR ATTACH [ WITH < attach_database_option > ]
既存のオペレーティング システム ファイルのセットをアタッチすることによりデータベースを作成するように指定します。Specifies that the database is created by attaching an existing set of operating system files. プライマリ ファイルを指定する <filespec> エントリが必要です。There must be a <filespec> entry that specifies the primary file. 他に必要な <filespec> エントリは、データベースが最初に作成されたとき、または最後にアタッチされたときからパスが変わったファイルのエントリだけです。The only other <filespec> entries required are those for any files that have a different path from when the database was first created or last attached. これらのファイルの <filespec> エントリを指定する必要があります。A <filespec> entry must be specified for these files.

FOR ATTACH では、以下のことが必要です。FOR ATTACH requires the following:

  • すべてのデータ ファイル (MDF および NDF) が有効であること。All data files (MDF and NDF) must be available.
  • ログ ファイルが複数存在する場合は、これらがすべて使用可能であること。If multiple log files exist, they must all be available.

読み取り/書き込みデータベースに現在利用できないログ ファイルが 1 つある場合、アタッチ操作の前に、ユーザーも、開かれたトランザクションもない状態でデータベースをシャットダウンすると、FOR ATTACH は自動的にログ ファイルを再構築し、プライマリ ファイルを更新します。If a read/write database has a single log file that is currently unavailable, and if the database was shut down with no users or open transactions before the attach operation, FOR ATTACH automatically rebuilds the log file and updates the primary file. これに対し、読み取り専用データベースの場合、プライマリ ファイルを更新できないため、ログは再構築できません。In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. したがって、ログが利用できない読み取り専用データベースをアタッチする場合、ログ ファイルまたはファイルを FOR ATTACH 句に指定する必要があります。Therefore, when you attach a read-only database with a log that is unavailable, you must provide the log files, or the files in the FOR ATTACH clause.

注意

新しいバージョンの SQL ServerSQL Server で作成したデータベースは、それ以前のバージョンでアタッチすることはできません。A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

SQL ServerSQL Server では、アタッチされるデータベースに含まれているフルテキスト ファイルも、すべてデータベースと共にアタッチされます。In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. フルテキスト カタログの新しいパスを指定するには、フルテキストのオペレーティング システム ファイル名を含めずに新しい場所を指定します。To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. 詳細については、「例」のセクションを参照してください。For more information, see the Examples section.

"ディレクトリ名" の FILESTREAM オプションを含むデータベースを SQL ServerSQL Server インスタンスにアタッチすると、Database_Directory 名が一意であることを確認する要求が SQL ServerSQL Server に対して行われます。Attaching a database that contains a FILESTREAM option of "Directory name", into a SQL ServerSQL Server instance will prompt SQL ServerSQL Server to verify that the Database_Directory name is unique. Database_Directory 名が一意でない場合は、アタッチ操作は失敗し、"FILESTREAM Database_Directory 名 <名前> は、この SQL Server インスタンスで一意ではありません" というエラーが出力されます。If it is not, the attach operation fails with the error, "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance". このエラーを回避するには、省略可能なパラメーターの directory_name をこの操作に渡す必要があります。To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

FOR ATTACH はデータベース スナップショットでは指定できません。FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH は RESTRICTED_USER オプションを指定できます。FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER モードでは、db_owner 固定データベース ロールと、dbcreator 固定サーバー ロールおよび sysadmin 固定サーバー ロールのメンバーのみが、データベースに接続できます。ただし、接続ユーザー数に制限はありません。RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does not limit their number. 修飾されていないユーザーによる試行が拒否されます。Attempts by unqualified users are refused.

データベースで Service BrokerService Broker を使用する場合は、FOR ATTACH 句で WITH <service_broker_option> を使用します。If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option><service_broker_option>
Service BrokerService Broker のメッセージの配信と、データベースの Service BrokerService Broker 識別子を制御します。Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. Service BrokerService Broker オプションは、FOR ATTACH 句が使用されている場合にのみ指定できます。options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKERENABLE_BROKER
指定したデータベースに対して Service BrokerService Broker を有効にします。Specifies that Service BrokerService Broker is enabled for the specified database. つまり、メッセージ配信が開始され、sys.databases カタログ ビューで is_broker_enabled が TRUE に設定されます。That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. データベースは、既存の Service BrokerService Broker 識別子を保持します。The database retains the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
sys.databases と復元されたデータベースの両方に新しい service_broker_guid 値を作成し、すべてのメッセージ交換エンドポイントをクリーンアップして終了します。Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. ブローカーは有効ですが、リモートのメッセージ交換エンドポイントにメッセージは送信されません。The broker is enabled, but no message is sent to the remote conversation endpoints. 古い Service BrokerService Broker 識別子を参照するルートは、新しい識別子を使用して作成し直す必要があります。Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
データベースがアタッチまたは復元されていることを示すエラーと共に、すべてのメッセージ交換を終了します。Ends all conversations with an error stating that the database is attached or restored. ブローカーはこの操作が完了するまで無効になり、その後、有効になります。The broker is disabled until this operation is completed and then enabled. データベースは、既存の Service BrokerService Broker 識別子を保持します。The database retains the existing Service BrokerService Broker identifier.

レプリケートされたデータベースをアタッチするとき、そのデータベースがデタッチではなくコピーされたものである場合は、次の点を考慮してください。When you attach a replicated database that was copied instead of being detached, consider the following:

  • 元のデータベースと同じサーバー インスタンスおよびバージョンにデータベースをアタッチする場合は、必要な追加手順はありません。If you attach the database to the same server instance and version as the original database, no additional steps are required.
  • 同じサーバー インスタンスのアップグレードされたバージョンにデータベースをアタッチする場合は、アタッチ操作が完了した後、sp_vupgrade_replication を実行してレプリケーションをアップグレードする必要があります。If you attach the database to the same server instance but with an upgraded version, you must execute sp_vupgrade_replication to upgrade replication after the attach operation is complete.
  • バージョンに関係なく、別のサーバー インスタンスにデータベースをアタッチする場合は、アタッチ操作が完了した後、sp_removedbreplication を実行してレプリケーションを削除する必要があります。If you attach the database to a different server instance, regardless of version, you must execute sp_removedbreplication to remove replication after the attach operation is complete.

注意

アタッチは vardecimal ストレージ形式で動作しますが、SQL Server データベース エンジンSQL Server Database EngineSQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2 以降にアップグレードする必要があります。Attach works with the vardecimal storage format, but the SQL Server データベース エンジンSQL Server Database Engine must be upgraded to at least SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP2. vardecimal ストレージ形式を使用するデータベースを以前のバージョンの SQL ServerSQL Server にアタッチすることはできません。You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. vardecimal ストレージ形式の詳細については、「データ圧縮」を参照してください。For more information about the vardecimal storage format, see Data Compression.

データベースが最初に SQL ServerSQL Serverの新しいインスタンスにアタッチまたは復元されるとき、データベース マスター キー (サービス マスター キーにより暗号化されたもの) のコピーはまだサーバーに格納されていません。When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. OPEN MASTER KEY を使用して、データベース マスター キー (DMK) を暗号化解除する必要があります。You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). DMK の暗号化が解除されると、 ALTER MASTER KEY REGENERATE ステートメントを使用して、サービス マスター キー (SMK) で暗号化された DMK のコピーをサーバーに提供することにより、将来、自動的に暗号化解除することも可能となります。Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). データベースを以前のバージョンからアップグレードした場合、新しい AES アルゴリズムを使用するように DMK を再作成する必要があります。When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. DMK を再作成する方法の詳細については、ALTER MASTER KEY に関するページを参照してください。For more information about regenerating the DMK, see ALTER MASTER KEY. DMK キーを再作成して AES にアップグレードするのに必要な時間は、DMK によって保護されているオブジェクトの数によって異なります。The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. DMK キーを再作成して AES にアップグレードする作業は、1 回限りで済み、今後のキー ローテーション方法には影響を与えません。Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy. アタッチを使用してデータベースをアップグレードする方法については、デタッチとアタッチを使用したデータベースのアップグレードに関するページを参照してください。For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach.

重要

不明なソースや信頼されていないソースからのデータベースはアタッチしないことをお勧めします。We recommend that you do not attach databases from unknown or untrusted sources. こうしたデータベースには、意図しない Transact-SQLTransact-SQL コードを実行したり、スキーマまたは物理データベース構造を変更してエラーを発生させるような、悪意のあるコードが含まれている可能性があります。Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. 不明または信頼できないソースのデータベースを使用する前には、運用サーバー以外のサーバーでそのデータベースに対し DBCC CHECKDB を実行し、さらに、そのデータベースのストアド プロシージャやその他のユーザー定義コードなどのコードを調べます。Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server, and also examine the code, such as stored procedures or other user-defined code, in the database.

注意

データベースをアタッチするときに、TRUSTWORTHY オプションおよび DB_CHAINING オプションによる効果は発生しません。The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOGFOR ATTACH_REBUILD_LOG
既存のオペレーティング システム ファイルのセットをアタッチすることによりデータベースを作成するように指定します。Specifies that the database is created by attaching an existing set of operating system files. このオプションは読み取り/書き込みデータベースに限定されます。This option is limited to read/write databases. プライマリ ファイルを指定する <filespec> エントリが必要です。There must be a <filespec> entry specifying the primary file. 1 つ以上のトランザクション ログ ファイルが見つからない場合、ログ ファイルは再構築されます。If one or more transaction log files are missing, the log file is rebuilt. ATTACH_REBUILD_LOG を指定すると、1 MB のログ ファイルが自動的に新規作成されます。The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. このファイルは既定のログ ファイルの場所に保存されます。This file is placed in the default log-file location. この場所については、データ ファイルとログ ファイルの既定の場所の表示または変更 - SSMS に関するページを参照してください。For information about this location, see View or Change the Default Locations for Data and Log Files - SSMS.

注意

ログ ファイルが利用可能な場合は、データベース エンジンDatabase Engineはログ ファイルを再構築せず、それらのファイルを使用します。If the log files are available, the データベース エンジンDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG では、以下のことが必要です。FOR ATTACH_REBUILD_LOG requires the following:

  • データベースのクリーン シャットダウン。A clean shutdown of the database.
  • すべてのデータ ファイル (MDF および NDF) が有効であること。All data files (MDF and NDF) must be available.

重要

この操作により、連続したログ バックアップが中断されます。This operation breaks the log backup chain. 操作が完了したら、データベース全体のバックアップを行うことをお勧めします。We recommend that a full database backup be performed after the operation is completed. 詳細については、バックアップに関するページを参照してください。For more information, see BACKUP.

通常、FOR ATTACH_REBUILD_LOG は、大きなログを持つ読み取り/書き込みデータベースを別のサーバーにコピーする場合に使用します。このようなサーバーでは、コピーしたデータベースが、多くの場合読み取り操作に使用されます (または読み取り操作でのみ使用されます)。このため、元のデータベースほどログ領域を必要としません。Typically, FOR ATTACH_REBUILD_LOG is used when you copy a read/write database with a large log to another server where the copy will be used mostly, or only, for read operations, and therefore requires less log space than the original database.

FOR ATTACH_REBUILD_LOG はデータベース スナップショットでは指定できません。FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

データベースのアタッチおよびデタッチの詳細については、データベースのデタッチとアタッチに関するページを参照してください。For more information about attaching and detaching databases, see Database Detach and Attach.

<filespec><filespec>
ファイル プロパティを制御します。Controls the file properties.

NAME logical_file_name NAME logical_file_name
ファイルの論理名を指定します。Specifies the logical name for the file. NAME は、FOR ATTACH 句の 1 つを指定する場合以外に、FILENAME が指定されるときに必要です。NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. FILESTREAM ファイル グループの名前を PRIMARY にすることはできません。A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_name logical_file_name
ファイルを参照するときに SQL ServerSQL Server で使用される論理名を指定します。Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name は、データベース内で一意であり、識別子の規則に従っている必要があります。Logical_file_name must be unique in the database and comply with the rules for identifiers. この名前は、文字定数、UNICODE 定数、標準の識別子、区切られた識別子のいずれでもかまいません。The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { ' os_file_name ' | ' filestream_path ' }FILENAME { 'os_file_name' | 'filestream_path' }
オペレーティング システムの (物理) ファイル名を指定します。Specifies the operating system (physical) file name.

' os_file_name ' ' os_file_name '
ファイルを作成する際にオペレーティング システムが使用するパスとファイル名です。Is the path and file name used by the operating system when you create the file. ファイルは、SQL ServerSQL Server がインストールされているローカル サーバー、ストレージ エリア ネットワーク (SAN)、または、iSCSI ベースのネットワークのうちのいずれかのデバイスに存在する必要があります。The file must reside on one of the following devices: the local server on which SQL ServerSQL Server is installed, a Storage Area Network [SAN], or an iSCSI-based network. 指定したパスは、CREATE DATABASE ステートメントを実行する前に存在する必要があります。The specified path must exist before executing the CREATE DATABASE statement. 詳細については、「解説」セクションの「データベース ファイルとファイル グループ」を参照してください。For more information, see "Database Files and Filegroups" in the Remarks section.

ファイルに対して UNC パスが指定されている場合は、SIZE、MAXSIZE、および FILEGROWTH パラメーターを設定できます。SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

ファイルが未処理のパーティション上にある場合、os_file_name には、未処理になっている既存のパーティションのドライブ文字のみを指定する必要があります。If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. 1 つの未処理のパーティションに作成できるのは 1 つのデータ ファイルだけです。Only one data file can be created on each raw partition.

ファイルが読み取り専用のセカンダリ ファイルであるか、データベースが読み取り専用である場合を除き、データ ファイルを圧縮ファイル システム上に置かないでください。Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. ログ ファイルは、圧縮ファイル システム上に置くことはできません。Log files should never be put on compressed file systems.

' filestream_path ' ' filestream_path '
FILESTREAM ファイル グループの場合、FILENAME は FILESTREAM データが格納されるパスを参照します。For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. 最後のフォルダーまでのパスが存在する必要がありますが、最後のフォルダーは存在できません。The path up to the last folder must exist, and the last folder must not exist. たとえば、パス C:\MyFiles\MyFilestreamData を指定する場合は、ALTER DATABASE を実行するとき、C:\MyFiles は既に存在している必要がありますが、MyFilestreamData フォルダーは存在してはなりません。For example, if you specify the path C:\MyFiles\MyFilestreamData, C:\MyFiles must exist before you run ALTER DATABASE, but the MyFilestreamData folder must not exist.

ファイル グループとファイル (<filespec>) は、同じステートメントで作成する必要があります。The filegroup and file (<filespec>) must be created in the same statement.

SIZE プロパティおよび FILEGROWTH プロパティは、FILESTREAM ファイル グループには適用されません。The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE size SIZE size
ファイルのサイズを指定します。Specifies the size of the file.

os_file_name が UNC パスとして指定されている場合、SIZE を指定することはできません。SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE は、FILESTREAM ファイル グループには適用されません。SIZE does not apply to a FILESTREAM filegroup.

size size
ファイルの初期サイズです。Is the initial size of the file.

プライマリ ファイルに size が指定されていない場合、データベース エンジンDatabase Engine では、model データベースのプライマリ ファイルのサイズを使用します。When size is not supplied for the primary file, the データベース エンジンDatabase Engine uses the size of the primary file in the model database. モデルの既定のサイズは 8 MB (SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降) または 1 MB (それより前のバージョン) です。The default size of model is 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). セカンダリ データ ファイルまたはログ ファイルが指定されているにもかかわらず、そのファイルに対して size サイズが指定されていない場合、データベース エンジンDatabase Engine では、そのファイルのサイズが 8 MB (SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降) または 1 MB (それより前のバージョン) になります。When a secondary data file or log file is specified, but size is not specified for the file, the データベース エンジンDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). なお、プライマリ ファイルに対して指定するサイズは、model データベースのプライマリ ファイルのサイズ以上である必要があります。The size specified for the primary file must be at least as large as the primary file of the model database.

サフィックスとして、キロバイト (KB)、メガバイト (MB)、ギガバイト (GB)、またはテラバイト (TB) を使用できます。The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. 既定値は MB です。The default is MB. 整数を指定します。小数を含めないでください。Specify a whole number; do not include a decimal. size は整数値です。Size is an integer value. 2,147,483,647 を超える値に対しては、より大きな単位を使用してください。For values greater than 2147483647, use larger units.

MAXSIZE max_size MAXSIZE max_size
ファイルのサイズの上限を指定します。Specifies the maximum size to which the file can grow. os_file_name が UNC パスとして指定されている場合、MAXSIZE を指定することはできません。MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_size max_size
ファイルの最大サイズです。Is the maximum file size. サフィックスとして、KB、MB、GB、および TB を使用できます。The KB, MB, GB, and TB suffixes can be used. 既定値は MB です。The default is MB. 整数を指定します。小数を含めないでください。Specify a whole number; do not include a decimal. max_size を指定しないと、ファイルはディスク領域がなくなるまで拡張されます。If max_size is not specified, the file grows until the disk is full. max_size は整数値です。Max_size is an integer value. 2,147,483,647 を超える値に対しては、より大きな単位を使用してください。For values greater than 2147483647, use larger units.

UNLIMITEDUNLIMITED
ディスクがいっぱいになるまでファイルを拡張するように指定します。Specifies that the file grows until the disk is full. SQL ServerSQL Server では、無制限に拡張するファイル固有のログの最大サイズは 2 TB で、データ ファイルの最大サイズは 16 TB です。In SQL ServerSQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.

注意

FILESTREAM コンテナーに対してこのオプションを指定した場合、最大サイズはありません。There is no maximum size when this option is specified for a FILESTREAM container. ディスクがいっぱいになるまでファイル サイズが拡張します。It continues to grow until the disk is full.

FILEGROWTH growth_increment FILEGROWTH growth_increment
ファイルを自動拡張するときの増加量を指定します。Specifies the automatic growth increment of the file. ファイルの FILEGROWTH の設定を MAXSIZE の設定より大きくすることはできません。The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. os_file_name が UNC パスとして指定されている場合、FILEGROWTH を指定することはできません。FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH は、FILESTREAM ファイル グループには適用されません。FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_increment growth_increment
新しい領域が必要とされるたびにファイルに追加される領域の容量です。Is the amount of space added to the file every time new space is required.

値は MB、KB、GB、TB または % の単位で指定できます。The value can be specified in MB, KB, GB, TB, or percent (%). サフィックス MB、KB、または % を付けないで数値を指定した場合の既定値は MB です。If a number is specified without an MB, KB, or % suffix, the default is MB. % を指定すると、1 回の増加量は、増加時のファイル サイズに指定されたパーセンテージを掛けた値になります。When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. 指定されたサイズは、最も近い 64 KB 単位の値に丸められ、最小値は 64 KB になります。The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

0 は、自動拡張がオフで、領域を追加できないことを示します。A value of 0 indicates that automatic growth is off and no additional space is allowed.

FILEGROWTH が指定されていない場合、既定値は次のとおりです。If FILEGROWTH is not specified, the default values are:

VersionVersion [既定値]Default values
SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) データ 64 MB。Data 64 MB. ログ ファイル 64 MB。Log files 64 MB.
SQL Server 2005 (9.x)SQL Server 2005 (9.x) 以降Beginning SQL Server 2005 (9.x)SQL Server 2005 (9.x) データ 1 MB。Data 1 MB. ログ ファイル 10%。Log files 10%.
SQL Server 2005 (9.x)SQL Server 2005 (9.x) の前Prior to SQL Server 2005 (9.x)SQL Server 2005 (9.x) データ 10%。Data 10%. ログ ファイル 10%。Log files 10%.

<filegroup><filegroup>
ファイル グループ プロパティを制御します。Controls the filegroup properties. ファイル グループは、データベース スナップショットでは指定できません。Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_name FILEGROUP filegroup_name
ファイル グループの論理名です。Is the logical name of the filegroup.

filegroup_name filegroup_name
filegroup_name はデータベース内で一意である必要があり、システムで提示された名前である PRIMARY や PRIMARY_LOG にすることはできません。filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. この名前は、文字定数、UNICODE 定数、標準の識別子、区切られた識別子のいずれでもかまいません。The name can be a character or Unicode constant, or a regular or delimited identifier. 名前は、識別子のルールに従っている必要があります。The name must comply with the rules for identifiers.

CONTAINS FILESTREAMCONTAINS FILESTREAM
ファイル グループで FILESTREAM バイナリ ラージ オブジェクト (BLOB) をファイル システムに格納することを指定します。Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later

ファイル グループで memory_optimized データをファイル システムに格納することを指定します。Specifies that the filegroup stores memory_optimized data in the file system. 詳細については、インメモリ OLTP - インメモリ最適化に関するページを参照してください。For more information, see In-Memory OLTP - In-Memory Optimization. MEMORY_OPTIMIZED_DATA ファイル グループは、1 つのデータベースにつき 1 つしか許可されません。Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. メモリ最適化データを格納するファイルグループを作成するコード サンプルについては、「メモリ最適化テーブルおよびネイティブ コンパイル ストアド プロシージャの作成」を参照してください。For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULTDEFAULT
指定されたファイル グループが、データベースの既定のファイル グループであることを指定します。Specifies the named filegroup is the default filegroup in the database.

database_snapshot_name database_snapshot_name
新規データベース スナップショットの名前です。Is the name of the new database snapshot. データベース スナップショット名は、SQL ServerSQL Server のインスタンス内で一意であり、識別子のルールに従っている必要があります。Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name は 128 文字以下です。database_snapshot_name can be a maximum of 128 characters.

ON ( NAME = logical_file_name , FILENAME =' os_file_name ') [ , ... n ]ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]
データベース スナップショットを作成するには、ソース データベースのファイルのリストを指定します。For creating a database snapshot, specifies a list of files in the source database. スナップショットが機能するためには、すべてのデータ ファイルを個別に指定する必要があります。For the snapshot to work, all the data files must be specified individually. ただし、データベース スナップショットにログ ファイルは指定できません。However, log files are not allowed for database snapshots. FILESTREAM ファイル グループは、データベース スナップショットではサポートされていません。FILESTREAM filegroups are not supported by database snapshots. CREATE DATABASE ON 句に FILESTREAM データ ファイルが含まれていると、ステートメントが失敗してエラーが発生します。If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

NAME、FILENAME、およびそれらの値については、相当する <filespec> 値の説明を参照してください。For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

注意

データベース スナップショットを作成する場合、他の <filespec> オプションおよびキーワード PRIMARY は許可されません。When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_name: 作成されるデータベースが、source_database_name によって指定されたソース データベースのデータベース スナップショットであることを指定します。AS SNAPSHOT OF source_database_name Specifies that the database being created is a database snapshot of the source database specified by source_database_name. スナップショットとソース データベースは同じインスタンス上に存在する必要があります。The snapshot and source database must be on the same instance.

詳細については、「解説」セクションの「データベース スナップショット」を参照してください。For more information, see Database Snapshots in the Remarks section.

解説Remarks

master データベースは、ユーザー データベースが作成、変更、または削除されるたびにバックアップする必要があります。The master database should be backed up whenever a user database is created, modified, or dropped.

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

1 つの CREATE DATABASE ステートメントを使用して、データベースおよびデータベースを格納するファイルを作成することができます。You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server では、次の手順を使用して CREATE DATABASE ステートメントを実装します。implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server で、model データベースのコピーを使用して、データベースとそのメタデータを初期化します。The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.
  2. Service Broker GUID がデータベースに割り当てられます。A service broker GUID is assigned to the database.
  3. 次に、データベース エンジンDatabase Engine は、データベース内の領域の使用状況を記録する内部データが格納されるページを除いて、データベースの残りの部分に空のページを挿入します。The データベース エンジンDatabase Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.

SQL ServerSQL Server のインスタンスには、最大 32,767 個のデータベースを指定できます。A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

各データベースには、データベース内で特殊な操作を実行できる所有者が存在します。Each database has an owner that can perform special activities in the database. 所有者はデータベースを作成するユーザーです。The owner is the user that creates the database. データベース所有者は、sp_changedbowner を使用して変更できます。The database owner can be changed by using sp_changedbowner.

一部のデータベース機能は、データベースの機能をすべて利用するためにファイル システムに存在する機能または能力に依存しています。Some database features depend on features or capabilities present in the file system for full functionality of a database. ファイル システムの機能セットに依存する機能の例をいくつか挙げます。Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • VSS とファイルのスナップショットを使用したオンライン バックアップOnline backups using VSS and file snapshots
  • データベース スナップショットの作成Database snapshot creation
  • メモリ最適化データ ファイル グループMemory Optimized Data filegroup

データベース ファイルとファイル グループDatabase Files and Filegroups

すべてのデータベースには、プライマリ ファイルトランザクション ログ ファイルという少なくとも 2 つのファイル、および少なくとも 1 つのファイル グループがあります。Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. 各データベースに、最大 32,767 のファイルと 32,767 のファイル グループを指定できます。A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

データベースを作成する際に、データ ファイルのサイズは、データベースに記述されるデータの最大量を基に可能な限り大きく設定しておきます。When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database.

SQL ServerSQL Server データベース ファイルのストレージには、ストレージ エリア ネットワーク (SAN)、iSCSI ベースのネットワーク、または、ローカルにアタッチされたディスクを使用することをお勧めします。この構成により、SQL ServerSQL Server のパフォーマンスと信頼性を最適化することができるためです。We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL ServerSQL Server database files, because this configuration optimizes SQL ServerSQL Server performance and reliability.

データベース スナップショットDatabase Snapshots

CREATE DATABASE ステートメントを使用して、"ソース データベース" の読み取り専用の静的ビューである "データベース スナップショット" を作成できます。You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. データベース スナップショットは、スナップショットが作成された時点で存在していたソース データベースと、トランザクション的に一貫性があります。A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. ソース データベースは複数のスナップショットを持つことができます。A source database can have multiple snapshots.

注意

データベース スナップショットを作成する際、CREATE DATABASE ステートメントを使用して、ログ ファイル、オフライン ファイル、復元ファイル、および現存しないファイルを参照することはできません。When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

データベース スナップショットの作成に失敗した場合、スナップショットは問題のある状態となり、削除する必要があります。If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. 詳細については、DROP DATABASE に関するページを参照してください。For more information, see DROP DATABASE.

各スナップショットは、DROP DATABASE を使用して削除されるまで保持されます。Each snapshot persists until it is deleted by using DROP DATABASE.

詳細については、データベース スナップショットに関するページを参照してください。For more information, see Database Snapshots.

データベース オプションDatabase Options

データベースを作成するたびに、いくつかのデータベース オプションが自動的に設定されます。Several database options are automatically set whenever you create a database. これらのオプションの一覧については、ALTER DATABASE SET オプションに関するページを参照してください。For a list of these options, see ALTER DATABASE SET Options.

model データベースと新しいデータベースの作成The model Database and Creating New Databases

model データベース内にあるすべてのユーザー定義のオブジェクトは、新しく作成されたすべてのデータベースにコピーされます。All user-defined objects in the model database are copied to all newly created databases. テーブル、ビュー、ストアド プロシージャ、データ型など、あらゆるオブジェクトを model データベースに追加し、新しく作成されたすべてのデータベースに含めることができます。You can add any objects, such as tables, views, stored procedures, data types, and so on, to the model database to be included in all newly created databases.

CREATE DATABASE <database_name> ステートメントがサイズ パラメーターを追加せずに指定されている場合、プライマリ データ ファイルは、model データベースのプライマリ ファイルと同じサイズになります。When a CREATE DATABASE <database_name> statement is specified without additional size parameters, the primary data file is made the same size as the primary file in the model database.

FOR ATTACH が指定されていない限り、それぞれの新しいデータベースは、model データベースからデータベース オプションの設定を継承します。Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. たとえば、auto shrink データベース オプションは、model データベースにおいても、作成するどの新規データベースにおいても、true に設定されます。For example, the database option auto shrink is set to true in model and in any new databases you create. model データベースのオプションを変更すると、これらの新しいオプション設定が、作成する新規のデータベースで使用されます。If you change the options in the model database, these new option settings are used in any new databases you create. model データベースの操作の変更は、既存のデータベースには影響を与えません。Changing operations in the model database does not affect existing databases. CREATE DATABASE ステートメントで FOR ATTACH を指定すると、新しいデータベースは元のデータベースからデータベース オプションの設定を継承します。If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

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

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

アクセス許可Permissions

CREATE DATABASECREATE ANY DATABASE、または ALTER ANY DATABASE アクセス許可が必要です。Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

SQL ServerSQL Serverのインスタンス上のディスク使用量を管理するため、通常、データベースを作成する権限をいくつかのログイン アカウントに制限します。To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.

次の例は、データベース ユーザー Fay にデータベースを作成する権限を与えます。The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE DATABASE TO [Fay];
GO

データおよびログ ファイルに対する権限Permissions on Data and Log Files

SQL ServerSQL Server では、各データベースのデータ ファイルとログ ファイルに一定の権限が設定されます。In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. 次の操作がデータベースに適用されるたびに、次の権限が設定されます。The following permissions are set whenever the following operations are applied to a database:

作成済みCreated 変更して新しいファイルを追加Modified to add a new file
アタッチAttached バックアップBacked up
デタッチDetached 復元Restored

この権限は、開く権限のあるディレクトリにファイルが存在する場合に、そのファイルが誤って書き換えられるのを防ぎます。The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

注意

MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition では、データ ファイルとログ ファイルの権限は設定されません。SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

使用例Examples

A.A. ファイルを指定せずにデータベースを作成するCreating a database without specifying files

次の例では、mytest データベースを作成し、対応するプライマリ ファイルおよびトランザクション ログ ファイルを作成します。The following example creates the database mytest and creates a corresponding primary and transaction log file. ステートメントに <filespec> 項目が含まれていないため、データベースのプライマリ ファイルは、model データベースのプライマリ ファイルと同じサイズになります。Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. トランザクション ログは、次の値の大きい方に設定されます。512 KB か、プライマリ データ ファイルのサイズの 25%。The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. MAXSIZE が指定されていないため、ファイルはディスク上のすべての使用可能な領域いっぱいまで拡張することができます。Because MAXSIZE is not specified, the files can grow to fill all available disk space. この例では、mytest という名前のデータベースが既に存在する場合はそれを削除してから、mytest データベースを作成する方法も示します。This example also demonstrates how to drop the database named mytest if it exists, before creating the mytest database.

USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO

B.B. データ ファイルとトランザクション ログ ファイルを指定してデータベースを作成するCreating a database that specifies the data and transaction log files

次の例では、Sales データベースを作成します。The following example creates the database Sales. PRIMARY キーワードが使用されていないので、最初のファイル (Sales_dat) がプライマリ ファイルになります。Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Sales_dat ファイルの SIZE パラメーターに MB も KB も指定されていないため、ファイルは MB を使用し、メガバイト単位で割り当てられます。Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. Sales_log ファイルは、SIZE パラメーターに MB サフィックスが明示的に指定されているため、メガバイト単位で割り当てられます。The Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

C.C. 複数のデータ ファイルとトランザクション ログ ファイルを指定してデータベースを作成するCreating a database by specifying multiple data and transaction log files

次の例では、3 つの Archive のデータ ファイルと 2 つの 100-MB のトランザクション ログ ファイルがある 100-MB データベースを作成します。The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. プライマリ ファイルはリストの最初のファイルであり、PRIMARY キーワードによって明示的に指定されます。The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. トランザクション ログ ファイルは、LOG ON キーワードに続けて指定されます。The transaction log files are specified following the LOG ON keywords. FILENAME オプションでファイルに使用される拡張子のうち、.mdf はプライマリ データ ファイルに、.ndf はセカンダリ データ ファイルに、.ldf はトランザクション ログ ファイルに、それぞれ使用されます。Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. この例では、作成するデータベースは、D: データベースと同じ場所ではなく master ドライブに格納します。This example places the database on the D: drive instead of with the master database.

USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
    (NAME = Arch1,
    FILENAME = 'D:\SalesData\archdat1.mdf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch2,
    FILENAME = 'D:\SalesData\archdat2.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
    ( NAME = Arch3,
    FILENAME = 'D:\SalesData\archdat3.ndf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20)
LOG ON
  (NAME = Archlog1,
    FILENAME = 'D:\SalesData\archlog1.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20),
  (NAME = Archlog2,
    FILENAME = 'D:\SalesData\archlog2.ldf',
    SIZE = 100MB,
    MAXSIZE = 200,
    FILEGROWTH = 20) ;
GO

D.D. ファイル グループのあるデータベースを作成するCreating a database that has filegroups

次の例では、以下のファイル グループがある Sales データベースを作成します。The following example creates the database Sales that has the following filegroups:

  • Spri1_dat ファイルおよび Spri2_dat ファイルのあるプライマリ ファイル グループ。The primary filegroup with the files Spri1_dat and Spri2_dat. これらのファイルの FILEGROWTH 増加量は、15% に指定されています。The FILEGROWTH increments for these files are specified as 15%.
  • SGrp1Fi1 ファイルおよび SGrp1Fi2 ファイルのある、SalesGroup1 というファイル グループ。A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.
  • SGrp2Fi1 ファイルおよび SGrp2Fi2 ファイルのある、SalesGroup2 というファイル グループ。A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

この例では、データ ファイルとログ ファイルは、パフォーマンスを向上させるために別のディスクに格納します。This example places the data and log files on different disks to improve performance.

USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = 'D:\SalesData\SPri1dat.mdf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = 'D:\SalesData\SPri2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = 'E:\SalesLog\salelog.ldf',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB ) ;
GO

E.E. データベースをアタッチするAttaching a database

次の例では、例 D で作成された Archive データベースをデタッチしてから、FOR ATTACH 句を使用してこのデータベースをアタッチします。The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive は、複数のデータおよびログ ファイルを保有するように定義されています。Archive was defined to have multiple data and log files. しかし、ファイルの場所が作成時から変更されていないため、FOR ATTACH 句に指定する必要があるのは、プライマリ ファイルのみです。However, because the location of the files has not changed since they were created, only the primary file has to be specified in the FOR ATTACH clause. SQL Server 2005 (9.x)SQL Server 2005 (9.x) 以降では、アタッチされているデータベースの一部であるフルテキスト ファイルは、データベースと共にアタッチされます。Beginning with SQL Server 2005 (9.x)SQL Server 2005 (9.x), any full-text files that are part of the database that is being attached will be attached with the database.

USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
      ON (FILENAME = 'D:\SalesData\archdat1.mdf')
      FOR ATTACH ;
GO

F.F. データベース スナップショットを作成するCreating a database snapshot

次の例では、sales_snapshot0600 データベース スナップショットを作成します。The following example creates the database snapshot sales_snapshot0600. データベース スナップショットは読み取り専用であるため、ログ ファイルは指定できません。Because a database snapshot is read-only, a log file cannot be specified. 構文に準拠して、ソース データベース内のすべてのファイルが指定され、ファイル グループは指定されません。In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

この例で使用するソース データベースは、例 D で作成された Sales データベースです。The source database for this example is the Sales database created in example D.

USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO

G.G. データベースを作成し、照合順序名とオプションを指定するCreating a database and specifying a collation name and options

次の例では、MyOptionsTest データベースを作成します。The following example creates the database MyOptionsTest. 照合順序名が指定され、TRUSTYWORTHY および DB_CHAINING オプションが ON に設定されます。A collation name is specified and the TRUSTYWORTHY and DB_CHAINING options are set to ON.

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

H.H. 移動されたフルテキスト カタログをアタッチするAttaching a full-text catalog that has been moved

次の例では、フルテキスト カタログ AdvWksFtCatAdventureWorks2012 のデータおよびログ ファイルと共にアタッチします。The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. この例では、フルテキスト カタログは、既定の場所から新しい場所、c:\myFTCatalogs に移されます。In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. データおよびログ ファイルは、それぞれの既定の場所に残ります。The data and log files remain in their default locations.

USE master;
GO
--Detach the AdventureWorks2012 database
sp_detach_db AdventureWorks2012;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2012 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2012 ON
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_data.mdf'),
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'),
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO

I.I. 1 つの ROW ファイル グループと 2 つの FILESTREAM ファイル グループを指定してデータベースを作成するCreating a database that specifies a row filegroup and two FILESTREAM filegroups

次の例では、FileStreamDB データベースを作成します。The following example creates the FileStreamDB database. データベースは、1 つの ROW ファイル グループと 2 つの FILESTREAM ファイル グループを使用して作成されます。The database is created with one row filegroup and two FILESTREAM filegroups. 各ファイル グループには、1 つのファイルが含まれます。Each filegroup contains one file:

  • FileStreamDB_data には行データが含まれます。FileStreamDB_data contains row data. これには、既定のパスを指定した 1 つのファイル FileStreamDB_data.mdf が含まれます。It contains one file, FileStreamDB_data.mdf with the default path.
  • FileStreamPhotos には FILESTREAM データが含まれます。FileStreamPhotos contains FILESTREAM data. これには、FSPhotos (C:\MyFSfolder\Photos にある) と FSPhotos2 (D:\MyFSfolder\Photos にある) の 2 つの FILESTREAM データ コンテナーが含まれます。It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. また、既定の FILESTREAM ファイル グループとしてマークされます。It is marked as the default FILESTREAM filegroup.
  • FileStreamResumes には FILESTREAM データが含まれます。FileStreamResumes contains FILESTREAM data. これには、1 つの FILESTREAM データ コンテナー FSResumes (C:\MyFSfolder\Resumes にある) が含まれます。It contains one FILESTREAM data container, FSResumes, located at C:\MyFSfolder\Resumes.
USE master;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
                  FROM master.sys.master_files
                  WHERE database_id = 1 AND file_id = 1);

 -- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
    (
    NAME = FileStreamDB_data
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
    ,SIZE = 10MB
    ,MAXSIZE = 50MB
    ,FILEGROWTH = 15%
    ),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
    (
    NAME = FSPhotos
    ,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE and FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
, MAXSIZE = 5000 MB
    ),
    (
      NAME = FSPhotos2
      , FILENAME = ''D:\MyFSfolder\Photos''
      , MAXSIZE = 10000 MB
     ),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
    (
    NAME = FileStreamResumes
    ,FILENAME = ''C:\MyFSfolder\Resumes''
    )
LOG ON
    (
    NAME = FileStream_log
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
    ,SIZE = 5MB
    ,MAXSIZE = 25MB
    ,FILEGROWTH = 5MB
    )'
);
GO

J.J. 複数のファイルを含む FILESTREAM ファイル グループのあるデータベースを作成するCreating a database that has a FILESTREAM filegroup with multiple files

次の例では、BlobStore1 データベースを作成します。The following example creates the BlobStore1 database. データベースは、1 つの ROW ファイル グループと、FS という 1 つの FILESTREAM ファイル グループを使用して作成されます。The database is created with one row filegroup and one FILESTREAM filegroup, FS. FILESTREAM ファイル グループには、FS1 および FS2 の 2 つのファイルが含まれています。The FILESTREAM filegroup contains two files, FS1 and FS2. その後 FS3 という 3 つ目のファイルが FILESTREAM ファイルグループに追加されると、データベースが変更されます。Then the database is altered by adding a third file, FS3, to the FILESTREAM filegroup.

USE master;
GO

CREATE DATABASE [BlobStore1]
CONTAINMENT = NONE
ON PRIMARY
(
    NAME = N'BlobStore1',
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 1MB
),
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT
(  
    NAME = N'FS1',
    FILENAME = N'C:\BlobStore\FS1',
    MAXSIZE = UNLIMITED
),
(
    NAME = N'FS2',
    FILENAME = N'C:\BlobStore\FS2',
    MAXSIZE = 100MB
)
LOG ON
(
    NAME = N'BlobStore1_log',
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 1MB
);
GO

ALTER DATABASE [BlobStore1]
ADD FILE
(
    NAME = N'FS3',
    FILENAME = N'C:\BlobStore\FS3',
    MAXSIZE = 100MB
)
TO FILEGROUP [FS];
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 単一データベース/エラスティック プールAzure SQL Database single database/elastic pool

概要Overview

Azure SQL データベースAzure SQL Database 単一データベース/エラスティック プールでは、Azure SQL サーバーでこのステートメントを使って、単一のデータベースまたはエラスティック プール内のデータベースを作成できます。In Azure SQL データベースAzure SQL Database single database/elastic pool, this statement can be used with an Azure SQL server to create a single database or a database in an elastic pool. このステートメントで、データベース名、照合順序、最大サイズ、エディション、サービス目標、および該当する場合は新しいデータベースのエラスティック プールを指定します。With this statement, you specify the database name, collation, maximum size, edition, service objective, and, if applicable, the elastic pool for the new database. また、エラスティック プールにデータベースを作成することにも使用できます。It can also be used to create the database in an elastic pool. さらに、別の SQL Database サーバー上にデータベースのコピーを作成することもできます。Additionally, it can be used to create a copy of the database on another SQL Database server.

構文Syntax

データベースの作成Create a database

CREATE DATABASE database_name [ COLLATE collation_name ]
{
  (<edition_options> [, ...n])
}
[ WITH CATALOG_COLLATION = { DATABASE_DEFAULT | SQL_Latin1_General_CP1_CI_AS }]
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | ( EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale' }
  | 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>) } })
}

データベースをコピーするCopy a database

CREATE DATABASE database_name
    AS COPY OF [source_server_name.] source_database_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>) } })
   ]
[;]

引数Arguments

database_name database_name
新しいデータベースの名前。The name of the new database. この名前は、SQL ServerSQL Server 上で一意であり、識別子に関する SQL ServerSQL Server の規則に準拠している必要があります。This name must be unique on the SQL ServerSQL Server and comply with the SQL ServerSQL Server rules for identifiers. 詳細については、「データベース識別子」を参照してください。For more information, see Identifiers.

Collation_name Collation_name
データベースの既定の照合順序を指定します。Specifies the default collation for the database. 照合順序名には、Windows 照合順序名または SQL 照合順序名を指定できます。Collation name can be either a Windows collation name or a SQL collation name. 指定しない場合、既定の照合順序である SQL_Latin1_General_CP1_CI_AS がデータベースに割り当てられます。If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows と SQL の照合順序名の詳細については、COLLATE (Transact-SQL) に関するページを参照してください。For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

CATALOG_COLLATIONCATALOG_COLLATION
メタデータ カタログの既定の照合順序を指定します。Specifies the default collation for the metadata catalog. DATABASE_DEFAULT では、データベースの既定の照合順序と一致させるためにシステム ビューとシステム テーブルで使用されたメタデータ カタログが照合されることが指定されます。DATABASE_DEFAULT specifies that the metadata catalog used for system views and system tables be collated to match the default collation for the database. これは、SQL Server で見られる動作です。This is the behavior found in SQL Server.

SQL_Latin1_General_CP1_CI_AS では、固定照合順序 SQL_Latin1_General_CP1_CI_AS に対してシステム ビューとテーブルで使用されたメタデータ カタログが照合されることが指定されます。SQL_Latin1_General_CP1_CI_AS specifies that the metadata catalog used for system views and tables be collated to a fixed SQL_Latin1_General_CP1_CI_AS collation. 指定がない場合、これは Azure SQL Database の既定の設定です。This is the default setting on Azure SQL Database if unspecified.

EDITIONEDITION
データベースのサービス層を指定します。Specifies the service tier of the database.

単一データベース/エラスティック プール上の単一のデータベースおよびプールされたデータベース。Single and pooled databases on a single database/elastic pool. 使用可能な値: 'basic'、'standard'、'premium'、'GeneralPurpose'、'BusinessCritical'、'Hyperscale'。The available values are: 'basic', 'standard', 'premium', 'GeneralPurpose', 'BusinessCritical', and 'Hyperscale'.

MAXSIZEMAXSIZE
データベースの最大サイズを指定します。Specifies the maximum size of the database. MAXSIZE は、指定されている EDITION (サービス層) に対して有効である必要があります。各サービス層でサポートされる MAXSIZE 値と既定値 (D) は次のとおりです。MAXSIZE must be valid for the specified EDITION (service tier) Following are the supported MAXSIZE values and defaults (D) for the service tiers.

注意

MAXSIZE 引数は、ハイパースケール サービス層の単一データベースには適用されません。The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. ハイパースケール層のデータベースは、必要に応じて 100 TB まで拡張できます。Hyperscale 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.

SQL Database サーバー上の単一のデータベースおよびプールされたデータベースの DTU モデルDTU model for single and pooled databases on a SQL Database server

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 なしN/A
400 GB400 GB なしN/A なしN/A
500 GB500 GB なしN/A なしN/A √ (D)√ (D)
750 GB750 GB なしN/A なしN/A
1024 GB1024 GB なしN/A なし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

仮想コア モデルを使用するときに MAXSIZE 値が設定されていない場合、既定値は 32 GB です。If no MAXSIZE value 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, if the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • MAXSIZE も EDITION も指定されていない場合、EDITION は GeneralPurpose に設定され、MAXSIZE は 32 GB に設定されます。If neither MAXSIZE nor EDITION is specified, the EDITION is set to GeneralPurpose, and MAXSIZE is set to 32 GB.

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 データベースのサービス階層」をご覧ください。For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers. 指定した SERVICE_OBJECTIVE が EDITION によってサポートされていない場合は、エラーが返されます。If the specified SERVICE_OBJECTIVE is not supported by the EDITION, you receive an error. SERVICE_OBJECTIVE の値をある階層から別の階層に変更する場合 (たとえば、S1 から P1) は、EDITION の値も変更する必要があります。To change the SERVICE_OBJECTIVE value from one tier to another (for example from S1 to P1), you must also change the EDITION value. サービス目標に関する説明およびサイズ、エディション、サービス目標の組み合わせの詳細については、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.

ELASTIC_POOL (name = <elastic_pool_name>)ELASTIC_POOL (name = <elastic_pool_name>)
適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only. ハイパースケール サービス層のデータベースには適用されません。Does not apply to databases in the Hyperscale service tier. 弾力性のあるデータベース プールで新しいデータベースを作成するには、データベースの SERVICE_OBJECTIVE を ELASTIC_POOL に設定し、プールの名前を指定します。To create a new database in an elastic database pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the pool. 詳しくは、SQL Database エラスティック プールの作成と管理に関するページをご覧ください。For more information, see Create and manage a SQL Database elastic pool.

AS COPY OF [source_server_name.]source_database_nameAS COPY OF [source_server_name.]source_database_name
適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only. データベースを同じ SQL DatabaseSQL Database サーバーにコピーするか別のサーバーにコピーするかを指定します。For copying a database to the same or a different SQL DatabaseSQL Database server.

source_server_name source_server_name
ソース データベースが配置されている SQL DatabaseSQL Database サーバーの名前。The name of the SQL DatabaseSQL Database server where the source database is located. このパラメーターは、ソース データベースと対象データベースが同じ SQL DatabaseSQL Database サーバー上にある場合は省略可能です。This parameter is optional when the source database and the destination database are to be located on the same SQL DatabaseSQL Database server.

注意

AS COPY OF 引数で一意の完全修飾ドメイン名を使用することはできません。The AS COPY OF argument does not support the fully qualified unique domain names. つまり、サーバーの完全修飾ドメイン名が serverName.database.windows.net である場合は、serverName のみをデータベース コピー中に使用します。In other words, if your server's fully qualified domain name is serverName.database.windows.net, use only serverName during database copy.

source_database_namesource_database_name

コピーするデータベースの名前。The name of the database that is to be copied.

解説Remarks

Azure SQL データベースAzure SQL Database 内のデータベースについては、データベースの作成時に設定される既定の設定がいくつかあります。Databases in Azure SQL データベースAzure SQL Database have several default settings that are set when the database is created. これらの既定の設定の詳細については、「DATABASEPROPERTYEX」の値の一覧を参照してください。For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

MAXSIZE を使用して、データベースのサイズを制限できます。MAXSIZE provides the ability to limit the size of the database. データベースのサイズが MAXSIZE に達すると、エラー コード 40544 が返されます。If the size of the database reaches its MAXSIZE, you receive error code 40544. このエラーが発生すると、データを挿入、更新したり、新しいオブジェクト (テーブル、ストアド プロシージャ、ビュー、関数など) を作成したりできなくなります。When this occurs, you cannot insert or update data, or create new objects (such as tables, stored procedures, views, and functions). データの読み取りと削除、テーブルの切り捨て、テーブルとインデックスの削除、およびインデックスの再構築は引き続き可能です。However, you can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. これを解決するには、MAXSIZE を現在のデータベースのサイズより大きい値に更新するか、一部のデータを削除してストレージ領域を解放します。You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. 新しいデータを挿入できるようになるまでに、最大で 15 分の遅延が生じる可能性があります。There may be as much as a fifteen-minute delay before you can insert new data.

後からサイズ、エディション、またはサービス目標の値を変更するには、ALTER DATABASE - Azure SQL Database を使用します。To change the size, edition, or service objective values later, use ALTER DATABASE - Azure SQL Database.

CATALOG_COLLATION 引数はデータベースの作成中にのみ使用できます。The CATALOG_COLLATION argument is only available during database creation.

データベース コピーDatabase Copies

適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only.

CREATE DATABASE ステートメントを使用したデータベースのコピーは、非同期操作です。Copying a database using the CREATE DATABASE statement is an asynchronous operation. したがって、コピー プロセスが完了するまで SQL DatabaseSQL Database サーバーに接続している必要はありません。Therefore, a connection to the SQL DatabaseSQL Database server is not needed for the full duration of the copy process. CREATE DATABASE ステートメントは、sys.databases へのエントリが作成された後、データベース コピー操作が完了する前に、制御をユーザーに戻します。The CREATE DATABASE statement returns control to the user after the entry in sys.databases is created but before the database copy operation is complete. つまり、CREATE DATABASE ステートメントは、データベース コピーがまだ進行しているときに正常に復帰します。In other words, the CREATE DATABASE statement returns successfully when the database copy is still in progress.

  • SQL DatabaseSQL Database サーバーでのコピー プロセスの監視:dm_database_copiespercentage_complete または replication_state_desc 列、もしくは sys.databases ビューの state 列に対するクエリを実行します。Monitoring the copy process on an SQL DatabaseSQL Database server: Query the percentage_complete or replication_state_desc columns in the dm_database_copies or the state column in the sys.databases view. sys.dm_operation_status ビューを使用できるだけでなく、このビューからデータベース コピーを含むデータベース操作の状態も返されます。The sys.dm_operation_status view can be used as well as it returns the status of database operations including database copy.

コピー プロセスが正常に完了した時点で、ソース データベースに対するトランザクションが対象データベースに反映されています。At the time the copy process completes successfully, the destination database is transactionally consistent with the source database.

AS COPY OF 引数を使用する際、次の構文および意味上の規則が適用されます。The following syntax and semantic rules apply to your use of the AS COPY OF argument:

  • コピー先のサーバー名としてコピー元のサーバー名と同じ名前を使用することも別の名前を使用することもできます。The source server name and the server name for the copy target may be the same or different. 名前が同じである場合、このパラメーターは省略可能であり、現在のセッションのサーバー コンテキストが既定で使用されます。When they are the same, this parameter is optional and the server context of the current session is used by default.
  • ソース データベースと対象データベースの名前を指定する必要があります。これらの名前は、一意であり、識別子に関する SQL ServerSQL Server の規則に準拠している必要があります。The source and destination database names must be specified, unique, and comply with the SQL ServerSQL Server rules for identifiers. 詳細については、「データベース識別子」を参照してください。For more information, see Identifiers.
  • CREATE DATABASE ステートメントは、新しいデータベースが作成される SQL DatabaseSQL Database サーバーの master データベースのコンテキスト内で実行される必要があります。The CREATE DATABASE statement must be executed within the context of the master database of the SQL DatabaseSQL Database server where the new database will be created.
  • コピーの完了後、対象データベースは個別のデータベースとして管理する必要があります。After the copying completes, the destination database must be managed as an independent database. ALTER DATABASE ステートメントと DROP DATABASE ステートメントは、ソース データベースに影響を与えることなく、新しいデータベースに対して実行できます。You can execute the ALTER DATABASE and DROP DATABASE statements against the new database independently of the source database. 新しいデータベースを別の新しいデータベースにコピーすることもできます。You can also copy the new database to another new database.
  • データベース コピーが進行中でも、ソース データベースには引き続きアクセスできます。The source database may continue to be accessed while the database copy is in progress.

詳細については、Transact-SQL を使った Azure SQL Database のコピーの作成に関するページを参照してください。For more information, see Create a copy of an Azure SQL database using Transact-SQL.

アクセス許可Permissions

データベースを作成するには、次のいずれかでログインする必要があります。To create a database, a login must be one of the following:

  • サーバー レベル プリンシパル ログインThe server-level principal login
  • ローカルの Azure SQL Server の Azure AD 管理者The Azure AD administrator for the local Azure SQL Server
  • dbmanager データベース ロールのメンバーであるログインA login that is a member of the dbmanager database role

CREATE DATABASE ... AS COPY OF 構文を使用するための追加要件: ローカル サーバー上でステートメントを実行しているログインは少なくともソース サーバー上の db_owner である必要があります。Additional requirements for using CREATE DATABASE ... AS COPY OF syntax: The login executing the statement on the local server must also be at least the db_owner on the source server. ログインが SQL ServerSQL Server 認証に基づいている場合、ローカル サーバー上でステートメントを実行しているログインが、ソース SQL DatabaseSQL Database サーバー上にも同じ名前とパスワードで含まれている必要があります。If the login is based on SQL ServerSQL Server authentication, the login executing the statement on the local server must have a matching login on the source SQL DatabaseSQL Database server, with an identical name and password.

使用例Examples

簡単な例Simple Example

データベースを作成するための簡単な例です。A simple example for creating a database.

CREATE DATABASE TestDB1;

エディションでの簡単な例Simple Example with Edition

汎用データベースを作成するための簡単な例です。A simple example for creating a general purpose database.

CREATE DATABASE TestDB2
( EDITION = 'GeneralPurpose' );

追加のオプションの使用例Example with Additional Options

複数のオプションを使用する例です。An example using multiple options.

CREATE DATABASE hito
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS
( MAXSIZE = 500 MB, EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_GEN4_8' ) ;

コピーの作成Creating a Copy

データベースのコピーを作成する例です。An example creating a copy of a database.

適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only.

CREATE DATABASE escuela
AS COPY OF school;

エラスティック プール内でのデータベースの作成Creating a Database in an Elastic Pool

S3M100 という名前のプール内に新しいデータベースを作成します。Creates new database in pool named S3M100:

適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only.

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;

別のサーバー上でのデータベースのコピーの作成Creating a Copy of a Database on Another Server

次の例では、単一データベースの P2 パフォーマンス レベルで db_original database のコピーである named db_copy を作成します。The following example creates a copy of the db_original database, named db_copy in the P2 performance level for a single database. これは、db_original がエラスティック プール内にあるかどうかや、1 つのデータベースのパフォーマンス レベルに関係なく当てはまります。This is true regardless of whether db_original is in an elastic pool or a performance level for a single database.

適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' );

次の例では、ep1 という名前のエラスティック プールに db_original database のコピーである named db_copy を作成します。The following example creates a copy of the db_original database, named db_copy in an elastic pool named ep1. これは、db_original がエラスティック プール内にあるかどうかや、1 つのデータベースのパフォーマンス レベルに関係なく当てはまります。This is true regardless of whether db_original is in an elastic pool or a performance level for a single database. db_original が異なる名前のエラスティック プールにある場合、db_copy は引き続き ep1 に作成されます。If db_original is in an elastic pool with a different name, then db_copy is still created in ep1.

適用対象: 単一のデータベースおよびプールされたデータベースのみ。Applies to: Single and pooled databases only.

CREATE DATABASE db_copy
  AS COPY OF ozabzw7545.db_original
  (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;

指定したカタログ照合順序の値のデータベースを作成するCreate database with specified catalog collation value

次の例では、データベース作成中のカタログ照合順序を DATABASE_DEFAULT に設定します。これにより、カタログ照合順序がデータベースの照合順序と同じに設定されます。The following example sets the catalog collation to DATABASE_DEFAULT during database creation, which sets the catalog collation to be the same as the database collation.

CREATE DATABASE TestDB3 COLLATE Japanese_XJIS_140 (MAXSIZE = 100 MB, EDITION = 'basic')
  WITH CATALOG_COLLATION = DATABASE_DEFAULT

参照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 Managed InstanceAzure SQL Database Managed Instance

概要Overview

Azure SQL Database Managed Instance では、データベースを作成するためにこのステートメントを使用します。In Azure SQL Database Managed Instance, this statement is used to create a database. マネージド インスタンス上にデータベースを作成するときは、データベース名と照合順序を指定します。When creating a database on a managed instance, you specify the database name and collation.

構文Syntax

CREATE DATABASE database_name [ COLLATE collation_name ]
[;]

重要

マネージ インスタンスでファイルを追加するかデータベースの包含を設定するには、ALTER DATABASE ステートメントを使います。To add files or set containment for a database in a managed instance, use the ALTER DATABASE statement.

引数Arguments

database_name database_name
新しいデータベースの名前。The name of the new database. この名前は、SQL Server で一意であり、識別子に関する SQL ServerSQL Server の規則に準拠している必要があります。This name must be unique on the SQL server and comply with the SQL ServerSQL Server rules for identifiers. 詳細については、「データベース識別子」を参照してください。For more information, see Identifiers.

Collation_name Collation_name
データベースの既定の照合順序を指定します。Specifies the default collation for the database. 照合順序名には、Windows 照合順序名または SQL 照合順序名を指定できます。Collation name can be either a Windows collation name or a SQL collation name. 指定しない場合、既定の照合順序である SQL_Latin1_General_CP1_CI_AS がデータベースに割り当てられます。If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows と SQL の照合順序名の詳細については、COLLATE (Transact-SQL) に関するページを参照してください。For more information about the Windows and SQL collation names, COLLATE (Transact-SQL).

解説Remarks

Azure SQL データベースAzure SQL Database 内のデータベースについては、データベースの作成時に設定される既定の設定がいくつかあります。Databases in Azure SQL データベースAzure SQL Database have several default settings that are set when the database is created. これらの既定の設定の詳細については、「DATABASEPROPERTYEX」の値の一覧を参照してください。For more information about these default settings, see the list of values in DATABASEPROPERTYEX.

重要

CREATE DATABASE ステートメントが Transact-SQLTransact-SQL バッチ内の唯一のステートメントである必要があります。The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

CREATE DATABASE には、次の制限があります。The following are CREATE DATABASE limitations:

  • ファイルおよびファイル グループを定義することはできません。Files and filegroups cannot be defined.

  • WITH オプションはサポートされていません。WITHoptions are not supported.

    ヒント

    回避策としては、ALTER DATABASE を使い、As workaround, use ALTER DATABASE. CREATE DATABASE の後でデータベース オプションを設定したり、ファイルを追加したりします。after CREATE DATABASE to set database options and to add files.

アクセス許可Permissions

データベースを作成するには、次のいずれかでログインする必要があります。To create a database, a login must be one of the following:

  • サーバー レベル プリンシパル ログインThe server-level principal login
  • ローカルの Azure SQL Server の Azure AD 管理者The Azure AD administrator for the local Azure SQL Server
  • dbcreator データベース ロールのメンバーであるログインA login that is a member of the dbcreator database role

使用例Examples

簡単な例Simple Example

データベースを作成するための簡単な例です。A simple example for creating a database.

CREATE DATABASE TestDB1;

参照See also

ALTER DATABASE」をご覧ください。See ALTER DATABASE

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 WarehouseAzure SQL Data Warehouse

概要Overview

Azure SQL Data Warehouse では、Azure SQL Database サーバーでこのステートメントを使って、SQL Data Warehouse データベースを作成できます。In Azure SQL Data Warehouse, this statement can be used with an Azure SQL Database server to create a SQL Data Warehouse database. このステートメントでは、データベース名、照合順序、最大サイズ、エディション、およびサービス目標を指定します。With this statement, you specify the database name, collation, maximum size, edition, and service objective.

構文Syntax

CREATE DATABASE database_name [ COLLATE collation_name ]
(
    [ MAXSIZE = {
          250 | 500 | 750 | 1024 | 5120 | 10240 | 20480 | 30720
        | 40960 | 51200 | 61440 | 71680 | 81920 | 92160 | 102400
        | 153600 | 204800 | 245760
      } GB ,
    ]
    EDITION = 'datawarehouse',
    SERVICE_OBJECTIVE = {
         'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500' | 'DW600'
        | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000' | 'DW3000' | 'DW6000'
        |'DW100c' | 'DW200c' | 'DW300c' | 'DW400c' | 'DW500c'
        | 'DW1000c' | 'DW1500c' | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c'
        | 'DW6000c' | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
    }
)
[;]

引数Arguments

database_name database_name
新しいデータベースの名前。The name of the new database. この名前は、Azure SQL データベースAzure SQL Database データベースと SQL データ ウェアハウスSQL Data Warehouse データベースの両方をホストでき、ID の SQL ServerSQL Server の規則に従う、SQL Server に固有のものである必要があります。This name must be unique on the SQL server, which can host both Azure SQL データベースAzure SQL Database databases and SQL データ ウェアハウスSQL Data Warehouse databases, and comply with the SQL ServerSQL Server rules for identifiers. 詳細については、「データベース識別子」を参照してください。For more information, see Identifiers.

collation_name collation_name
データベースの既定の照合順序を指定します。Specifies the default collation for the database. 照合順序名には、Windows 照合順序名または SQL 照合順序名を指定できます。Collation name can be either a Windows collation name or a SQL collation name. 指定しない場合、既定の照合順序である SQL_Latin1_General_CP1_CI_AS がデータベースに割り当てられます。If not specified, the database is assigned the default collation, which is SQL_Latin1_General_CP1_CI_AS.

Windows と SQL の照合順序名の詳細については、COLLATE (Transact-SQL) に関するページを参照してください。For more information about the Windows and SQL collation names, see COLLATE (Transact-SQL).

EDITION EDITION
データベースのサービス層を指定します。Specifies the service tier of the database. SQL データ ウェアハウスSQL Data Warehouse の場合は、"datawarehouse" を使用します。For SQL データ ウェアハウスSQL Data Warehouse use 'datawarehouse'.

MAXSIZE MAXSIZE
既定値は 245,760 GB (240 TB) です。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 を超えて大きくなることはできません。列ストア形式に圧縮されたデータは、サイズ制限がなく、MAXSIZE に制約されません。Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVESERVICE_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).

全般的な解説General Remarks

データベースのプロパティを参照するには、DATABASEPROPERTYEX を使用します。Use DATABASEPROPERTYEX to see the database properties.

後で最大サイズ、またはサービス目標の値を変更するには、ALTER DATABASE - Azure SQL Data Warehouse を使用します。Use ALTER DATABASE - Azure SQL Data Warehouse to change the max size, or service objective values later.

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.

アクセス許可Permissions

必要なアクセスを許可:Required permissions:

  • プロビジョニング プロセスによって作成されたサーバー レベル プリンシパル ログイン、またはServer level principal login, created by the provisioning process, or
  • dbmanager データベース ロールのメンバー。Member of the dbmanager database role.

エラー処理Error Handling

データベースのサイズが MAXSIZE に達するとエラー コード 40544 が表示されます。If the size of the database reaches MAXSIZE you will receive error code 40544. この場合、データを挿入、更新したり、新しいオブジェクト (テーブル、ストアド プロシージャ、ビュー、関数など) を作成したりすることはできません。When this occurs, you cannot insert and update data, or create new objects (such as tables, stored procedures, views, and functions). ただし、データの読み取りと削除、テーブルの切り捨て、テーブルとインデックスの削除、およびインデックスの再構築は引き続き可能です。You can still read and delete data, truncate tables, drop tables and indexes, and rebuild indexes. これを解決するには、MAXSIZE を現在のデータベースのサイズより大きい値にするか、一部のデータを削除してストレージ領域を解放します。You can then update MAXSIZE to a value larger than your current database size or delete some data to free storage space. 新しいデータを挿入できるようになるまでに、最大で 15 分の遅延が生じる可能性があります。There may be as much as a fifteen-minute delay before you can insert new data.

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

新しいデータベースを作成するには、master データベースに接続している必要があります。You must be connected to the master database to create a new database.

CREATE DATABASE ステートメントが Transact-SQLTransact-SQL バッチ内の唯一のステートメントである必要があります。The CREATE DATABASE statement must be the only statement in a Transact-SQLTransact-SQL batch.

データベースを作成した後、データベースの照合順序を変更することはできません。You cannot change the database collation after the database is created.

例: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW)Examples: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW)

A.A. 簡単な例Simple example

データ ウェアハウスのデータベースを作成するための簡単な例です。A simple example for creating a data warehouse database. これにより、10240 GB、既定の照合順序は SQL_Latin1_General_CP1_CI_AS、最小のコンピューティング能力が DW100 の、最小の最大サイズのデータベースが作成されます。This creates the database with the smallest max size which is 10240 GB, the default collation which is SQL_Latin1_General_CP1_CI_AS, and the smallest compute power which is DW100.

CREATE DATABASE TestDW
(EDITION = 'datawarehouse', SERVICE_OBJECTIVE='DW100');

B.B. すべてのオプションを使用して、データ ウェアハウスのデータベースを作成Create a data warehouse database with all the options

すべてのオプションを使用して 10 テラバイトのデータ ウェアハウスを作成する例。An example of creating a 10 terabyte data warehouse using all the options.

CREATE DATABASE TestDW COLLATE Latin1_General_100_CI_AS_KS_WS
(MAXSIZE = 10240 GB, EDITION = 'datawarehouse', SERVICE_OBJECTIVE = 'DW1000');

参照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) *

 

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

概要Overview

Analytics Platform System の場合、このステートメントは、Analytics Platform System アプライアンス上で新しいデータベースを作成するために使用されます。In Analytics Platform System, this statement is used to create a new database on a Analytics Platform System appliance. このステートメントを使用し、アプライアンス データベースに関連付けられているすべてのファイルを作成し、データベース テーブルとトランザクション ログの最大サイズと自動増加オプションを設定します。Use this statement to create all files associated with an appliance database and to set maximum size and auto-growth options for the database tables and transaction log.

構文Syntax

CREATE DATABASE database_name
WITH (
    [ AUTOGROW = ON | OFF , ]
    REPLICATED_SIZE = replicated_size [ GB ] ,
    DISTRIBUTED_SIZE = distributed_size [ GB ] ,
    LOG_SIZE = log_size [ GB ] )
[;]

引数Arguments

database_name database_name
新しいデータベースの名前。The name of the new database. 許容されるデータベース名の詳細については、Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentationの "オブジェクトの名前付け規則" と "予約済みデータベース名" を参照してください。For more information on permitted database names, see "Object Naming Rules" and "Reserved Database Names" in the Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation.

AUTOGROW = ON | OFF AUTOGROW = ON | OFF
このデータベースの replicated_sizedistributed_sizelog_size パラメーターを必要に応じ、指定サイズを超えて自動増加するのかどうかを指定します。Specifies whether the replicated_size, distributed_size, and log_size parameters for this database will automatically grow as needed beyond their specified sizes. 既定値は OFF です。Default value is OFF.

AUTOGROW が ON の場合、replicated_sizedistributed_sizelog_size は、割り当て以上の記憶域を必要とするデータの挿入、更新、その他のアクションごとに、必要に応じて増加します (最初に指定したサイズのブロックではなく)。If AUTOGROW is ON, replicated_size, distributed_size, and log_size will grow as required (not in blocks of the initial specified size) with each data insert, update, or other action that requires more storage than has already been allocated.

AUTOGROW が OFF の場合、サイズは自動増加しません。If AUTOGROW is OFF, the sizes will not grow automatically. Parallel Data WarehouseParallel Data Warehouse は、replicated_sizedistributed_sizelog_size がその指定値を超えて増加することが要求されるアクションを試行するとエラーを返します。will return an error when attempting an action that requires replicated_size, distributed_size, or log_size to grow beyond their specified value.

AUTOGROW はすべてのサイズに対して ON にするか、すべてのサイズに対して OFF にします。AUTOGROW is either ON for all sizes or OFF for all sizes. たとえば、log_size に対して AUTOGROW を ON に設定し、replicated_size に対しては ON に設定しないということはできません。For example, it is not possible to set AUTOGROW ON for log_size, but not set it for replicated_size.

replicated_size [ GB ]replicated_size [ GB ]
正の数。A positive number. 計算ノードごとに、複製テーブルと対応データに割り当てる合計領域のサイズを設定します (整数または 10 進数の GB)。Sets the size (in integer or decimal gigabytes) for the total space allocated to replicated tables and corresponding data on each Compute node. replicated_size の最小要件と最大要件については、Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation の "最小値と最大値" を参照してください。For minimum and maximum replicated_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation.

AUTOGROW が ON の場合、複製テーブルはこの上限を超えて増加できます。If AUTOGROW is ON, replicated tables will be permitted to grow beyond this limit.

AUTOGROW が OFF の場合、ユーザーが新しい複製テーブルを作成しようとしたり、既存の複製テーブルにデータを挿入しようとしたり、サイズが replicated_size を超えるのに既存の複製テーブルを更新しようとするとエラーが返されます。If AUTOGROW is OFF, an error will be returned if a user attempts to create a new replicated table, insert data into an existing replicated table, or update an existing replicated table in a manner that would increase the size beyond replicated_size.

distributed_size [ GB ]distributed_size [ GB ]
正の数。A positive number. アプライアンス全体で分散テーブル (と対応データ) に割り当てる合計領域のサイズ (整数または 10 進数の GB)。The size, in integer or decimal gigabytes, for the total space allocated to distributed tables (and corresponding data) across the appliance. distributed_size の最小要件と最大要件については、Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation の "最小値と最大値" を参照してください。For minimum and maximum distributed_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation.

AUTOGROW が ON の場合、分散テーブルはこの上限を超えて増加できます。If AUTOGROW is ON, distributed tables will be permitted to grow beyond this limit.

AUTOGROW が OFF の場合、ユーザーが新しい分散テーブルを作成しようとしたり、既存の分散テーブルにデータを挿入しようとしたり、サイズが distributed_size を超えるのに既存の分散テーブルを更新しようとするとエラーが返されます。If AUTOGROW is OFF, an error will be returned if a user attempts to create a new distributed table, insert data into an existing distributed table, or update an existing distributed table in a manner that would increase the size beyond distributed_size.

log_size [ GB ]log_size [ GB ]
正の数。A positive number. アプライアンス全体のトランザクション ログのサイズ (整数または 10 進数の GB)。The size (in integer or decimal gigabytes) for the transaction log across the appliance.

log_size の最小要件と最大要件については、Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation の "最小値と最大値" を参照してください。For minimum and maximum log_size requirements, see "Minimum and Maximum Values" in the Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation.

AUTOGROW が ON の場合、ログ ファイルはこの上限を超えて増加できます。If AUTOGROW is ON, the log file is permitted to grow beyond this limit. ログ ファイルのサイズを元のサイズまで減らすには、DBCC SHRINKLOG (Azure SQL Data Warehouse) ステートメントを使用します。Use the DBCC SHRINKLOG (Azure SQL Data Warehouse) statement to reduce the size of the log files to their original size.

AUTOGROW が OFF の場合、個々の計算ノードで、ログ サイズが log_size を超えて増加するようなアクションが行われると、ユーザーにエラーが返されます。If AUTOGROW is OFF, an error will be returned to the user for any action that would increase the log size on an individual Compute node beyond log_size.

アクセス許可Permissions

master データベース内の CREATE ANY DATABASE アクセス許可、または sysadmin 固定サーバー ロールでのメンバーシップが必要です。Requires the CREATE ANY DATABASE permission in the master database, or membership in the sysadmin fixed server role.

次の例は、データベース ユーザー Fay にデータベースを作成する権限を与えます。The following example provides the permission to create a database to the database user Fay.

USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO

全般的な解説General Remarks

データベースはデータベース互換性レベル 120 で作成されます。これは SQL Server 2014 (12.x)SQL Server 2014 (12.x) の互換性レベルです。Databases are created with database compatibility level 120, which is the compatibility level for SQL Server 2014 (12.x)SQL Server 2014 (12.x). この互換性によって、PDW で使用されるすべての SQL Server 2014 (12.x)SQL Server 2014 (12.x) 機能をデータベースで使用できます。This ensures the database will be able to use all of the SQL Server 2014 (12.x)SQL Server 2014 (12.x) functionality that PDW uses.

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

CREATE DATABASE ステートメントは、明示的なトランザクションでは使用できません。The CREATE DATABASE statement is not allowed in an explicit transaction. 詳細については、「ステートメント」を参照してください。For more information, see Statements.

データベースの制約の最小値と最大値については、Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation の "最小値と最大値" を参照してください。For information on minimum and maximum constraints on databases, see "Minimum and Maximum Values" in the Parallel Data Warehouse 製品ドキュメントParallel Data Warehouse product documentation.

データベースを作成するときは、次のサイズの組み合わせ合計を割り当てるために、計算ノードごとに十分な空き領域が必要になります。At the time a database is created, there must be enough available free space on each Compute node to allocate the combined total of the following sizes:

  • テーブルのサイズが replicated_table_sizeSQL ServerSQL Server データベース。SQL ServerSQL Server database with tables the size of replicated_table_size.
  • テーブルのサイズが (distributed_table_size / 計算ノードの数) の SQL ServerSQL Server データベース。SQL ServerSQL Server database with tables the size of (distributed_table_size / number of Compute nodes ).
  • ログのサイズが (log_size / 計算ノードの数) の SQL ServerSQL ServerSQL ServerSQL Server logs the size of (log_size / number of Compute nodes).

ロックLocking

DATABASE オブジェクトを共有ロックします。Takes a shared lock on the DATABASE object.

メタデータMetadata

この操作に成功すると、このデータベースのエントリがメタデータ ビューの sys.databases および sys.objects に表示されます。After this operation succeeds, an entry for this database will appear in the sys.databases and sys.objectsmetadata views.

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

A.A. 基本的データベース作成の例Basic database creation examples

次の例では、データベース mytest を作成します。複製テーブルの記憶域割り当ては計算ノードごとに 100 GB、分散テーブルの記憶域割り当てはアプライアンスごとに 500 GB、トランザクション ログの記憶域割り当てはアプライアンスごとに 100 GB です。The following example creates the database mytest with a storage allocation of 100 GB per Compute node for replicated tables, 500 GB per appliance for distributed tables, and 100 GB per appliance for the transaction log. この例では、AUTOGROW は既定の OFF です。In this example, AUTOGROW is off by default.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB );

次の例では上の例と同じパラメーターでデータベース mytest を作成しますが、AUTOGROW を ON にします。The following example creates the database mytest with the same parameters as above, except that AUTOGROW is turned on. 指定サイズ パラメーターを超えてデータベースは増加できます。This allows the database to grow outside the specified size parameters.

CREATE DATABASE mytest
  WITH
    (AUTOGROW = ON,
    REPLICATED_SIZE = 100 GB,
    DISTRIBUTED_SIZE = 500 GB,
    LOG_SIZE = 100 GB);

B.B. 小数点以下を含む GB サイズでデータベースを作成するCreating a database with partial gigabyte sizes

次の例では、データベース mytest を作成します。AUTOGROW は OFF です。複製テーブルの記憶域割り当ては計算ノードごとに 1.5 GB、分散テーブルの記憶域割り当てはアプライアンスごとに 5.25 GB、トランザクション ログの記憶域割り当てはアプライアンスごとに 10 GB です。The following example creates the database mytest, with AUTOGROW off, a storage allocation of 1.5 GB per Compute node for replicated tables, 5.25 GB per appliance for distributed tables, and 10 GB per appliance for the transaction log.

CREATE DATABASE mytest
  WITH
    (REPLICATED_SIZE = 1.5 GB,
    DISTRIBUTED_SIZE = 5.25 GB,
    LOG_SIZE = 10 GB);

参照See Also