当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 用户自定义的数据库修复

MSSQL
实现按部门月卡余额总额分组统计的SQL查询代码
浅议Oracle中的进制转换
sqlserver MSDTC的设置要点
小议主子表INT自增主键插入记录的方法
使用SQLSERVER的扩展存储过程实现远程备份与恢复
SQL安装问题总结
使用XML封装数据库操作语句的实现
SQL Server与Excel数据互导
查询sql遇到deadlock问题的解决
解决sqlsever日志备份错误的方法
关于sql数据库维护失败的问题查找方法
跟日期有关的两条经典SQL语句
使用链接服务器执行远程数据库上的存储过程
select用存储过程返回的表
SQL SERVER与ACCESS、EXCEL的数据转换
榨干MS SQL Server 最后一滴血
SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作
在SQL Server 中使用SQLDMO
SQL Server补丁版本的检查和安装过程中常见问题
SQL高手篇:精妙SQL语句介绍

MSSQL 中的 用户自定义的数据库修复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 96 ::
收藏到网摘: n/a

一、  自动应用重做日志
1、  利用SET  AUTORECOVERY命令自动应用重做日志
完成对数据文件的修复操作
SQL>STARTUP  MOUNT; 启动实例并加载数据库
SQL>SET  AUTORECOVERY  ON 启用重做日志自动应用功能
SQL>RECOVER  DATABASE 恢复指定表空间、数据文件或整个数据库
SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

2、  利用RECOVERY  AUTOMATIC命令自动应用重做日志
完成对数据文件的修复操作
SQL>STARTUP  MOUNT; 启动实例并加载数据库
SQL>RECOVER  AUTOMATIC  DATABASE
SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

二、             不归档模式下的数据库介质恢复

1、  将数据库恢复到原来的位置上
SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
将数据库文件恢复到原来的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复;
SQL>RECOVER  DATABASE  UNTIL  CANCEL
SQL>CANCEL
SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

2、  将数据库恢复到新的位置上
SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
 将数据库文件恢复到新的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复; 对初始化参数文件中的CONTROL_FILES参数进行编辑,使它执行保存在新位置中修复后的控制文件;
SQL>STARTUP  MOUNT
如果修复后的数据库文件处于新的位置,必须利用ALTER  DATABASE RENAME  FILE语句对控制文件进行修改,使它指向新位置中修复后的数据文件。如:
SQL>ALTER  DATABASE  RENAME  FILE  ‘I:\ora9i\oradata\system01.dbf’  TO  ‘K:\oracle\oradata\system01.dbf’;
SQL>RECOVER  DATABASE  UNTIL  CANCEL
SQL>CANCEL
SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

三、             归档模式下的完全介质恢复

1、  关闭状态下的完全恢复
SQL>SHUTDOWN  ABORT(如果数据库处于打开状态,将它强行关闭)
将数据文件恢复到原来的位置上,如果介质故障无法排除,需要将数据文件恢复到其它位置上;
利用备份修复丢失或损坏的数据文件,也可利用ALTER  DATABASE  CREATE  DATAFILE 语句重建一个空白的数据文件替换对视或损坏的数据文件;
SQL>STARTUP  MOUNT
如果修复后的数据文件不在原来的位置上,需要使用ALTER  DATABASE  RENAME  FILE …TO …语句在控制文件中更新它们的信息
SQL>SELECT  name,status  FROM  V$DATAFILE;查询数据文件的名称和状态
SQL>ALTER  DATABASE  DATAFILE … ONLINE;将脱机数据文件改未联机
SQL>RECOVER  DATABASE  或 SQL>RECOVER  TABLESPACE  users
或 SQL>RECOVER  DATAFILE  ‘I:\ora9i\oradata\users0.dbf;
SQL>ALTER  DATABASE  OPEN;