SQL Server 2005 最大容量规范

更新日期: 2007 年 9 月 15 日

以下各表指定 Microsoft SQL Server 2005 组件中定义的不同对象的最大大小和最大数量。

 数据库引擎对象


下表指定在 SQL Server 2005 数据库中定义的或在 Transact-SQL 语句中引用的不同对象的最大大小和最大数量。 该表不包含 SQL Server Windows CE Edition。

SQL Server 2005 数据库引擎对象

最大大小/数量 SQL Server 2005(32 位)

最大大小/数量 SQL Server 2005(64 位)

批大小1

65,536 * 网络数据包大小

65,536 * 网络数据包大小

每个短字符串列的字节数

8,000

8,000

每个 GROUP BY、ORDER BY 的字节数

8,060

8,060

每个索引键的字节数2

900

900

每个外键的字节数

900

900

每个主键的字节数

900

900

每行的字节数8

8,060

8,060

每个 varchar(max)varbinary(max)xmltextimage 列的字节数

2^31-1

2^31-1

每个 ntextnvarchar(max) 列的字符数

2^30-1

2^30-1

每个数据表的聚集索引数

1

1

GROUP BY、ORDER BY 中的列数

仅受字节数限制

仅受字节数限制

GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目

10

10

每个索引键的列数7

16

16

每个外键的列数

16

16

每个主键的列数

16

16

每个基础数据表的列数

1,024

1,024

每个 SELECT 语句的列数

4,096

4,096

每个 INSERT 语句的列数

1,024

1,024

每个客户端的连接个数

已配置连接的最大值

已配置连接的最大值

数据库大小

524,258 千吉字节

524,258 千吉字节

每个 SQL Server 实例的数据库个数

32,767

32,767

每个数据库的文件组个数

32,767

32,767

每个数据库的文件个数

32,767

32,767

文件大小(数据)

16 千吉字节

16 千吉字节

文件大小(日志)

2 千吉字节

2 千吉字节

每个表的外键表引用数4

253

253

标识符长度(以字符计)

128

128

每台计算机的实例数

所有 SQL Server 2005 版本(Workgroup Edition 除外)的独立服务器上为 50 个实例。 Workgroup Edition 最多支持 16 个实例。

SQL Server 2005 在故障转移群集上支持 25 个实例。

独立服务器上 50 个实例。

故障转移群集上 25 个实例。

包含 SQL 语句的字符串的长度(批大小)1

65,536 * 网络数据包大小

65,536 * 网络数据包大小

每个连接的锁数

每个服务器的最大锁数

每个服务器的最大锁数

每个 SQL Server 实例的锁数5

最多 2,147,483,647

仅受内存限制

嵌套存储过程级别数6

32

32

嵌套子查询个数

32

32

嵌套触发器层数

32

32

每个数据表的非聚集索引个数

249

249

每个存储过程的参数个数

2,100

2,100

每个用户定义函数的参数个数

2,100

2,100

每个数据表的 REFERENCE 个数

253

253

每个数据表的行数

受可用存储空间限制

受可用存储空间限制

每个数据库的表数3

受数据库中对象数限制

受数据库中对象数限制

每个分区表或索引的分区数

1,000

1,000

非索引列的统计信息条数

2,000

2,000

每个 SELECT 语句的表个数

256

256

每个表的触发器个数3

受数据库中对象数限制

受数据库中对象数限制

每个数据表的 UNIQUE 索引个数或约束个数

249 个非聚集索引和 1 个聚集索引

249 个非聚集索引和 1 个聚集索引

用户连接

32,767

32,767

XML 索引

249

249

1网络数据包大小是表格格式数据流 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通信。 默认的数据包大小为 4 千字节 (KB),由“网络数据包大小”配置选项控制。

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

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

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

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

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

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

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

 复制对象


下表指定 SQL Server 2005 复制中定义的各种对象的最大大小和最大数量。 该表不包括 SQL Server Windows CE Edition。

SQL Server 2005 复制对象

最大大小/数量 SQL Server 2005(32 位)

最大大小/数量 SQL Server 2005(64 位)

项目(合并发布)

256

256

项目(快照发布或事务发布)

32,767

32,767

表中的列1(合并发布)

246

246

表中的列2(SQL Server 快照发布或事务发布)

1000

1000

表中的列2(Oracle 快照发布或事务发布)

995

995

行筛选器中使用的列的字节数(合并发布)

1024

1024

行筛选器中使用的列的字节数(快照发布或事务发布)

8000

8000

1如果将行跟踪用于冲突检测(默认设置),则基表最多可以包含 1,024 列,但必须从项目中对这些列进行筛选,因此最多可发布 246 列。 如果使用列跟踪,则基表最多可以包含 246 列。 有关跟踪级别的详细信息,请参阅合并复制如何检测和解决冲突的“跟踪级别”部分。

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

 请参阅


参考

安装 SQL Server 2005 的硬件和软件要求系统配置检查器的检查参数

其他资源

安装 SQL Server 2005 组件


帮助和信息

获取 SQL Server 2005 帮助



发布日期

历史记录

2007 年 9 月 15 日

更改的内容:


  • 更新了最大数据库大小。

2006 年 12 月 12 日

更改的内容:


  • 删除了数据库引擎对象下对存储过程源文本中的字节数的限制。
  • 更新了每台计算机的实例数。

2006 年 7 月 17 日

更改的内容:


  • 更新了每台计算机的实例数。