適用対象:Analytics Platform System (PDW)
このステートメントは、Analytics Platform System アプライアンスに新しいデータベースを作成するために使用されます。 このステートメントを使用し、アプライアンス データベースに関連付けられているすべてのファイルを作成し、データベース テーブルとトランザクション ログの最大サイズと自動増加オプションを設定します。
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
新しいデータベースの名前。 許可されるデータベース名の詳細については、「 予約データベース名」を参照してください。
AUTOGROW = { ON |OFF }
replicated_size、distributed_size、および log_size パラメーターを、必要に応じて指定したサイズを超えて自動的に拡張するかどうかを指定します。 既定値は、OFF です。
AUTOGROWがONされている場合、データの挿入、更新、またはその他の操作のたびに、既に割り当てられているよりも多くのストレージを必要とするreplicated_size、distributed_size、log_sizeが必要に応じて拡張されます。
AUTOGROWがOFFされている場合、サイズは自動的に拡大されません。
AUTOGROW は、すべてのサイズに対して ON か、すべてのサイズに対して OFF です。 たとえば、log_sizeのAUTOGROW ONを設定することはできませんが、replicated_sizeに設定することはできません。
replicated_size [ ギガバイト ]
正の数。 計算ノードごとに、複製テーブルと対応データに割り当てる合計領域のサイズを設定します (整数または 10 進数の GB)。
AUTOGROWがONされている場合、レプリケート テーブルはこの制限を超えて拡張される可能性があります。
AUTOGROWがOFFされている場合、ユーザーが新しいレプリケート テーブルの作成、既存のレプリケート テーブルへのデータの挿入、または既存のレプリケート テーブルの更新を試みた場合、replicated_sizeを超えるサイズを増やす方法でエラーが返されます。
distributed_size [ ギガバイト ]
正の数。 アプライアンス全体で分散テーブル (と対応データ) に割り当てる合計領域のサイズ (整数または 10 進数の GB)。
AUTOGROWがONされている場合、分散テーブルはこの制限を超えて拡張できます。
AUTOGROWがOFFされている場合、ユーザーが新しい分散テーブルの作成、既存の分散テーブルへのデータの挿入、または既存の分散テーブルの更新をdistributed_sizeを超えてサイズを増やそうとすると、エラーが返されます。
log_size [ ギガバイト ]
正の数。 アプライアンス全体のトランザクション ログのサイズ (整数または 10 進数の GB)。
AUTOGROWがON場合、ログ ファイルはこの制限を超えて拡張することが許可されます。
DBCC SHRINKLOG - Analytics Platform System (PDW) ステートメントを使用して、ログ ファイルのサイズを元のサイズに縮小します。
AUTOGROWがOFFされている場合、log_sizeを超えて個々のコンピューティング ノードのログ サイズを増やすアクションについて、エラーがユーザーに返されます。
Permissions
CREATE ANY DATABASE データベース内の master アクセス許可、または sysadmin 固定サーバー ロールでのメンバーシップが必要です。
次の例は、データベース ユーザー Fay にデータベースを作成する権限を与えます。
USE master;
GO
GRANT CREATE ANY DATABASE TO [Fay];
GO
注釈
データベースはデータベース互換性レベル 120 で作成されます。これは SQL Server 2014 (12.x) の互換性レベルです。 これにより、データベースで PDW が使用するすべての SQL Server 2014 (12.x) 機能を使用できるようになります。
Limitations
CREATE DATABASE ステートメントは、明示的なトランザクションでは使用できません。 詳細については、Transact-SQL ステートメントを参照してください。
データベースを作成するときは、次のサイズの組み合わせ合計を割り当てるために、計算ノードごとに十分な空き領域が必要になります。
- テーブルのサイズが replicated_table_size の SQL Server データベース。
- テーブルのサイズが (distributed_table_size / 計算ノードの数) の SQL Server データベース。
- サイズが (log_size / 計算ノードの数) の SQL Server ログ。
ロック
DATABASE オブジェクトを共有ロックします。
Metadata
この操作が成功すると、このデータベースのエントリが sys.databases および sys.objects メタデータ ビューに表示されます。
例: Analytics Platform System (PDW)
A。 基本的データベース作成の例
次の例では、データベース mytest を作成します。複製テーブルの記憶域割り当ては計算ノードごとに 100 GB、分散テーブルの記憶域割り当てはアプライアンスごとに 500 GB、トランザクション ログの記憶域割り当てはアプライアンスごとに 100 GB です。 この例では、 AUTOGROW はデフォルトでオフになっています。
CREATE DATABASE mytest
WITH
(REPLICATED_SIZE = 100 GB,
DISTRIBUTED_SIZE = 500 GB,
LOG_SIZE = 100 GB );
次の例では、mytestがオンになっていることを除いて、同じパラメータを使用してデータベース AUTOGROWを作成します。 指定サイズ パラメーターを超えてデータベースは増加できます。
CREATE DATABASE mytest
WITH
(AUTOGROW = ON,
REPLICATED_SIZE = 100 GB,
DISTRIBUTED_SIZE = 500 GB,
LOG_SIZE = 100 GB);
B. 小数点以下を含む GB サイズでのデータベースの作成
次の例では、データベース mytestを作成します。 AUTOGROW オフでは、レプリケート テーブルの場合はコンピューティング ノードあたり 1.5 GB、分散テーブルの場合はアプライアンスあたり 5.25 GB、トランザクション ログの場合はアプライアンスごとに 10 GB のストレージ割り当てが行われます。
CREATE DATABASE mytest
WITH
(REPLICATED_SIZE = 1.5 GB,
DISTRIBUTED_SIZE = 5.25 GB,
LOG_SIZE = 10 GB);