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

还原备份的数据库,出错!!!

楼主AAsx(arbiter)2004-09-03 09:47:22 在 MS-SQL Server / 基础类 提问

 
  请看下面的错误信息:  
   
  http://test.zsonline.com/lsf$/sql_help.gif  
   
  真是祸不单行,以为备份了数据库应该就能还原了,结果不是那么回事。。  
  请会的帮帮我!!很惨啊,现在公司里催得要命。  
   
   
  问题点数:100、回复次数:7Top

1 楼pbsql(风云)回复于 2004-09-03 09:50:04 得分 20

已经提示了要提供2个Top

2 楼zjcxc(邹建)回复于 2004-09-03 09:51:12 得分 10

/*--备份/恢复测试  
   
  SQL恢复时。提示媒体有2个家族成员。现在只提供了1个。数据备份不能恢复  
   
  --*/  
  --下面是对这个问题的测试  
   
  --1.创建测试的数据库  
  create   database   test  
  go  
   
  --2.备份数据库(注意,我指定了两个备份文件)  
  backup   database   test   to   disk='c:\a1.bak',disk='c:\a2.bak'   with   init  
  go  
   
  --3.删除测试的数据库  
  drop   database   test  
  go  
   
  --4.恢复数据库(第一次,我只提供一个备份文件)  
  restore   database   test   from   disk='c:\a1.bak'  
  go  
   
  --5.查询是否恢复了  
  select   *   from   master..sysdatabases   where   name='test'  
  go  
   
  --上面的恢复会出错,也看不到恢复的数据库.  
  --6.下面是正确的恢复方法  
  restore   database   test   from   disk='c:\a1.bak',disk='c:\a2.bak'  
  go  
   
  --7.查询是否恢复了  
  select   *   from   master..sysdatabases   where   name='test'  
  go  
   
  --8.删除测试数据库  
  drop   database   test  
   
  /*--下面是测试结果  
   
  --1.创建数据库的提示信息:  
   
  CREATE   DATABASE   进程正在磁盘   'test'   上分配   0.88   MB   的空间。  
  CREATE   DATABASE   进程正在磁盘   'test_log'   上分配   0.49   MB   的空间。  
  已处理   112   页,这些页属于数据库   'test'   的文件   'test'(位于文件   1   上)。  
  已处理   1   页,这些页属于数据库   'test'   的文件   'test_log'(位于文件   1   上)。  
   
  --2.备份数据库的提示信息  
   
  BACKUP   DATABASE   操作成功地处理了   113   页,花费了   0.180   秒(5.108   MB/秒)。  
   
   
  --3.删除数据库的提示信息  
   
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test_log.LDF'。  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test.mdf'。  
   
   
  --4.不正确恢复的提示信息  
   
  服务器:   消息   3132,级别   16,状态   1,行   3  
  数据库   'test'   的媒体集有   2   个家族成员,但只提供了   1   个。必须提供所有的成员。  
  服务器:   消息   3013,级别   16,状态   1,行   3  
  RESTORE   DATABASE   操作异常终止。  
   
   
  --5.查询是否恢复了的结果  
   
  name     dbid       sid                                                                                                                           mode       status       status2           crdate                                           reserved                                     category       cmptlevel     filename                                                                                                         version    
  -----   ------   ---------------------------------------------------------------   ------   --------   -----------   --------------------------   -------------------------   ----------   ----------   -----------------------------------------------------------   --------  
   
  (所影响的行数为   0   行)  
   
   
  --6.正确恢复的提示信息  
   
  已处理   112   页,这些页属于数据库   'test'   的文件   'test'(位于文件   1   上)。  
  已处理   1   页,这些页属于数据库   'test'   的文件   'test_log'(位于文件   1   上)。  
  RESTORE   DATABASE   操作成功地处理了   113   页,花费了   0.186   秒(4.943   MB/秒)。  
   
   
  --7.查询是否恢复了的结果  
  name     dbid       sid                                                                                                                           mode       status       status2           crdate                                           reserved                                     category       cmptlevel     filename                                                                                                         version    
  -----   ------   ---------------------------------------------------------------   ------   --------   -----------   --------------------------   -------------------------   ----------   ----------   -----------------------------------------------------------   --------  
  test     11           0x01050000000000051500000007E53B2B54190E2943170A32F4010000             0             16               1090519040     2003-12-31   16:35:03.673         1900-01-01   00:00:00.000         0                   80                   d:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test.mdf       539  
   
  (所影响的行数为   1   行)  
   
   
  --8.删除数据库的提示信息  
   
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test_log.LDF'。  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test.mdf'。  
  --*/Top

