日期:2014-05-17  浏览次数:20485 次

SQL server 2005还原数据库失败
   之前的小的数据库还原都没有问题,现在手头有个3G多的数据库,就还原不了了。报错情况如下:




标题: Microsoft SQL Server Management Studio
------------------------------

还原 对于 服务器“yjm”失败。  (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476

------------------------------
其他信息:

System.Data.SqlClient.SqlError: 尝试扩展物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足。)。 (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476

------------------------------
按钮:

确定
------------------------------



主要情况还是:磁盘空间不足。
我不知道怎么处理,我的几个硬盘可使用量都大于数据库大小的。
数据文件和日志文件我放的F盘,还有22G。
C盘还有5G多,求大侠帮忙

------解决方案--------------------
如果你还原后的数据库文件所在的磁盘空间不足

你可以用下面的语句查询还原的数据库有多少个文件,这些文件有多大,还原后文件会放到那个磁盘上

restore filelistonly from disk='c:\备份文件名.bak'

如果你要把数据文件放到其他空间足够的磁盘上,使用 move 选项来改变还原后的文件位置,示例

restore database 库名 from disk='c:\备份文件名.bak'

with move '逻辑文件名' to 'c:\aa.mdf'  --逻辑文件名可以用restore filelistonly 查询,c:\aa.mdf是逻辑文件名还原后的位置及文件名

如果你确定你的磁盘空间足够,则可能是分区格式的问题,对于FAT32/16的分区格式,它们支持的最大文件大小为4G/2G,你可以把分区格式转换为NTFS来解决

 

FAT32转NTFS的方法:
不需要格式化,运行:输入命令convert c:/fs:ntfs
其中,c为盘符
只要这样就可以把文件系统重FAT32转NTFS了!