无法在SQL Server Express上还原备份

时间:2012-09-19 15:38:58

标签: sql-server-2008

我有一个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。

2 个答案:

答案 0 :(得分:4)

(1)您似乎正在尝试在SQL Server 2005的实例上还原SQL Server 2008 R2数据库。您不能那样倒退。

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

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

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

如果您的数据文件当前是&gt; 10GB但是有&lt;其中有10GB的数据,你可以:

  • 在源实例中(或在没有此限制的情况下附加到其他版本之后),因为看起来数据远远少于10GB,使用DBCC SHRINKFILE将数据文件大小减小到小于10GB。
  • 进行另一次备份
  • 继续附加到Express

答案 1 :(得分:1)

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

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

尝试升级到SQL Server 2008 R2 Express。