您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure Synapse Analytics 中专用 SQL 池的容量限制Capacity limits for dedicated SQL pool in Azure Synapse Analytics

Azure Synapse Analytics 中专用 SQL 池的各个组件所允许的最大值。Maximum values allowed for various components of dedicated SQL pool in Azure Synapse Analytics.

工作负荷管理Workload management

类别Category 说明Description 最大值Maximum
数据仓库单位 (DWU)Data Warehouse Units (DWU) 单个专用 SQL 池的最大 DWUMax DWU for a single dedicated SQL pool Gen1:DW6000Gen1: DW6000

Gen2:DW30000cGen2: DW30000c
数据仓库单位 (DWU)Data Warehouse Units (DWU) 每个服务器的默认 DTUDefault DTU per server 54,00054,000

默认情况下,每个 SQL Server(例如 myserver.database.windows.net)的 DTU 配额为 54,000,最多可以允许 DW6000c。By default, each SQL server (for example, myserver.database.windows.net) has a DTU Quota of 54,000, which allows up to DW6000c. 此配额仅仅只是安全限制。This quota is simply a safety limit. 可以通过创建支持票证并选择“配额” 作为请求类型来增加配额。You can increase your quota by creating a support ticket and selecting Quota as the request type. 若要计算 DTU 需求,请将7.5 乘以所需的 DWU 总数,或将9乘以所需的总 cDWU 数。To calculate your DTU needs, multiply the 7.5 by the total DWU needed, or multiply 9 by the total cDWU needed. 例如:For example:

DW6000 x 7.5 = 45,000 DTUDW6000 x 7.5 = 45,000 DTUs

DW7500c x 9 = 67500 Dtu。DW7500c x 9 = 67,500 DTUs.

可以在门户中的 SQL Server 选项中查看当前 DTU 消耗量。You can view your current DTU consumption from the SQL server option in the portal. 已暂停和未暂停的数据库都计入 DTU 配额。Both paused and unpaused databases count toward the DTU quota.
数据库连接Database connection 并发打开的最大会话数Maximum Concurrent open sessions 10241024

并发打开的会话数因所选 DWU 而异。The number of concurrent open sessions will vary based on the selected DWU. DWU600c 及更高版本支持最多 1024 个打开的会话。DWU600c and above support a maximum of 1024 open sessions. DWU500c 及更低版本支持最多 512 个并发打开的会话。DWU500c and below, support a maximum concurrent open session limit of 512. 请注意,可并发执行的查询数量是有限制的。Note, there are limits on the number of queries that can execute concurrently. 当超出并发限制时,请求将进入内部队列等待处理。When the concurrency limit is exceeded, the request goes into an internal queue where it waits to be processed.
数据库连接Database connection 预处理语句的最大内存Maximum memory for prepared statements 20 MB20 MB
工作负荷管理Workload management 并发查询数上限Maximum concurrent queries 128128

最多可执行 128 个并发查询,其余查询将排队。A maximum of 128 concurrent queries will execute and remaining queries will be queued.

将用户分配到更高的资源类或降低数据仓库单位设置时,并发查询的数量可能会减少。The number of concurrent queries can decrease when users are assigned to higher resource classes or when the data warehouse unit setting is lowered. 某些查询(例如 DMV 查询)始终允许运行,并且不会影响并发查询限制。Some queries, like DMV queries, are always allowed to run and do not impact the concurrent query limit. 若要详细了解如何执行并发查询,请参阅并发最大值一文。For more information on concurrent query execution, see the concurrency maximums article.
tempdbtempdb 最大 GBMaximum GB 每 DW100c 399 GB。399 GB per DW100c. 在使用 DWU1000c 的情况下,tempdb 的大小为 3.99 TB。At DWU1000c, tempdb is sized to 3.99 TB.

数据库对象Database objects

类别Category 说明Description 最大值Maximum
数据库Database 最大大小Max size Gen1:磁盘上压缩后 240 TB。Gen1: 240 TB compressed on disk. 此空间与 tempdb 或日志空间无关,因此,此空间专用于永久表。This space is independent of tempdb or log space, and therefore this space is dedicated to permanent tables. 聚集列存储压缩率估计为 5 倍。Clustered columnstore compression is estimated at 5X. 此压缩率允许数据库在所有表都为聚集列存储(默认表类型)的情况下增长到大约 1 PB。This compression allows the database to grow to approximately 1 PB when all tables are clustered columnstore (the default table type).

