您的位置:首页 > 数据库

SQL Server 的最大容量规范

2016-05-23 10:33 295 查看


SQL Server 的最大容量规范

SQL Server 2014

其他版本



以下各表指定 SQL Server 组件中定义的各种对象的最大大小和最大数量。 若要导航到 SQL Server 技术的对应表,请单击其链接:

SQL Server 数据库引擎对象

SQL Server 实用工具对象

SQL Server 数据层应用程序对象

SQL Server 复制对象



数据库引擎
对象



下表指定在 SQL Server 数据库中定义的或在 Transact-SQL 语句中引用的各种对象的最大大小和最大数量。

SQL Server 数据库引擎 对象最大大小/数量 SQL Server(32 位)最大大小/数量 SQL Server(64 位)
批大小165,536 * 网络数据包大小65,536 * 网络数据包大小
每个短字符串列的字节数8,0008,000
每个 GROUP BY、ORDER BY 的字节数8,0608,060
每个索引键的字节数2900900
每个外键的字节数900900
每个主键的字节数900900
每行的字节数88,0608,060
内存优化表中的每行字节数 9不支持8,060
存储过程源文本中的字节数批处理大小中的较小者或 250 MB批处理大小中的较小者或 250 MB
每个varchar(max)、varbinary(max)、xml、text 或 image列的字节数2^31-12^31-1
每个 ntext 或nvarchar(max) 列的字符数2^30-12^30-1
每个表的聚集索引数11
GROUP BY、ORDER BY 中的列数仅受字节数限制仅受字节数限制
GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目1010
每个索引键的列数71616
每个外键的列数1616
每个主键的列数1616
每个非宽表的列数1,0241,024
每个宽表的列数30,00030,000
每个 SELECT 语句的列数4,0964,096
每个 INSERT 语句的列数40964096
每个客户端的连接个数已配置连接的最大值已配置连接的最大值
数据库大小524,272 TB524,272 TB
每个 SQL Server 实例的数据库数32,76732,767
每个数据库的文件组个数32,76732,767
每个数据库的内存优化数据文件组个数不支持1
每个数据库的文件个数32,76732,767
文件大小(数据)16 TB16 TB
文件大小(日志)2 TB2 TB
每个数据库的内存优化数据文件个数不支持4.096
每个内存优化数据文件的差异文件不支持1
每个表的外键表引用数4253253
标识符长度(以字符计)128128
每台计算机的实例数所有 SQL Server 版本的独立服务器上为 50 个实例。

在使用共享群集磁盘作为您的群集安装的存储选项时,SQL Server 在故障转移群集上支持 25 个实例。如果您为群集安装选择 SMB 文件共享作为存储选项,则在 SQL Server 故障转移群集上支持 50 个实例。有关详细信息,请参阅安装
SQL Server 2014 的硬件和软件要求。
独立服务器上为 50 个实例。

在使用共享群集磁盘作为您的群集安装的存储选项时,在故障转移群集上支持 25 个实例。如果您为群集安装选择 SMB 文件共享作为存储选项,则 SQL Server 在故障转移群集上支持 50 个实例。
每个内存优化表的索引个数不支持8
包含 SQL 语句的字符串的长度(批大小)165,536 * 网络数据包大小65,536 * 网络数据包大小
每个连接的锁数每个服务器的最大锁数每个服务器的最大锁数
每个 SQL Server 实例的锁数5最多 2,147,483,647仅受内存限制
嵌套存储过程级别数63232
嵌套子查询个数3232
嵌套触发器层数3232
每个表的非聚集索引数999999
存在以下任意子句的情况下 GROUP BY 子句中的非重复表达式数目:CUBE、ROLLUP、GROUPING SETS、WITH CUBE、WITH ROLLUP3232
GROUP BY 子句中的运算符生成的分组集数目4,0964,096
每个存储过程的参数个数2,1002,100
每个用户定义函数的参数个数2,1002,100
每个数据表的 REFERENCE 个数253253
每个数据表的行数受可用存储空间限制受可用存储空间限制
每个数据库的表数3受数据库中对象数限制受数据库中对象数限制
每个分区表或索引的分区数1,000 Important: 在 32 位系统上可以创建具有超过 1,000 个分区的表或索引,但不支持这样做。15,000
非索引列的统计信息条数30,00030,000
每个 SELECT 语句的表个数仅受可用资源限制仅受可用资源限制
每个表的触发器个数3受数据库中对象数限制受数据库中对象数限制
每个 UPDATE 语句(宽表)的列数40964096
用户连接32,76732,767
XML 索引249249
1网络数据包大小指的是用于在应用程序和关系数据库引擎之间进行通信的表格格式数据流 (TDS) 数据包的大小。 默认的数据包大小为 4 KB,由 network packet size 配置选项控制。

