当您达到SQL Server Express 4GB / 10GB限制时会发生什么?

时间:2010-07-01 15:14:31

标签: sql database sql-server-express

发生了什么样的错误?用户体验到了什么?您是否可以使用工具访问数据库?如果您在4GB / 10GB限制下恢复,该怎么办?

7 个答案:

答案 0 :(得分:13)

据我了解,您将开始在事件日志中看到异常消息,例如:

  

无法为数据库'[数据库]'中的对象'dbo。[table]'分配空间,因为   'PRIMARY'文件组已满。通过删除不需要的文件来创建磁盘空间,   删除文件组中的对象。

如果可以减小数据库的大小,则可以像以前一样继续添加。无论数据库大小如何,工具都应继续工作。

希望这有帮助!

答案 1 :(得分:8)

为时已晚,但我测试了它。每个数据库的SQL Express 2008 R2的最大大小为10240 MB。在我达到之后,我在插入时遇到了这个错误:

  

无法为对象'TableName'分配空间。'PK_Nme'在数据库'DBName'中,因为'PRIMARY'文件组已满。通过删除不需要的文件,删除文件组中的对象,向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。

在此之后我重新启动SQL服务,它停止并启动没有问题。我仍然可以运行Select,更新删除命令。 (我测试了更新命令并且它成功了,但我认为如果你更新到更大的东西它可能会抛出错误!)

答案 2 :(得分:4)

您可能会看到如下错误:

  

创建数据库或更改数据库   失败,因为结果   累积数据库大小将超过   您的许可限制为每个4096 MB   数据库中。

或者这个:

  

无法为对象分配空间   'dbo.buyspace'。 'PK__buyspace__4B5BD7F83A81B327'   在数据库'WAYTOOBIG'因为   'PRIMARY'文件组已满。创建   删除不需要的文件,磁盘空间,   删除文件组中的对象,   添加其他文件到   文件组,或设置自动增长   对于文件组中的现有文件。

这是我们的错误日志。

答案 3 :(得分:3)

用户体验到应用程序无法正常工作,通常从出现过高的奇怪错误开始。

任何基于Express构建的应用都应该作为其初始规划的一部分 - 我们如何保持规模下降。计划 - 我们会在任何时候都担心它,直到有人不得不支付许可证费用。这通常是经过大量的挫折,停工,调试,有人认为问题是一个完整的驱动器,其他人认为这是新的代码发布等,挫折等等,用户花了一些时间寻找另一个供应商谁可以提前计划。我确信这正是你在做什么的。 首先考虑您的用户,感谢您!!!!!!!!!

答案 4 :(得分:2)

增加大小的操作将失败,例如Insert,Update。您仍然可以访问数据库并对其进行维护以恢复大小。

我会设置一些维护作业,在数据库达到此大小之前提醒您,以防止任何数据丢失。

答案 5 :(得分:2)

可能您将无法再插入任何数据,但您可以选择。

答案 6 :(得分:1)

如果我没记错的话,当它发生在我们身上时,数据库就停止了。我们必须做一个备份来清理足够的空间以进入并解决问题。

您可能想知道SQL Server 2008 Express R2现在有10GB的限制,因此可能值得升级。