Gen2:列存储表的存储空间不受限制。Gen2: Unlimited storage for columnstore tables. 数据库的行存储部分仍限制为在磁盘上的压缩大小为 240 TB。Rowstore portion of the database is still limited to 240 TB compressed on disk.
Table 最大大小Max size 列存储表的大小不受限制。Unlimited size for columnstore tables.
磁盘上压缩的行存储表的大小为 60 TB。60 TB for rowstore tables compressed on disk.
Table 每个数据库的表数Tables per database 100,000100,000
Table 每个表的列数Columns per table 1024 个列1024 columns
Table 每个列的字节数Bytes per column 取决于列数据类型Dependent on column data type. char 数据类型的限制为 8000,nvarchar 数据类型的限制为 4000,MAX 数据类型的限制为 2 GB。Limit is 8000 for char data types, 4000 for nvarchar, or 2 GB for MAX data types.
Table 每行的字节数,定义的大小Bytes per row, defined size 8060 字节8060 bytes

每行字节数的计算方式同于使用页面压缩的 SQL Server。The number of bytes per row is calculated in the same manner as it is for SQL Server with page compression. 与 SQL Server 一样,支持行溢出存储,这样可以将 可变长度列 脱行推送。Like SQL Server, row-overflow storage is supported, which enables variable length columns to be pushed off-row. 对可变长度行进行拖行推送时,只将 24 字节的根存储在主记录中。When variable length rows are pushed off-row, only 24-byte root is stored in the main record. 有关详细信息,请参阅超过 8 KB 的行溢出数据For more information, see Row-Overflow Data Exceeding 8 KB.
Table 每个表的分区数Partitions per table 15,00015,000

为了实现高性能,建议在满足业务需求的情况下尽量减少所需的分区数。For high performance, we recommend minimizing the number of partitions you need while still supporting your business requirements. 随着分区数目的增长,数据定义语言 (DDL) 和数据操作语言 (DML) 操作的开销也会增长,导致性能下降。As the number of partitions grows, the overhead for Data Definition Language (DDL) and Data Manipulation Language (DML) operations grows and causes slower performance.
Table 每个分区边界值的字符数。Characters per partition boundary value. 40004000
索引Index 每个表的非聚集索引数。Non-clustered indexes per table. 5050

仅适用于行存储表。Applies to rowstore tables only.
索引Index 每个表的聚集索引数。Clustered indexes per table. 11

适用于行存储和列存储表。Applies to both rowstore and columnstore tables.
索引Index 索引键大小。Index key size. 900 字节。900 bytes.

仅适用于行存储索引。Applies to rowstore indexes only.

如果创建索引时列中的现有数据未超过 900 字节,那么可以创建最大大小超过 900 字节的 varchar 列上的索引。Indexes on varchar columns with a maximum size of more than 900 bytes can be created if the existing data in the columns does not exceed 900 bytes when the index is created. 但是,以后导致总大小超过 900 字节的对列的 INSERT 或 UPDATE 操作将失败。However, later INSERT or UPDATE actions on the columns that cause the total size to exceed 900 bytes will fail.
索引Index 每个索引的键列数。Key columns per index. 1616

仅适用于行存储索引。Applies to rowstore indexes only. 聚集列存储索引包括所有列。Clustered columnstore indexes include all columns.
统计信息Statistics 组合的列值的大小。Size of the combined column values. 900 字节。900 bytes.
统计信息Statistics 每个统计对象的列数。Columns per statistics object. 3232
统计信息Statistics 每个表的列上创建的统计信息条数。Statistics created on columns per table. 30,00030,000
存储过程Stored Procedures 最大嵌套级数。Maximum levels of nesting. 88
视图View 每个视图的列数Columns per view 1,0241,024


类别Category 说明Description 最大值Maximum
Polybase 加载Polybase Loads 每行 MB 数MB per row 11

Polybase 加载小于 1 MB 的行。Polybase loads rows that are smaller than 1 MB. 不支持将 LOB 数据类型加载到具有聚集列存储索引 (CCI) 的表。Loading LOB data types into tables with a Clustered Columnstore Index (CCI) is not supported.
Polybase 加载Polybase Loads 文件总数Total number of files 1,000,0001,000,000

Polybase 加载不能超过 1 百万个文件。Polybase loads can not exceed more than 1M files. 你可能会遇到以下错误:“操作失败,因为拆分计数超过上限 1000000”。You may experience the following error: Operation failed as split count exceeding upper bound of 1000000.


