我刚刚尝试从本地计算机上的备份恢复 250MB 的数据库,并收到以下消息:
TITLE: Microsoft SQL Server Management Studio Express
------------------------------
Restore failed for Server 'MULTIVIS-A0D9F3\SQLEXPRESS'. (Microsoft.SqlServer.Express.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: CREATE DATABASE or ALTER DATABASE failed because the resulting cumulative database size would exceed your licensed limit of 4096 MB per database. (Microsoft.SqlServer.Express.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
我的机器上有 3 个数据库,一个 ~4.1gb 数据库和另外两个每个 < 10mb 的数据库。所以我对这个错误进行了一些谷歌搜索,并看到了尝试缩小其他数据库以释放一些空间的建议。所以我对 4.1gb 数据库进行了此操作,现在当我转到该数据库的“属性”时,它显示它正在占用/使用 ~2.4gb。所以我想现在应该有空间了,但是每当我尝试恢复 ~250mb 数据库时,我仍然会收到上述错误消息。我也尝试过重新启动,但这没有帮助。
知道问题是什么吗?
答案1
当微软编写的软件有缺陷时,显然无法修复它。
答案2
我遇到了同样的错误,我的问题是备份数据库的初始大小为 4098mb(此数据库仅是 SQLExpress2005,因此不确定这是怎么发生的),但使用了 3000mb 的数据。(要查看该内容,请调出数据库的属性并转到文件,或者它也显示在“收缩”对话框中)
因此,备份尝试使用相同数量的未使用空间来恢复备份,但无法分配。对我来说,这是一个错误,因为使用的空间远低于限制大小,并且备份来自 SQLExpress2005 实例。
为了修复它,我必须缩小原始数据库并进行新的备份,然后我才能成功恢复它。您可能认为在恢复过程中可以设置或以某种方式修改备份文件,但我还没有找到任何东西。