除了建议升级到“真实”数据库之外,真的没有办法回答这个问题。话虽如此,如果单用户数据库达到 4GB 而没有保存大blob
的 s,那么您正在做一些不寻常的事情。
编辑
许多人忽略考虑的一件事是 SQL Server Express 版本的 RAM 和 CPU 限制。虽然 2008 年及之前的数据库大小限制为 4GB(2008 R2 为 10GB,如本问题的评论中所指出的那样),但您更有可能受到 1GB RAM 和单 CPU 限制的负面影响,尤其是对于数据集这么大。
归档(几乎)从来都不是一个简单的解决方案,因为这通常涉及破坏现有关系或复制数据。例如,假设我有一个Customer
s 和Order
s 的数据库。
Order
Customer ----------
--------- OrderID
CustomerID <--- CustomerID
... ...
这里的自然选择是在两列之间创建一个外来 hey CustomerID
,使其在Order
表中不可为空。但是当我想归档订单时会发生什么?要么我必须打破存档数据库中的关系(允许它链接到CustomerID
存档数据库中不存在的关系),要么我必须复制数据(存档链接的Customer
记录,同时仍将其保留在实时数据库中)。从维护的角度来看,这两种选择都不是特别理想的。