2在 SQL Server 中,任何索引键的最大字节数不能超过 900。 可以使用最大大小合计超过 900 的可变长度列定义键,前提是这些列中所插入行的数据都不超过 900 字节。 在 SQL Server 中,可将非键列包含于非聚集索引中以避免最大索引键大小 900 字节的限制。

3数据库对象包括诸如表、视图、存储过程、用户定义函数、触发器、规则、默认值和约束等对象。 数据库中所有对象的数量总和不能超过 2,147,483,647。

4尽管表可以包含无限数量的 FOREIGN KEY 约束,但建议最大数量取为 253。 根据承载 SQL Server 的硬件配置,指定额外的 FOREIGN KEY 约束对查询优化器的处理而言可能开销很大。

5此值针对静态锁分配。 动态锁仅受内存限制。

6如果存储过程访问的数据库多于 64 个,或者交替访问的数据库多于 2 个,将收到错误信息。

7如果表包含一个或多个 XML 索引,由于 XML 列被添加到主 XML 索引的聚集键,用户表的聚集键被限制为 15 列。 在 SQL Server 中,可在非聚集索引中包括非键列以避免最多为 16 个键列的限制。 有关详细信息,请参阅创建带有包含列的索引

8 SQL Server 支持行溢出存储,行溢出存储使长度可变的列可以被推送到行外。 只有 24 字节的根存储在推送出行外的可变长度列的主记录中;因此,此版本中的有效行限制高于 SQL Server 早期版本中的有效行限制。 有关详细信息,请参阅 SQL Server 联机丛书中的“行溢出数据超过
8 KB”这一主题。

9 SQL Server 内存中 OLTP 不支持行溢出存储。 可变长度列不会推送到行外。 这将您可在内存优化表中指定的可变长度列的最大宽度限制为最大行大小。 有关详细信息,请参阅内存优化表中的表和行大小



SQL
Server 实用工具对象



下表指定了在 SQL Server 实用工具中测试的各种对象的最大大小和最大数量。

SQL Server 实用工具对象最大大小/数量 SQL Server(32 位)最大大小/数量 SQL Server(64 位)
每个 SQL Server 实用工具的计算机数(物理计算机或虚拟计算机)100100
每台计算机的 SQL Server 实例数55
每个 SQL Server 实用工具的 SQL Server 实例总数20012001
每个 SQL Server 实例的用户数据库数(包括数据层应用程序)5050
每个 SQL Server 实用工具的用户数据库总数1,0001,000
每个数据库的文件组数11
每个文件组的数据文件数11
每个数据库的日志文件数11
每台计算机的卷数33
1 SQL Server 实用工具支持的 SQL Server 托管实例的最大数目将会依服务器的硬件配置而定。 有关入门信息,请参阅 SQL
Server 实用工具的功能和任务。 并非在每个 SQL Server 2014 版本中均提供 SQL Server 实用工具控制点。 有关 SQL Server 各版本支持的功能列表,请参阅 SQL
Server 2014 各个版本支持的功能。



SQL
Server 数据层应用程序对象



下表指定在 SQL Server 数据层应用程序 (DAC) 中测试的各种对象的最大大小和最大数量。

SQL Server DAC 对象最大大小/数量 SQL Server(32 位)最大大小/数量 SQL Server(64 位)
每个 DAC 的数据库数11
每个 DAC 的对象数1受数据库中对象数或可用内存限制。受数据库中对象数或可用内存限制。
1限制中包含的对象类型为用户、表、视图、存储过程、用户定义函数、用户定义数据类型、数据库角色、架构和用户定义表类型。



复制对象



下表指定了在 SQL Server 复制中定义的各种对象的最大大小和最大数量。

SQL Server 复制对象最大大小/数量 - SQL Server(32 位)最大大小/数量 - SQL Server(64 位)
项目(合并发布)256256
项目(快照发布或事务发布)32,76732,767
表中的列1(合并发布)246246
表中的列数2(SQL Server 快照发布或事务发布)1,0001,000
表中的列2(Oracle 快照发布或事务发布)995995
行筛选器中使用的列的字节数(合并发布)1,0241,024
行筛选器中使用的列的字节数(快照发布或事务发布)8,0008,000
1如果将行跟踪用于冲突检测(默认设置),则基表最多可以包含 1,024 列,但必须从项目中对这些列进行筛选,以便最多可发布 246 列。 如果使用列跟踪,则基表最多可包含 246 列。

2基表可以包含发布数据库中允许的最大数量的列(在 SQL Server 中为 1024),但如果这些列的数目超过为发布类型指定的最大值,则必须从项目中筛选这些列。

源文链接:https://msdn.microsoft.com/zh-cn/library/ms143432(v=sql.120).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: