CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

数据库恢复出错!请高手解答

楼主xiaofhua(小雨点)2003-08-02 20:06:16 在 MS-SQL Server / 应用实例 提问

恢复备份数据库,提示出错。  
  RESTORE   DATABASE   testdb  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
        WITH   MOVE   'testdb_Data'   TO   'd:\dbdata\testdb_data.mdf',  
        MOVE   'testdb_Log'   TO   'd:\dblog\testdb_log.mdf'  
  (服务器:   消息   5149,级别   16,状态   1,行   3  
  试图扩大物理文件时,MODIFY   FILE   遇到操作系统错误   112(磁盘空间不足。)。  
  服务器:   消息   3158,级别   16,状态   1,行   3  
  未能创建一个或多个文件。请考虑使用   WITH   MOVE   选项来标识有效位置。  
  服务器:   消息   3013,级别   16,状态   1,行   3  
  RESTORE   DATABASE   操作异常终止。)  
  磁盘空间10G以上,绝对不会是空间不足。  
  请问各位GGMM,有没有解决方案呀。  
  万分感谢!  
  问题点数:0、回复次数:16Top

1 楼zjcxc(邹建)回复于 2003-08-02 20:08:59 得分 0

你的磁盘空间不够啊.  
   
  恢复到另一个盘试试,日志文件名最好取默认的.ldf  
  RESTORE   DATABASE   testdb  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
        WITH   MOVE   'testdb_Data'   TO   'c:\dbdata\testdb_data.mdf',  
        MOVE   'testdb_Log'   TO   'c:\dblog\testdb_log.ldf'Top

2 楼xiaofhua(小雨点)回复于 2003-08-02 20:15:39 得分 0

我试过每个磁盘了,都是一样的提示,并且尝试在其他机器上恢复,提示同样的错误。  
  RESTORE   DATABASE   testdb  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
        WITH   MOVE   'testdb_Data'   TO   'd:\dbdata\testdb_data.mdf',  
        MOVE   'testdb_Log'   TO   'd:\dblog\testdb_log.ldf'(输错了而已)Top

3 楼zjcxc(邹建)回复于 2003-08-02 20:32:56 得分 0

不会是你的备份文件遭到了破坏吧?  
   
  try:  
  RESTORE   filelistonly  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
   
  检查一下,size的值是多少,是否过大.Top

4 楼xiaofhua(小雨点)回复于 2003-08-02 22:02:33 得分 0

数据文件: 4505862144 35184372080640  
  日志文件: 1511325696 35184372080640  
  我备份时选择了检查数据库备份的完整性,没有问题的,何况我的数据库也在正常使用的呀。  
  Top

5 楼pengdali()回复于 2003-08-02 22:12:59 得分 0

drop   database   testdb  
  go  
   
  RESTORE   DATABASE   testdb  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
        WITH   MOVE   'testdb_Data'   TO   'd:\dbdata\testdb_data.mdf',  
        MOVE   'testdb_Log'   TO   'd:\dblog\testdb_log.mdf'  
  goTop

6 楼zjcxc(邹建)回复于 2003-08-02 22:16:27 得分 0

何况我的数据库也在正常使用的呀。  
   
  那就是说你在当前使用的数据库中还原啦.  
   
  那要用:  
  RESTORE   DATABASE   testdb  
        FROM   DISK   =   'd:\testdb200307310000.BAK'  
        WITH   MOVE   'testdb_Data'   TO   'c:\dbdata\testdb_data.mdf',  
        MOVE   'testdb_Log'   TO   'c:\dblog\testdb_log.ldf'  
        ,REPLACE       --覆盖当前的数据库.Top

7 楼xiaofhua(小雨点)回复于 2003-08-02 22:22:59 得分 0

我是在已经删除了数据库后,执行的语句。  
  并且使用企业管理器的恢复数据库功能也是一样的结果。  
  数据库一直都在使用状态,我尝试备份了多个文件都不能恢复。  
  Top

8 楼pengdali()回复于 2003-08-02 22:37:44 得分 0

1、删除了数据库  
   
  2、右键数据库-->所有任务-->还原数据库-->写入你想要的新的数据库名字-->从设备-->选择设备-->添加-->选择你的文件-->确定-->确定-->选项-->改为现在的data目录的路径-->OK  
   
  其中:  
  "写入名字"-->不要与现在的冲突了,或选强制恢复  
  "改为现在的data目录的路径"-->如默认是"c:\....data\....mdf"而你现在的sql的data目录是d:\....data你就改为d:\...data\...mdfTop

9 楼xiaofhua(小雨点)回复于 2003-08-02 22:37:53 得分 0

可能我表达错了吧。  
  数据库是公司服务器上的,我备份了一份,在我本机及其他人的机器上进行恢复。  
  我的机器上是没有这个数据库的。  
  我也尝试过新建该数据库,然后再覆盖。都是有问题的。  
  开始我也以为是备份文件有问题,又重新备份了,但还是一样。  
  我又找到7月30号晚上的备份文件,恢复成功了。但是从8月1号开始的备份就不能恢复了。  
  如果说数据库物理文件损坏,为什么还能正常运行呢?太奇怪了。  
  Top

10 楼zjcxc(邹建)回复于 2003-08-02 22:40:02 得分 0

这真是一个奇怪的问题.Top

11 楼xiaofhua(小雨点)回复于 2003-08-02 22:59:03 得分 0

我检查过7月30日17点到7月31日0点的SQLSERVER日志,并没有做什么操作。但是为什么过了7个小时后的数据就不一样了呢?  
  经理逼着这两天解决,实在没办法了。万一数据库坏了,就没的救了。  
  大家帮我想想办法呀。  
   
  Top

12 楼zjcxc(邹建)回复于 2003-08-02 23:09:30 得分 0

试试这个办法,直接复制数据库的两个文件,在你的电脑上附加数据库,看能否加得上去.如果没有问题.再在你的电脑上做备份/还原试试.Top

13 楼pengdali()回复于 2003-08-02 23:16:24 得分 0

拷贝你的data目录下的数据库文件,步骤:  
   
          停止sql服务或脱机-->拷贝你的data目录下的数据库文件  
   
  粘贴你的数据库文件到目标机上,步骤:  
   
          右键数据库-->所有任务-->附加数据库Top

14 楼pengdali()回复于 2003-08-02 23:16:35 得分 0

EXEC   sp_attach_db   @dbname   =   N'pubs',    
        @filename1   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf',    
        @filename2   =   N'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs_log.ldf'  
  Top

15 楼xiaofhua(小雨点)回复于 2003-08-03 20:27:45 得分 0

我的问题终于找到原因了。  
  我把数据库MDF文件COPY到我机器上,也是提示磁盘空间已满。后来我把这个文件压缩后COPY到本机,然后在解压缩。得到提示:只有NTFS文件系统才支持大于4G的文件。  
  原来FAT32格式不支持超过4G的文件,而我们公司的数据库已经有差不多5G了。  
  我使用NTFS格式的磁盘成功恢复了数据库。  
  谢谢各位!希望以后多多交流。  
   
  troublemaker015---太可恶了!版主一定要制止他呀!Top

相关问题

  • 数据库恢复出错?急
  • 数据库恢复时出错
  • 数据库转换出错,在线等解答,帮帮我吧!
  • 两种方式创建数据库出错,请高手解答
  • 用RESTORE DATABASE 语句恢复数据库时出错
  • 数据库恢复出错,大家帮我看看
  • 附加数据库出错,日志不全,怎么恢复?急!!
  • 数据库出错
  • 数据库出错
  • 数据库出错

关键词

  • 数据库
  • 文件
  • 服务器
  • database
  • testdb
  • 备份
  • mdf
  • dbdata
  • 恢复
  • dblog

得分解答快速导航

  • 帖主:xiaofhua

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo