SQL SERVER中一张表最大可以多少条记录?如果记录达到最大,怎么处理?

时间:2023-02-09 23:22:30
SQL SERVER中一张表最大可以多少条记录?如果记录达到最大,怎么处理?

9 个解决方案

#1


SQL SERVER中一张表最大记录数应该没有限制,他受物理存储空间的限制!!

#2


理论上来说是没有限制的  要看你硬件了

#3


木有限制

#4


你想那么多干什么?

理论上来说是有限制的,实际上看你的存储空间。

你要是非要知道点什么,看看下面(格式有点乱,凑合着看吧)

最大容量说明
第一个表说明对于所有 Microsoft? SQL Server? 2000 版本都相同的最大容量。第二个和第三个表说明因 SQL Server 2000 的版本和操作系统的不同而异的容量。

下表说明在 Microsoft SQL Server 数据库中定义的,或在 Transact-SQL 语句中引用的各种对象的最大值(数量或大小)。下表不包含 Microsoft? SQL Server 2000? Windows? CE 版。

  最大值(数量或大小) 
对象 SQL Server 7.0 SQL Server 2000 
批处理大小 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1 
每个短字符串列的字节数 8,000 8,000 
每个 text、ntext、或 image 列的字节数 2 GB-2 2 GB-2 
每个 GROUP BY、ORDER BY的字节数 8,060   
每个索引中的字节数 900 9002 
每个外键的字节数 900 900 
每个主键的字节数 900 900 
每行字节数 8,060 8,060 
存储过程源文本中的字节数 批处理大小之较小者或者 250 MB 批处理大小之较小者或者 250 MB 
每个数据表的聚集索引数 1 1 
GROUP BY、ORDER BY 中的列数 只受字节数限制  
GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 10  
每个索引的列数 16 16 
每个外键的列数 16 16 
每个主键的列数 16 16 
每个基础数据表的列数 1,024 1,024 
每个SELECT 语句的列数 4,096 4,096 
每个INSERT 语句的列数 1,024 1,024 
每个客户端的连接个数 已配置连接的最大值 已配置连接的最大值 
数据库大小 1,048,516 TB3 1,048,516 TB3 
每个 SQL Server 实例的数据库个数 32,767 32,767 
每个数据库的文件组个数 256 256 
每个数据库的文件个数 32,767 32,767 
文件大小(数据) 32 TB 32 TB 
文件大小(日志) 4 TB 32 TB 
每个数据表的外键表引用 253 253 
标识符长度(以字符计) 128 128 
每台计算机的实例数 暂缺 16 
包含 SQL 语句的字符串长度(批处理大小) 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1 
每个连接的锁数 每个服务器的最大锁数 每个服务器的最大锁数 
每个 SQL Server 实例的锁数 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 
嵌套存储过程层数 32 32 
嵌套子查询 32 32 
嵌套触发器层数 32 32 
每个数据表的非聚集索引个数 249 249 
SQL Server 实例中同时打开的对象个数4 2,147,483,647(或可用内存) 2,147,483,647(或可用内存) 
每个数据库中的对象个数 2,147,483,6474 2,147,483,6474 
每个存储过程的参数个数 1,024 1,024 
每个数据表的 REFERENCE 个数 253 253 
每个数据表的行数 受可用存储资源限制 受可用存储资源限制 
每个数据库的数据表个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 
每个 SELECT 语句的数据表个数 256 256 
每个数据表的触发器个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 
每个数据表的 UNIQUE 索引个数或约束个数 249个非聚集索引和 1 个聚集索引 249个非聚集索引和 1 个聚集索引 


1 网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。
2 在 SQL Server 2000 中,任何键的最大字节数不能超过 900。可以使用可变长度的列来定义键,只要在这种列中不插入数据超过 900 字节的行,其最大大小就可以在 900 以上。有关更多信息,请参见索引键的最大值。
3 当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 1.0 时,数据库的大小不能超过 2 GB。
4数据库对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。一个数据库中所有对象的总数不得超过 2,147,483,647。 

#5


这个你就不用理了吧

#6


一般来说是足够使用了,除非你的表中定义了多个类似于这样的字段varchar(8000),nvarchar(4000),那一行的的限制肯定是不够的,所以可以考虑将这些字段转换为大二进制对象!

#7


不知道,lz思想好奇怪

#8


楼上的都能把 发表于:2005-12-27 14:29:14的帖子翻出来,而且还是没有结贴的,..............

#9


哦...

#1


SQL SERVER中一张表最大记录数应该没有限制,他受物理存储空间的限制!!

