SQL Server 最多可以有多少张表

来源:互联网 发布:php汉字转unicode编码 编辑:程序博客网 时间:2024/04/30 00:10

     平时的项目很少会涉及这个问题,一般数据表结构建立以后,就基本固定了,大部分增长的都是行数据。但是当系统在某种情况下需要不断动态的增加表的时候,就会涉及到一个数据库最多可以有多少张表格。一般这种情况会出现在集团系统或者一些需要将用户数据分离的web系统中。

     那么一张SQL server中最多到底可以有多少张表呢,在SQL server2008 R2的官方文档中, 是这么说的

 

     Tables per database

     32bit: Limited by number of objects in a database

     64bit: Limited by number of objects in a database

 

    就是说取决于数据库中对象数的限制,那么如何解释这个对象数的限制呢?

    Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. The sum of the number of all objects in a database cannot exceed 2,147,483,647.

 

    数据库对象包含了表,视图,存储过程,自定义函数,触发器,规则,默认值,以及约束等。这个数据的总和不能超过 2,147,483,647.也就是说,所有的数据对象加在一起不能超过有符号整数的正数范围。

    由此,也就是说,数据库要支持个20多亿个数据对象,那么如果不是给每个列都设上默认值的话,要创建个几亿个表应该都说不成什么问题。所以在一般的情况下,我们也就可以理解SQL server对表的创建数量是没有限制的。

 

    另外,附一下SQL server中最大值说明的情况,msdn上写的都很清楚

    http://msdn.microsoft.com/en-us/library/ms143432.aspx