我服务器上(2003操作系统,企业版SQL2000)的Sql2000数据库日志文件时10G左右,备份完后是90多M,但是将其在我电脑上(Xp系统,个人版SQL2000)还原却还原不上去,提示错误“试图扩大物理文件时,Modify File遇到操作系统错误112(磁盘空间不足),未能调整数据日志文件的空间分配。Restore Database操作异常停止”,我的磁盘空间还有80多G,这是为什么?请高手指点,谢谢。。。
我该怎么做才可以还原上去?又解决的办法吗? 同样的数据库只是数据量小的时候就可以还原没问题,只是这次数据量产生的多量大才导致还原不上去的,应该跟文件系统没关系的吧。。。
这个问题是由于你在备份的时候,数据库日志文件处于未截断,未收缩状态,即使备份完后达到90M,但还原后仍然为10G.所以你在做备份前,应该首先做下日志备份,截断其中的日志,然后手动收缩数据库,将其日志文件的未使用空间释放,最后在备份数据库。这样你还原后,其日志文件也不会很大。
你的空间虽然剩余80G,但这80G应该要存放还原后的数据文件和日志文件,所以通过缩小日志文件是解决方法之一。
还有如果没办法做到上面的步骤,可以用移动硬盘挂载,在还原的时候,在选项里把日志文件还原到移动硬盘上,还原好后,在收缩数据库日志文件,然后分离数据库,把日志文件copy到你的硬盘,再重新附加上即可。
参考知识1
这个问题很有可能是文件系统的问题,
你看看你XP电脑上面,放数据库文件(MDF文件)的那个盘的文件系统是什么?
NTFS,应该没有问题,如果是FAT/FAT32,肯定不行。
可以用CONVERT volume /FS:NTFS [/V]
修改文件系统。
FAT32支持的单个文件最大只有2G,超过了就会报空间不足,你看你的数据库文件是不是超过2G啦。
如果是FAT32分区,你转成NTFS分区应该就可以还原了。
参考知识B
因为你XP系统上的数据库设备大小不够