#2


理论上来说是没有限制的  要看你硬件了

#3


木有限制

#4


你想那么多干什么?

理论上来说是有限制的,实际上看你的存储空间。

你要是非要知道点什么,看看下面(格式有点乱,凑合着看吧)

最大容量说明
第一个表说明对于所有 Microsoft? SQL Server? 2000 版本都相同的最大容量。第二个和第三个表说明因 SQL Server 2000 的版本和操作系统的不同而异的容量。

下表说明在 Microsoft SQL Server 数据库中定义的,或在 Transact-SQL 语句中引用的各种对象的最大值(数量或大小)。下表不包含 Microsoft? SQL Server 2000? Windows? CE 版。

  最大值(数量或大小) 
对象 SQL Server 7.0 SQL Server 2000 
批处理大小 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1 
每个短字符串列的字节数 8,000 8,000 
每个 text、ntext、或 image 列的字节数 2 GB-2 2 GB-2 
每个 GROUP BY、ORDER BY的字节数 8,060   
每个索引中的字节数 900 9002 
每个外键的字节数 900 900 
每个主键的字节数 900 900 
每行字节数 8,060 8,060 
存储过程源文本中的字节数 批处理大小之较小者或者 250 MB 批处理大小之较小者或者 250 MB 
每个数据表的聚集索引数 1 1 
GROUP BY、ORDER BY 中的列数 只受字节数限制  
GROUP BY WITH CUBE 或 WITH ROLLUP 语句中的列数或表达式数目 10  
每个索引的列数 16 16 
每个外键的列数 16 16 
每个主键的列数 16 16 
每个基础数据表的列数 1,024 1,024 
每个SELECT 语句的列数 4,096 4,096 
每个INSERT 语句的列数 1,024 1,024 
每个客户端的连接个数 已配置连接的最大值 已配置连接的最大值 
数据库大小 1,048,516 TB3 1,048,516 TB3 
每个 SQL Server 实例的数据库个数 32,767 32,767 
每个数据库的文件组个数 256 256 
每个数据库的文件个数 32,767 32,767 
文件大小(数据) 32 TB 32 TB 
文件大小(日志) 4 TB 32 TB 
每个数据表的外键表引用 253 253 
标识符长度(以字符计) 128 128 
每台计算机的实例数 暂缺 16 
包含 SQL 语句的字符串长度(批处理大小) 65,536 * 网络数据包大小1 65,536 * 网络数据包大小1 
每个连接的锁数 每个服务器的最大锁数 每个服务器的最大锁数 
每个 SQL Server 实例的锁数 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 2,147,483,647(静态)
SQL Server 40% 的内存(动态) 
嵌套存储过程层数 32 32 
嵌套子查询 32 32 
嵌套触发器层数 32 32 
每个数据表的非聚集索引个数 249 249 
SQL Server 实例中同时打开的对象个数4 2,147,483,647(或可用内存) 2,147,483,647(或可用内存) 
每个数据库中的对象个数 2,147,483,6474 2,147,483,6474 
每个存储过程的参数个数 1,024 1,024 
每个数据表的 REFERENCE 个数 253 253 
每个数据表的行数 受可用存储资源限制 受可用存储资源限制 
每个数据库的数据表个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 
每个 SELECT 语句的数据表个数 256 256 
每个数据表的触发器个数 受数据库中的对象个数限制4 受数据库中的对象个数限制4 
每个数据表的 UNIQUE 索引个数或约束个数 249个非聚集索引和 1 个聚集索引 249个非聚集索引和 1 个聚集索引 


1 网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。
2 在 SQL Server 2000 中,任何键的最大字节数不能超过 900。可以使用可变长度的列来定义键,只要在这种列中不插入数据超过 900 字节的行,其最大大小就可以在 900 以上。有关更多信息,请参见索引键的最大值。
3 当使用 SQL Server 2000 Desktop Engine 或 Microsoft 数据引擎 (MSDE) 1.0 时,数据库的大小不能超过 2 GB。
4数据库对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。一个数据库中所有对象的总数不得超过 2,147,483,647。 

#5


这个你就不用理了吧

#6


一般来说是足够使用了,除非你的表中定义了多个类似于这样的字段varchar(8000),nvarchar(4000),那一行的的限制肯定是不够的,所以可以考虑将这些字段转换为大二进制对象!

#7


不知道,lz思想好奇怪

#8


楼上的都能把 发表于:2005-12-27 14:29:14的帖子翻出来,而且还是没有结贴的,..............

#9


哦...