SQL 6.5在备份时磁盘空间不足,备份中断后SQL数据库挂起,数据库修复方法

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 19:44 点击:

有一个数据库用户非常有心,在一次数据库修复服务中,他把自己修复成功的详细步骤发给我,MS SQL 6.5是比较老的数据库版本,修复起来技术难度较高。以下转发用户的邮件:

您好!覃总

        我是小赵,之前和您联系过。我这边SQL 6.5在备份时磁盘空间不足,备份中断后SQL数据库挂起;现已恢复成功,我将方法转发给您作为共享。

谢谢您之前的支持。

MS SQL SERVER数据库置疑后恢复步骤

--SQL SERVER数据库置疑后恢复步骤  

--1. 恢复步骤:  

--a.将smlog_log.ldf文件备份到其它目录下;  

--b.将源目录下的smlog_log.ldf文件改名为smlog_log_bak.ldf;  

--c.执行以下语句修改数据库的状态:  

use Master  

go  

update sysdatabases set status=32768 where name='数据库名称'     --修改状态,設為緊急狀態

go  

shutdown with nowait     --停止数据库服务器  

go  

--d.退出SQL并在(COMMAND)命令行模式中通过下面的代码重新启动SQL:  

sqlservr -c -T3608 -T4022     --安全模式启动SQL SERVER

--e.在查询分析器中执行以下语句来查看刚刚修改过状态的数据库状态:  

select Name,Status from sysdatabases where Name='数据库名稱' 

--f.执行以下代码新建日志文件:  

dbcc traceon(3604)--跟踪  

dbcc rebuild_log('数据库名称','日志文件全路徑') --文件名要有全路径和扩展名

--dbcc rebuild_log('prs_msc','d:\mscsql\mssql\data\prs_msc_log.ldf

--g.将数据库置回正常状态:  

update sysdatabases set status=0 where name='数据库名称'  

--h.重新启动数据库后执行以下语句检查数据库:  

DBCC CHECKDB --如果执行完有错误用以下语句修复  

--i.要修复数据库必需将数据库改为单用户模式:  

Exce sp_dboption '数据库名称','single user','true'---('false'恢复多用户)  

--j.执行以下语句修复数据库:  

DBCC CHECKDB('数据库名称',REPAIR_ALLOW_DATA_LOSS)  

REPAIR_ALLOW_DATA_LOSS:是比较高级的修复方式  

REPAIR_FAST:是简单快速的修复方式

/*

處理状态就为"置疑"的數據庫

备份数据文件,然后按下面的步骤处理:  

1.新建一个同名的数据库(数据文件与原来的要一致)  

2.再停掉sql server(注意不要分离数据库)  

3.用原数据库的数据文件覆盖掉这个新建的数据库  

4.再重启sql server  

5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)  

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.

*/

USE   MASTER  

GO  

SP_CONFIGURE 'ALLOW UPDATES',1

GO

RECONFIGURE WITH OVERRIDE  

GO  

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'  

Go  

sp_dboption '置疑的数据库名','single user','true'  

Go  

DBCC CHECKDB('置疑的数据库名')    

Go  

update sysdatabases set status=28 where name='置疑的数据库名'  

Go  

sp_configure 'allow updates',0

GO

reconfigure with override  

Go    

sp_dboption '置疑的数据库名', 'single user','false'  

Go  

/*

只有mdf文件的恢复技术

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。

如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • sql常见面试题
      • SQL SERVER 2005性能之跟踪
      • SQL编程(一)
      • LINUX上RMAN自动备份脚本
      • sql server面试题
      • 如何将多个SQL查询统计结果一次显示出来
      • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
      • SQL小技巧系列 --- 行转列合并
      • sql server 列转行
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1