エクスポート (0) 印刷
すべて展開

CREATE DATABASE (Azure SQL データベース)

このトピックの情報は現在使用できません。最新バージョンは、SQL 14 Transact-SQL Reference. でご覧いただけます。

Important重要
このトピックは保守されていません。現在のバージョンについては、「CREATE DATABASE」を参照してください。

新しいデータベースを作成します。新しいデータベースを作成するには、master データベースに接続する必要があります。

構文表記規則 (Azure SQL データベース)


CREATE DATABASE database_name  [ COLLATE collation_name ]
{
   (<edition_options> [, ...n]) 
}

<edition_options> ::= 
{
   (MAXSIZE = {1 | 5 | 10 | 20 | 30 … 150} GB) 
    |(EDITION = {'web' | 'business'})
}
[;]

To copy a database:
CREATE DATABASE destination_database_name
     AS COPY OF [source_server_name.] source_database_name
[;]

この構文ダイアグラムでは、Microsoft Microsoft Azure SQL データベースでサポートされている引数を示します。

database_name
新しいデータベースの名前。この名前は、Azure SQL データベース サーバー上で一意であること、また、SQL Server の識別子の規則に従っていることが必要です。詳細については、「識別子」を参照してください。

Collation_name
データベースの既定の照合順序を指定します。照合順序名には、Windows 照合順序名または SQL 照合順序名を指定できます。指定しない場合、既定の照合順序 SQL_Latin1_General_CP1_CI_AS がデータベースに割り当てられます。

Windows 照合順序名および SQL 照合順序名の詳細については、「COLLATE (Transact-SQL)」を参照してください。

EDITION
データベースのエディションとして 'web' (Web Edition) または 'business' (Business Edition) を指定します。

EDITION のみ指定し、MAXSIZE を指定しなかった場合、MAXSIZE は、そのエディションでサポートされる最も制限の厳しいサイズ (Web Edition は 1 GB、Business Edition は 10 GB) に設定されます。

MAXSIZE
データベースの最大サイズを指定します。MAXSIZE には、指定した EDITION に応じて有効な値を指定する必要があります。Web Edition の場合、有効な MAXSIZE 値は 1 GB または 5 GB です。Business Edition の場合、50 GB までは 10 GB 間隔の値、それ以上は 50 GB 間隔の値が有効です。

MAXSIZE の値が 1 GB または 5 GB に設定されている場合、EDITION が指定されなかったときには、データベース エディションは自動的に Web Edition に設定されます。

MAXSIZE が 10 GB 以上の値に設定されている場合、EDITION が指定されなかったときには、データベース エディションは自動的に Business Edition に設定されます。

MAXSIZE も EDITION も指定されなかった場合、サイズが 1 GB の Web Edition データベースが作成されます。

destination_database_name
コピーによって作成されるデータベースの名前。この名前は、コピー先の Azure SQL データベース サーバー上で一意であること、また、SQL Server の識別子の規則に従っていることが必要です。詳細については、「識別子」を参照してください。

AS COPY OF [source_server_name.]source_database_name
同一または異なる Azure SQL データベース サーバーにデータベースをコピーする場合に使用します。

noteメモ
AS COPY OFCREATE DATABASE の他の引数と組み合わせて使用することはできません。

source_server_name
コピー元のデータベースが存在する Azure SQL データベース サーバーの名前。コピー元とコピー先のデータベースが同じ Azure SQL データベース サーバー上にある場合、このパラメーターは省略できます。

注: AS COPY OF 引数には、完全修飾された一意のドメイン名は使用できません。つまり、サーバーの完全修飾ドメイン名が serverName.database.windows.net である場合、データベースのコピー時に使用できるのは serverName のみです。

source_database_name
コピーの対象となるデータベースの名前。

Microsoft Azure SQL データベース では、CREATE DATABASE ステートメントを使用する場合、次の引数とオプションがサポートされません

  • ファイルの物理的な配置に関連したパラメーター (<filespec>、<filegroup> など)

  • 外部アクセス オプション (DB_CHAINING、TRUSTWORTHY など)

  • データベースのアタッチ

  • Service Broker のオプション (ENABLE_BROKER、NEW_BROKER、ERROR_BROKER_CONVERSATIONS など)

  • データベース スナップショット

