SQL Server 2005 最大容量规范


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”主题。


=========================

network packet size 选项

使用 network packet size 选项可以设置整个网络中使用的数据包大小(以字节为单位)。数据包是具有固定大小的数据块区,用于在客户端与服务器之间传输请求和结果。Microsoft SQL Server 设置的默认数据包大小为 4,096 字节。应用程序进行大容量复制操作,或者发送或接收大量文本或图像数据时,数据包大小大于默认值可以提高效率,因为这样可以减少网络读写操作。如果应用程序发送和接收的信息量较少,则可以将数据包大小设置为 512 字节,这对大多数数据传输足够了。

ms187866.note(zh-cn,SQL.90).gif注意:
除非您确信能够提高性能,否则不要更改数据包大小。对于大多数应用程序而言,最好使用默认数据包大小。

在使用不同网络协议的系统上,将 network packet size 设置为最常用协议使用的大小。如果网络协议支持更大的数据包,则使用 network packet size 选项可以提高网络性能。客户端应用程序可以覆盖此值。

您还可以调用 OLE DB、开放式数据库连接 (ODBC) 和 DB-Library 函数来更改数据包大小。

network packet size 选项是一个高级选项。如果使用 sp_configure 系统存储过程来更改该设置,则只有在 show advanced options 设置为 1 时才能更改 network packet size。更改此设置后,所有新连接都接收新值。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页