Azure Synapse Analytics の専用 SQL プールの容量制限

Azure Synapse Analytics の専用 SQL プールのさまざまなコンポーネントに許可される最大値。

ワークロードの管理

カテゴリ 説明 最大値
Data Warehouse ユニット (DWU) 1 つの専用 SQL プールに対する最大 DWU Gen1:DW6000

Gen2:DW30000c
Data Warehouse ユニット (DWU) サーバーあたりの既定のデータベース トランザクション ユニット (DTU) 54,000

既定では、各 SQL サーバー (たとえば、myserver.database.windows.net) の DTU クォータは 54,000 であり、最大 DW6000c まで使用できます。 このクォータは単に安全上の制限です。 クォータを引き上げるには、サポート チケットを作成し、要求の種類として [クォータ] を選択します。 実際に必要な DTU を計算するには、必要とされる DWU の合計に 7.5 を掛けるか、必要とされる cDWU の合計に 9 を掛けます。 次に例を示します。

DW6000 x 7.5 = 45,000 DTU

DW7500c x 9 = 67,500 DTU

現在の DTU 消費量は、ポータルで SQL Server オプションから確認できます。 DTU クォータには、一時停止しているデータベースと一時停止していないデータベースの両方が考慮されます。
データベース接続 同時に開かれる最大セッション数 1024

同時に開くことができるセッション数は、選んだ DWU によって異なります。 DWU1000c 以降では、開くことができるセッション数の上限は 1,024 です。 DWU500c 以前では、同時に開くことができるセッション数の上限は 512 です。 同時に実行できるクエリ数については、制限があるので注意してください。 コンカレンシーの制限を超えると、要求は内部キューに送られ、処理の順番が来るまで待機します。

アイドル状態のセッション接続は自動的に閉じられません。
データベース接続 準備されたステートメントに対する最大メモリ容量 20 MB
ワークロードの管理 同時クエリの最大数 128

最大 128 個の同時実行クエリが実行され、残りのクエリはキューに入れられます。

同時実行クエリの数は、ユーザーがより高いリソース クラスに割り当てられるか、または Data Warehouse ユニットの設定が下げられたときに減少する場合があります。 一部のクエリ (DMV クエリなど) は、常に実行を許可され、同時実行クエリの制限に影響しません。 コンカレント クエリの情報については、コンカレンシーの最大値に関する記事を参照してください。
tempdb 最大 GB DW100c あたり 399 GB です。 たとえば、DWU1000c では、tempdb のサイズは 3.99 TB になります。

データベース オブジェクト

カテゴリ 説明 最大値
データベース 最大サイズ Gen1:240 TB (ディスク上の圧縮)。 この領域は tempdb またはログ領域から独立しています。そのため、この領域はパーマネント テーブル専用です。 クラスター化列ストアの圧縮率は約 5 倍になります。 このため、すべてのテーブルをクラスター化列ストア (既定のテーブルの種類) にした場合、データベースを約 1 PB まで拡大できるようになります。

Gen2:無制限のストレージ (列ストア テーブル) データベースの行ストア部分でも、ディスク上で圧縮された 240 TB に制限されます。
テーブル 最大サイズ 無制限のサイズ (列ストア テーブル)
ディスク上に圧縮された行ストア テーブルの場合は 60 TB。
テーブル データベースごとのテーブル数 100,000
テーブル テーブルごとの列数 1,024 列
テーブル 列あたりのバイト数 列のデータ型によって決まります。 上限は、char データ型では 8000 GB、nvarchar データ型では 4000 GB、MAX データ型では 2 GB です。
テーブル 行あたりのバイト数 (定義されたサイズ) 8,060 バイト

行あたりのバイト数は、ページ圧縮を有効にした SQL Server の場合と同様に計算されます。 SQL Server と同様に、行オーバーフロー ストレージがサポートされるため、可変長列を行外にプッシュできます。 可変長行を行外にプッシュする場合、メイン レコードには 24 バイト ルートのみが格納されます。 詳細については、「8 KB を超える場合の行オーバーフロー データ」を参照してください。
テーブル テーブルあたりのパーティション数 15,000

高パフォーマンスを実現するには、ビジネス要件を満たしながら、必要なパーティション数を最小限に抑えることをお勧めします。 パーティションの数が増えるに従い、データ定義言語 (DDL) およびデータ操作言語 (DML) の操作のオーバーヘッドが拡大し、パフォーマンスの低下を引き起こします。
テーブル パーティション境界値あたりの文字数 4000
インデックス テーブルごとの非クラスター化インデックス数。 50