类别Category 说明Description 最大值Maximum
查询Query 用户表的排队查询数。Queued queries on user tables. 10001000
查询Query 系统视图的并发查询数。Concurrent queries on system views. 100100
查询Query 系统视图的排队查询数。Queued queries on system views 10001000
查询Query 最大值参数Maximum parameters 20982098
批处理Batch 最大大小Maximum size 65,536*409665,536*4096
SELECT 结果SELECT results 每个行的列数Columns per row 40964096

在 SELECT 结果中每行的列数始终不得超过 4096。You can never have more than 4096 columns per row in the SELECT result. 无法保证最大值始终为 4096。There is no guarantee that you can always have 4096. 如果查询计划需要一个临时表,则可能应用每个表最多 1024 列的最大值。If the query plan requires a temporary table, the 1024 columns per table maximum might apply.
SELECTSELECT 嵌套子查询Nested subqueries 3232

在 SELECT 语句中的嵌套子查询数始终不得超过 32 个。You can never have more than 32 nested subqueries in a SELECT statement. 无法保证最大值始终为 32 个。There is no guarantee that you can always have 32. 例如,JOIN 可以将子查询引入查询计划。For example, a JOIN can introduce a subquery into the query plan. 还可以通过可用内存来限制子查询的数量。The number of subqueries can also be limited by available memory.
SELECTSELECT 每个 JOIN 的列数Columns per JOIN 1024 个列1024 columns

JOIN 中的列数始终不得超过 1024。You can never have more than 1024 columns in the JOIN. 无法保证最大值始终为 1024。There is no guarantee that you can always have 1024. 如果 JOIN 计划需要列数多于 JOIN 结果的临时表,那么将 1024 限制应用于此临时表。If the JOIN plan requires a temporary table with more columns than the JOIN result, the 1024 limit applies to the temporary table.
SELECTSELECT 每个 GROUP BY 列的字节数。Bytes per GROUP BY columns. 80608060

GROUP BY 子句中的列的字节数最大为 8060 字节。The columns in the GROUP BY clause can have a maximum of 8060 bytes.
SELECTSELECT 每个 ORDER BY 列的字节数Bytes per ORDER BY columns 8060 字节8060 bytes

ORDER BY 子句中的列的字节数最大为 8060 字节The columns in the ORDER BY clause can have a maximum of 8060 bytes
每个语句的标识符数Identifiers per statement 被引用的标识符数Number of referenced identifiers 65,53565,535

可以包含在一条查询的单个表达式中的标识符数会受到限制。The number of identifiers that can be contained in a single expression of a query is limited. 超过此数字会导致 SQL Server 错误 8632。Exceeding this number results in SQL Server error 8632. 有关详细信息,请参阅内部错误:已达到表达式服务限制For more information, see Internal error: An expression services limit has been reached.
字符串文本String literals 一个语句中字符串文本的数量Number of string literals in a statement 20,00020,000

一条查询的单个表达式中字符串常量的数量会受到限制。The number of string constants in a single expression of a query is limited. 超过此数字会导致 SQL Server 错误 8632。Exceeding this number results in SQL Server error 8632.


系统视图System view 最大行数Maximum rows
sys.dm_pdw_component_health_alertssys.dm_pdw_component_health_alerts 10,00010,000
sys.dm_pdw_dms_coressys.dm_pdw_dms_cores 100100
sys.dm_pdw_dms_workerssys.dm_pdw_dms_workers 最近 1000 个 SQL 请求的 DMS 辅助角色的总数。Total number of DMS workers for the most recent 1000 SQL requests.
sys.dm_pdw_errorssys.dm_pdw_errors 10,00010,000
sys.dm_pdw_exec_requestssys.dm_pdw_exec_requests 10,00010,000
sys.dm_pdw_exec_sessionssys.dm_pdw_exec_sessions 10,00010,000
sys.dm_pdw_request_stepssys.dm_pdw_request_steps sys.dm_pdw_exec_requests 中存储的最近 1000 个 SQL 请求的步骤总数。Total number of steps for the most recent 1000 SQL requests that are stored in sys.dm_pdw_exec_requests.
sys.dm_pdw_os_event_logssys.dm_pdw_os_event_logs 10,00010,000
sys.dm_pdw_sql_requestssys.dm_pdw_sql_requests sys.dm_pdw_exec_requests 中存储的最近 1000 个 SQL 请求。The most recent 1000 SQL requests that are stored in sys.dm_pdw_exec_requests.

后续步骤Next steps

有关使用 Azure Synapse 的建议,请参阅速查表For recommendations on using Azure Synapse, see the Cheat Sheet.