东文网络  
     首页 焦点推荐 网站设计 网络安全 网站运营 经典网站 菜鸟学校 数字传媒 网站推广 搜索优化 域名拍卖 风云人物 电脑常识 电脑专家 专业建站 网店圈圈
 
  您现在的位置: 东文网络/网站设计/程序设计
SQL数据库崩溃后的补救措施
 
双击自动滚屏 发布者:东文网络 来源网络发布时间:2008-6-3

SQL Server 2000数据库崩溃后的补救措施: 
  案例描述: 
  SQL Server 2000数据库崩溃后,重装数据库前的准备: 
  1.三个系统库(master,msdb,model)的完全备份: 
  2.两个用户数据库(user01,user02)的备份(周日的完全备份+除周日外每天的差异备份): 
  三个系统数据库是早期备份的,之间没有更新过帐号信息,没有增减过饕档鹊取? 
  两个用户数据库在上周日晚做过完全备份(user01.bak和user02.bak) 
  需求:一次性恢复到用户数据库最后一个备份前的状态。 
  下文中,我们将介绍一下常规的恢复过程: 
  1. 备份可用的数据, 包含所有系统数据库和用户数据库的数据文件和日志文件(*.mdf/ldf/ndf) 
  2. 卸载原来的安装 
  3. 系统表查找和删除所有的MSSQLServer项 
  4. 磁盘上删除安装SQL SErver产生的所有文件 
   
  5. 重新安装SQL Server,所需安装的补丁的版本要求保持与备份系统数据库时安装的补丁版本一致 
   
  6. 单用户模式下恢复master数据库 
  7. 恢复其他系统数据库 
  8. 恢复用户数据库 
  此外,我们还可以尝试用下面的方法: 
  假如你的时间比较充裕,而且想尽量恢复数据到最近的时间点, 可以在上述步骤中做以下的尝试: 
  1. 首先,将第6,7两个步骤改为: 
  a. 停止MSSQL服务 
  b. 用步骤1备份的系统数据库的数据文件和日志文件替换安装后生成的系统数据库的对应文件 
  c. 建立与SQL Server系统崩溃之前一样的用户数据库的存放目录, 并且把用户数据库文件按原来的位置存放 
  d. 启动MSSQL服务 
  e. 如果MSSQL服务成功, 在企业管理看看用户数据库有没有置疑, 如果没有置疑, 则其他操作都不用做了, 数据已经恢复 
  注意事项: 
  在具体操作以上的步骤b之前, 先备份准备覆盖的文件。 
  2. 如果步骤1的尝试不成功, 则再做下面的尝试, 把步骤8修改为下面的: 
  a. 停止MSSQL服务 
  b. 用备份的文件还原被覆盖的文件 
  c. 尝试用附加的方式恢复用户数据库 
  d. 如果成功, 则修复各用户数据库中的孤立用户 
  恢复过程会涉及到的一些具体处理

1. 恢复系统数据库:  

  在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:  

  master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它  

  model-为新数据库提供模版和原型  

  msdb-包含了有关作业、报警及操作员等信息  

    

  假如包含系统数据库的介质已经改变,则必须重建系统数据库,如果你目前仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。  

  如果master坏了,不能启动系统,可以按照下面步骤进行恢复  

  (1)重建系统数据库 运行c:\MSSQL7\binn\rebuildm.exe,按照提示进行即可,  

  过程中需要系统数据库样本的路径,可在安装光盘中找到;  

    

  (2)重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库  

  就行了通常恢复顺序为master->msdb->model  

  在恢复master的备份时要注意:必须在单用户(single user)模式下进行  

  进入单用户模式的方法:  

  a. 在命令行模式下输入:sqlservr -c -f -m或者输入sqlservr -m  

  其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动  

  -f 用最小配置启动SQL Server  

  -m 单用户模式启动SQL Server  

    

  b. 可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或者输入-m,点击开始  

    

  (3)进行master数据库的恢复  

  a. 直接进入查询分析器,有个提示不要理会它  

  输入恢复语句进行数据库恢复:  

  RESTORE DATABASE master from disk=’c:\具体的备份文件名’  

  b. 或者用这个,在命令提示符下输入,注意大小写  

  使用"windows身份验证"的,输入:isql /E  

  使用"sql server和windows身份验证"的,输入:isql /U"用户名" /P"密码"  

  然后在出现的提示符下输入(注意1>,2>是提示符):  

  1>RESTORE DATABASE master from disk=’c:\具体的备份文件名’  

  2>GO  

  2. 还原数据库的具体步骤:  

  (1) 恢复最近一次的完整备份  

  企业管理器--右键"数据库"--所有任务--还原数据库  

  --"还原为数据库库"中输入还原后的数据库名,设为:test  

  --还原选择"从设备"--选择设备--添加--添加你的备份文件  

  --确定,回到数据库还原的界面  

  --"还原备份集",选择"数据库--完全"  

  --选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名  

  --如果要还原的数据库已经存在,选择"在现有数据库上强制还原"  

  --"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"  

  --确定  -东文网络专业建站,您信赖的网络专家-

不知该信息是否给您解决了问题,还有疑问请到留言建议向我们咨询 :)

 
也许你对下面的相关信息感兴趣:
SQL Server 2000数据库崩溃
一次SQL Server 2000 安装
新型 SQL 截断漏洞攻击和防御方法
ASP程序网站漏洞SQL通用防注入程序
SQL中代替Like语句的另一种写法
Slammer蠕虫病毒破坏 sql se
远程连接sqlserver2000服务器
用户 'sa' 登录失败,原因: 未与信
SQL Server安全问题全攻略之口令
常用SQL语句技法(二)
热点推荐新闻:
李彦宏:创业仅仅有一个好主意是不够的
55BBS韩华:80后美丽女孩的创业生活
360提示有漏洞,但win2000安装不
N70手机自动发彩信的病毒描述及解决方法
手机病毒N70已不容我们忽视,它威胁到我
组图:中国最美的六大草原及其传说
奇图探秘:唐三藏徒弟孙悟空真实原型之谜
二OO七年木马病毒“英雄榜”,你中过几个
小心“机器狗木马”破坏电脑系统(附查杀)
谁能娶女首富杨惠妍?将财色双得


打印本页 | 关闭窗口

------------------------

------------------------

------------------------
    Powered by dongwen.net 2007-2010 东文网络