Azure Synapse Analytics 中專用 SQL 集區的容量限制
Azure Synapse Analytics 中專用 SQL 集區的各種元件允許的最大值。
工作負載管理
類別 | 描述 | 最大值 |
---|---|---|
資料倉儲單位 (DWU) | 單一專用 SQL 集區的最大 DWU | Gen1:DW6000 Gen2:DW30000c |
資料倉儲單位 (DWU) | 每部伺服器的預設 DTU | 54,000 根據預設,每個 SQL 伺服器 (例如,myserver.database.windows.net) 都有 DTU 配額 54,000,允許最多 DW6000c。 此配額只是安全限制。 您可以建立 支援票證 ,然後選取 [配額] 作為要求類型來增加配額 。 若要計算 DTU 需求,請將所需的 DWU 總數乘以 7.5,或將 9 乘以所需的 cDWU 總計。 例如: DW6000 x 7.5 = 45,000 DTU DW7500c x 9 = 67,500 DTU。 您可以從入口網站中的 [SQL Server] 選項檢視目前的 DTU 耗用量。 已暫停和未暫停的資料庫都會計入 DTU 配額。 |
資料庫連線 | 並行開啟會話上限 | 1024 並行開啟會話的數目會根據選取的 DWU 而有所不同。 DWU1000c 和更新版本最多支援 1024 個開啟的會話。 DWU500c和以下版本支援最大並行開啟會話限制 512。 請注意,可以同時執行的查詢數目有限制。 超過並行限制時,要求會進入等候處理的內部佇列。 |
資料庫連線 | 備妥語句的最大記憶體 | 20 MB |
工作負載管理 | 並行查詢數目上限 | 128 最多會執行 128 個並行查詢,其餘查詢將會排入佇列。 當使用者指派給較高資源類別,或數據倉儲單位設定降低時,並行查詢數目可能會減少。 某些查詢,例如 DMV 查詢,一律允許執行,且不會影響並行查詢限制。 如需並行查詢執行的詳細資訊,請參閱 並行存取上限 一文。 |
tempdb | GB 上限 | 每個 DW100c 399 GB。 例如,在 DWU1000c,tempdb 的大小為 3.99 TB。 |
資料庫物件
類別 | 描述 | 最大值 |
---|---|---|
Database | 大小上限 | Gen1:240 TB 壓縮在磁碟上。 此空間與 tempdb 或記錄空間無關,因此此空間專用於永久數據表。 叢集數據行存放區壓縮估計為5X。 當所有數據表都是叢集數據行存放區時,此壓縮可讓資料庫成長到大約 1 PB(預設數據表類型)。 Gen2:資料行存放區數據表的無限制記憶體。 資料庫的數據列存放區部分仍然限制在磁碟上壓縮 240 TB。 |
Table | 大小上限 | 數據行存放區數據表的大小無限制。 磁碟上壓縮的數據列存放區數據表 60 TB。 |
Table | 每個資料庫的資料表數 | 100,000 |
Table | 資料表的資料行數 | 1024 個數據行 |
Table | 每個數據行的位元組數 | 相依於數據行 數據類型。 char 數據類型的限制為 8000,nvarchar 為 4000,MAX 數據類型為 2 GB。 |
Table | 每個數據列的位元組數,已定義的大小 | 8060 個字節 每個數據列的位元組數目會以與頁面壓縮的SQL Server 相同的方式來計算。 與 SQL Server 一樣,支持數據列溢位記憶體,這可讓 可變長度 的數據行從數據列推送。 當可變長度數據列被下推時,只有 24 位元組的根目錄會儲存在主要記錄中。 如需詳細資訊,請參閱 超過8 KB的數據列溢位數據。 |
Table | 每個數據表的數據分割 | 15,000 為了達到高效能,建議您將所需的分割區數目降到最低,同時仍支援您的商務需求。 隨著分割區數目的成長,數據定義語言 (DDL) 和數據操作語言 (DML) 作業的額外負荷會成長,並導致效能變慢。 |
Table | 每個數據分割界限值的字元。 | 4000 |
索引 | 每個數據表的非叢集索引。 | 50 僅適用於數據列存放區數據表。 |
索引 | 每個數據表的叢集索引。 | 1 適用於數據列存放區和數據行存放區數據表。 |
索引 | 索引鍵大小。 | 900 個字節。 僅適用於數據列存放區索引。 如果數據行中的現有數據在建立索引時未超過 900 個字節,則可以在 varchar 數據行上建立大小上限超過 900 個字節的索引。 不過,之後導致總大小超過 900 個字節的數據行的 INSERT 或 UPDATE 動作將會失敗。 |
索引 | 每個索引的索引鍵數據行。 | 16 僅適用於數據列存放區索引。 叢集數據行存放區索引包含所有數據行。 |
統計資料 | 合併數據行值的大小。 | 900 個字節。 |
統計資料 | 每個統計數據對象的數據行。 | 32 |
統計資料 | 針對每個數據表的數據行所建立的統計數據。 | 30,000 |
預存程序 | 巢狀層級上限。 | 8 |
檢視 | 每個檢視的資料行數 | 1,024 |
工作負載分類器 | 使用者定義的分類器 | 100 |
負荷
類別 | 描述 | 最大值 |
---|---|---|
Polybase 載入 | 每列 MB | 1 Polybase 會載入小於 1 MB 的數據列。 不支援將 LOB 資料類型載入具有叢集資料行存放區索引 (CCI) 的數據表。 |
Polybase 載入 | 檔案總數 | 1,000,000 Polybase 載入不能超過 100 萬個檔案。 您可能會遇到下列錯誤:作業失敗, 因為分割計數超過上限 1000000。 |
查詢
類別 | 描述 | 最大值 |
---|---|---|
查詢 | 用戶數據表上的佇列查詢。 | 1000 |
查詢 | 系統檢視上的並行查詢。 | 100 |
查詢 | 系統檢視上的佇列查詢 | 1000 |
查詢 | 最大參數 | 2098 |
Batch | 大小上限 | 65,536*4096 |
SELECT 結果 | 每個數據列的數據行 | 4096 SELECT 結果中每個數據列的 4096 個數據行永遠不能超過 4096 個。 不保證您一律可以有 4096。 如果查詢計劃需要臨時表,每個數據表可能會套用 1024 個數據行上限。 |
SELECT | 巢狀子查詢 | 32 在 SELECT 語句中,您永遠不能有超過 32 個巢狀子查詢。 不保證您一律可以有 32 個。 例如,JOIN 可以將子查詢引入查詢計劃。 子查詢的數目也可以受限於可用的記憶體。 |
SELECT | 每個 JOIN 的數據行 | 1024 個數據行 在 JOIN 中,您永遠不能有超過 1024 個數據行。 不保證一律可以有 1024。 如果 JOIN 計劃需要具有比 JOIN 結果更多的數據行的臨時表,則 1024 限制會套用至臨時表。 |
SELECT | 每個 GROUP BY 資料行的位元元組數。 | 8060 GROUP BY 子句中的數據行最多可以有 8060 個字節。 |
SELECT | 每個 ORDER BY 資料行的位元元組數 | 8060 個字節 ORDER BY 子句中的數據行最多可以有8060個字節 |
每個語句的標識碼 | 參考的標識碼數目 | 65,535 查詢單一表達式中可以包含的標識碼數目有限。 超過這個數位會導致 SQL Server 錯誤 8632。 如需詳細資訊,請參閱 內部錯誤:已達到表達式服務限制。 |
字串常值 | 語句中的字串常值數目 | 32,500 查詢單一表達式中的字串常數數目有限。 超過這個數位會導致 SQL Server 錯誤 8632。 |
中繼資料
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的最新 1000 個 SQL 要求。 |
下一步
如需使用 Azure Synapse 的建議,請參閱 速查表。