引数と CREATE DATABASE ステートメントの詳細については、SQL Server オンライン ブックの「CREATE DATABASE」を参照してください。

Microsoft Azure SQL データベースでは、データベースの作成時にいくつかの既定の設定が適用されます。既定の設定の詳細については、「DATABASEPROPERTYEX (Azure SQL データベース)」にある値の一覧を参照してください。

MAXSIZE を使用して、データベースのサイズを制限することができます。データベースのサイズが MAXSIZE に達すると、エラー コード 40544 が発生します。このエラーが発生すると、データの挿入や更新、新しいオブジェクト (テーブル、ストアド プロシージャ、ビュー、関数など) の作成はできなくなります。ただし、データの読み取りと削除、テーブルの切り捨て、テーブルとインデックスの削除、インデックスの再構築については引き続き行うことができます。MAXSIZE を現在のデータベース サイズよりも大きな値に更新するか、データを一部削除して記憶領域を解放してください。新しいデータを挿入できるようになるまでに 15 分程度かかる場合があります。

Important重要
CREATE DATABASE ステートメントは、Transact-SQL バッチ内の唯一のステートメントである必要があります。CREATE DATABASE ステートメントを実行するときは、master データベースに接続している必要があります。

CREATE DATABASE ステートメントを使用したデータベースのコピーは、非同期で行われる処理です。したがって、必ずしもコピー処理が進行している間ずっと Azure SQL データベース サーバーに接続している必要はありません。CREATE DATABASE ステートメントからは、データベースのコピー処理が完了する前に、ユーザーに制御が戻されます。つまり、データベースのコピーが進行中であっても、CREATE DATABASE ステートメントからは正常に制御が戻されます。コピー処理は、sys.dm_database_copies ビューおよび sys.databases ビューを使用して監視できます。コピー処理が正常に完了した後は、コピー先のデータベースとコピー元のデータベースとの間に、トランザクション上の一貫性が確保された状態となります。Azure SQL データベース におけるデータベースのコピーの詳細については、「Azure SQL データベースでのデータベースのコピー」を参照してください。

AS COPY OF 引数の使用に関して適用される構文および意味上の規則は次のとおりです。

  • コピー元のサーバー名とコピー先のサーバー名は同じでも、異なっていてもかまいません。両者が同じである場合、このパラメーターは省略できます。現在のセッションのサーバー コンテキストが既定で使用されます。

  • コピー元とコピー先のデータベース名は、識別子に関する SQL Server のルールに準拠した一意の名前を指定する必要があります。詳細については、「識別子」を参照してください。

  • CREATE DATABASE ステートメントは、新しいデータベースが作成される Azure SQL データベース サーバーの master データベースのコンテキスト内で実行する必要があります。

  • コピーの完了後、コピー先のデータベースは、独立したデータベースとして管理されます。コピー元のデータベースとは無関係に、新しいデータベースに対し、ALTER DATABASE ステートメントや DROP DATABASE ステートメントを実行することができます。新しいデータベースをさらに別の新しいデータベースにコピーすることもできます。

  • コピー処理が完了するまでは、コピー先のデータベースにアクセスできません。コピー処理のステータスは、コピー先の Azure SQL データベース サーバー上の state ビューの sys.databases 列または percentage_complete ビューの sys.dm_database_copies 列を照会することによって確認できます。

    コピー処理中は、コピー先の Azure SQL データベース サーバー上の state ビューの sys.databases 列に "Copying" と表示されます。加えて、percentange_completesys.dm_database_copies 列には、対象サーバーにコピーされたバイト数のパーセンテージが表示されます。

  • データベースのコピー中でも、コピー元のデータベースにアクセスすることができます。

データベースを作成できるのは、サーバーレベル プリンシパル ログイン (プロビジョニング処理で作成されたもの) または dbmanager データベース ロールのメンバーのみです。

表示:
© 2014 Microsoft