3 楼zjcxc(邹建)回复于 2004-09-03 09:53:15 得分 20

 
  出现这种情况,说明你备份的时候指定了两个备份文件  
  这样,sql在做备份的时候,把数据库的内容分拆写到这两个备份文件中  
  所以恢复的时候也必须指定这两个备份文件才能恢复  
  因为一个备份文件中包含数据库中的一部分内容Top

4 楼pbsql(风云)回复于 2004-09-03 09:54:15 得分 20

备份时若指定了两个备份文件,那么恢复时也必须指定这两个备份文件  
   
  备份时只指定一个备份文件就是了  
  Top

5 楼cqdj(快乐的游民)回复于 2004-09-03 09:57:37 得分 0

没有其他的办法,只有重新备份恢复,如果没有原库回一个文件的备份,将是一件比较遗憾的事Top

6 楼renliquan(狗狗)回复于 2004-09-03 10:13:41 得分 0

(邹建)的确是个即历害,又热心的人。  
   
  我支持你!  
   
  我来学习一下:  
  if   exists   (select   *   from   master..sysdatabases   where   name='test')  
  Drop   Database   test  
  go  
   
  Create   Database   test  
  go  
   
  backup   Database   test   to   disk='c:\test1.bak',disk='c:\test2.bak'  
  go  
   
  Drop   Database   test  
  go  
   
  Restore   Database   test   from   disk='c:\test1.bak',disk='c:\test2.bak'  
  go  
   
  select   *   from   master..sysdatabases   where   name='test'  
   
  提示信息:  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test_Log.LDF'。  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test_Data.MDF'。  
  CREATE   DATABASE   进程正在磁盘   'test'   上分配   0.75   MB   的空间。  
  CREATE   DATABASE   进程正在磁盘   'test_log'   上分配   0.49   MB   的空间。  
  已处理   96   页,这些页属于数据库   'test'   的文件   'test'(位于文件   2   上)。  
  已处理   1   页,这些页属于数据库   'test'   的文件   'test_log'(位于文件   2   上)。  
  BACKUP   DATABASE   操作成功地处理了   97   页,花费了   0.307   秒(2.568   MB/秒)。  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test_log.LDF'。  
  正在删除数据库文件   'd:\Program   Files\Microsoft   SQL   Server\MSSQL\data\test.mdf'。  
  已处理   104   页,这些页属于数据库   'test'   的文件   'test_Data'(位于文件   1   上)。  
  已处理   1   页,这些页属于数据库   'test'   的文件   'test_Log'(位于文件   1   上)。  
  RESTORE   DATABASE   操作成功地处理了   105   页,花费了   0.094   秒(9.085   MB/秒)。  
   
  (所影响的行数为   1   行)Top

7 楼feeling_68(随风)回复于 2004-09-03 10:43:01 得分 30

http://study.99net.net/study/database/mssql/1085625465.html  
  希望能对你有用:)Top

相关问题

  • 急:SQL SERVER2000数据库备份出错
  • 急等,数据库备份时出错!
  • 如何还原数据库备份?
  • 如何备份和还原数据库
  • 如何备份和还原数据库
  • 数据库的备份和还原?
  • 数据库备份还原问题
  • 远程备份(还原)SQL2000数据库
  • 求救 数据库备份和还原
  • 数据库备份和还原问题

关键词

  • 数据库
  • 文件
  • mssql
  • database
  • 查询
  • 测试
  • program
  • 备份
  • 删除
  • 恢复

得分解答快速导航

  • 帖主:AAsx
  • pbsql
  • zjcxc
  • zjcxc
  • pbsql
  • feeling_68

相关链接

  • SQL Server类图书

广告也精彩

反馈

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