SQL Server版本中的最大表(对象)数(紧凑,快速)

时间:2012-01-09 09:41:11

标签: sql-server sql-server-ce-4 sql-server-2008r2-express

您可以拥有的最大表数是多少:

  • SQL CE4
  • SQL 2008 R2 Express

这里的数字http://msdn.microsoft.com/en-us/library/ms143432.aspx我想是针对SQL Server 2008,但它们对Express有效吗?SQL CE4怎么样?

  

数据库中所有对象的总和不能超过2,147,483,647

顺便说一句。抱歉duplicating questions,但在我看来Stackoverflow正在更快地提供答案。

3 个答案:

答案 0 :(得分:1)

没有关于CE的说法,但Express是正常的SQL Server +数据库大小和内存/处理器限制....如果您可以将yoru表放入大小,则适用正常的SQL Server限制。

答案 1 :(得分:1)

SQL Server Compact 3.5限制在这里: http://msdn.microsoft.com/en-us/library/ms172451%28v=SQL.105%29.aspx但是每个表只指出1024列,没有特定的表限制。

SQL Server Express与普通的SQL Server相同,正如TomTom指出的那样,它只受内存,处理器和数据库大小的限制,SQL Server Express版本的限制是:

  • 约束到单个CPU
  • 1GB RAM
  • 10GB数据库大小(SQL 2008 R2 Express之前的版本为4GB)

否则快速版是标准的,这是为了允许数据库移入和移出SQL Server Standard到SQL Server Express,这有助于系统开发。因此,对于SQL Express,它仍然是The sum of the number of all objects in a database cannot exceed 2,147,483,647

正如我在评论中所说,if you're doing anything that gets close to hitting these numbers you should really look at your DB design process, if they're being automatically generated then consider not partitioning into so many tables.

我的意思是你应该根据其他要求选择你的SQL Server版本,如果假设SQL CE限制为256个表(不是说它确实如此,因为我找不到这样的东西,并且它更有可能至少超过1024),并说你需要500个表。然后看看你的一些表的非规范化,或者那时你真的需要升级到你的程序包括SQL Express(这只会使你的软件部署过程复杂化,而不是更多)。

我没有SQL CE avail atm,但最简单的方法是让测试运行并生成10k创建表语句,每个表有20多列。如果您的要求大于此要求,那么只需使用您知道的数字。

最后,有一个你没有问过的SQLite,再没有关于此的文档,但我怀疑它可能是64k +但你只限于一个连接中的64个表。

答案 2 :(得分:0)

对于SQLCe4,我收到了回复:

  

表的数量没有限制,但我们的限制为4GB   文件大小。