行ストア テーブルのみに適用されます。
インデックス テーブルあたりのクラスター化インデックス数 1

行ストア テーブルと列ストア テーブルの両方に適用されます。
インデックス インデックス キーのサイズ 900 バイト

行ストア インデックスにのみに適用されます。

インデックスの作成時には varchar 列の既存のデータが 900 バイトを超えていない場合でも、最大サイズが 900 バイトを超える、varchar 列のインデックスが作成されることがあります。 ただし、その後の列に対する INSERT または UPDATE 操作は、合計サイズが 900 バイトを超えてしまう場合、失敗します。
インデックス インデックスあたりのキー列数 16

行ストア インデックスにのみに適用されます。 クラスター化列ストア インデックスには、すべての列が含まれます。
統計 組み合わせ列値のサイズ 900 バイト
統計 統計オブジェクトあたりの列数 32
統計 テーブルごとに、列に対して作成される統計 30,000
ストアド プロシージャ 入れ子レベルの最大数 8
表示 ビューごとの列数 1,024
ワークロード分類子 ユーザー定義分類子 100

読み込み

カテゴリ 説明 最大値
Polybase 読み込み 行あたりの MB 数 1

Polybase では、1 MB 未満の行を読み込みます。 クラスター化列ストア インデックス (CCI) を使用して LOB データ型をテーブルに読み込むことはサポートされていません。
Polybase 読み込み ファイルの総数 1,000,000

Polybase では、1,000,000 ファイルを超えて読み込むことはできません。 次のようなエラーが発生することがあります: "分割数が上限の 1,000,000 を超えたため、操作に失敗しました。"

クエリ

カテゴリ 説明 最大値
クエリ ユーザー テーブルに対する、キューに置かれるクエリ数 1000
クエリ システム ビューに対する同時クエリ数 100
クエリ システム ビューに対する、キューに置かれるクエリ数 1000
クエリ パラメーターの最大個数 2098
Batch 最大サイズ 65,536*4096
SELECT の結果セット 行あたりの列数 4096

SELECT の結果セットで、許容される行あたりの列数の上限は 4,096 個です。 常に 4096 個が保証されるわけではありません。 クエリ プランで一時テーブルが必要な場合、テーブルあたりの列数の最大値として 1,024 が適用される可能性があります。
選択 入れ子にしたサブクエリの数 32

SELECT ステートメントで許容される入れ子になったサブクエリの数は 32 個までです。 常に 32 個が保証されるわけではありません。 たとえば、JOIN によって、クエリ プランにサブクエリが導入されることがあります。 サブクエリの数はまた、使用できるメモリによって制限される場合があります。
SELECT JOIN あたりの列数 1,024 列

JOIN で許容される列数は 1,024 個までです。 常に 1024 列が保証されるわけではありません。 JOIN プランで、列数が JOIN の結果を上回る一時テーブルが必要な場合、一時テーブルには 1024 の制限が適用されます。
SELECT GROUP BY の列あたりのバイト数 8060

GROUP BY 句内の列に許容されるバイト数は、最大で 8,060 バイトです。
選択 ORDER BY 列あたりのバイト数 8,060 バイト

ORDER BY 句内の列に許容されるバイト数は、最大で 8,060 バイトです。
ステートメントあたりの識別子 参照される識別子の数 65,535

1 つのクエリ式に含めることができる識別子の数は制限されています。 この数を超えると、SQL Server エラー 8632 が発生します。 詳細については、内部エラー: 式サービスの制限値に達していますに関するページをご覧ください。
文字列リテラル ステートメントの文字列リテラルの数 32,500

1 つのクエリ式内の文字列定数の数は制限されています。 この数を超えると、SQL Server エラー 8632 が発生します。

Metadata

DMV の累積データは、専用 SQL プールが一時停止されるかスケーリングされるとリセットされます。

システム ビュー [最大行数]
sys.dm_pdw_dms_cores 100
sys.dm_pdw_dms_workers 最新の 1000 個の SQL 要求に対する DMS ワーカーの総数
sys.dm_pdw_errors 10,000
sys.dm_pdw_exec_requests 10,000
sys.dm_pdw_exec_sessions 10,000
sys.dm_pdw_request_steps sys.dm_pdw_exec_requests に格納された最新の 1000 個の SQL 要求に対するステップの総数
sys.dm_pdw_sql_requests sys.dm_pdw_exec_requests に格納されている最新の 1,000 個の SQL 要求。