0

我有一个 SQL 数据库的备份,它是 409 MB。

当我尝试恢复时,它说:

服务器“SPLYF-R3K8G8JL2\SQLEXPRESS”的恢复失败。(Microsoft.SqlServer.Express.Smo)

如需帮助,请点击:http: //go.microsoft.com/fwlink ?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID =Restore+Server&LinkId=20476

CREATE DATABASE 或 ALTER DATABASE 失败,因为生成的累积数据库大小将超过每个数据库 4096 MB 的许可限制。

4

2 回答 2

4

(1) 似乎您正试图在 SQL Server 2005 实例上恢复 SQL Server 2008 R2 数据库。您不能那样倒退。

(2) SQL Server 2005 Express 的每个数据库有 4GB 的限制。对于 2008 R2,限制为 10GB。

(请注意,备份文件的大小不一定是数据库的大小。备份文件不包括空白空间,因此如果您的 MDF 大于 4GB(并且大部分为空),仍然会执行限制,因为限制是 on数据文件大小,而不是备份大小或实际数据。)

因此,解决方案是:安装 SQL Server 2008 R2 Express Edition,您应该能够在那里恢复您的数据库(假设它小于 10GB)。

如果您的数据文件当前 > 10GB 但其中有 < 10GB 的数据,您可以:

  • 在源实例中(或在没有此限制的情况下附加到不同版本之后),因为看起来数据远少于 10GB,所以使用 DBCC SHRINKFILE 将数据文件大小减小到小于 10GB。
  • 进行另一个备份
  • 继续附加到 Express
于 2012-09-19T15:41:19.767 回答
1

您确定您正在运行 SQL Server 2008 R2 Express 吗?

数据库备份经常被压缩:这个备份会创建一个大于 4 GB 的数据库,这是 SQL Server 2008 Express 和 SQL Server 2005 Express 的限制,这并不奇怪。

尝试升级到 SQL Server 2008 R2 Express。

于 2012-09-19T15:43:27.247 回答