新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > sql server教程 > 正文:没有日志文件也能恢复数据库的两个方法

没有日志文件也能恢复数据库的两个方法

新客网 XKER.COM 2007-08-21 来源: tianzi 收藏本文

方法一

1.新建一个同名的数据库

 

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

 

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

 

4.再重启sql server

 

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

 

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用

 

数据库的脚本创建一个新的数据库,并将数据导进去就行了.

 

USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',
1 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 reconfigure with override
Go 
sp_dboption '置疑的数据库名', 
'single user', 'false'
Go

方法二

事情的起因:昨天,系统管理员告诉我,我们一个内部应用数据库所在的磁盘空间不足了。我注意到数据库事件日志文件XXX_Data.ldf文件已经增长到了3GB,于是我决意缩小这个日志文件。经过收缩数据库等操作未果后,我犯了一个自进入行业以来的最大最愚蠢的错误:竟然误删除了这个日志文件!后来我看到所有论及数据库恢复的文章上都说道:“无论如何都要保证数据库日志文件存在,它至关重要”,甚至微软甚至有一篇KB文章讲如何只靠日志文件恢复数据库的。我真是不知道我那时候是怎么想的?

这下子坏了!这个数据库连不上了,企业管理器在它的旁边写着“(置疑)”。而且最要命的,这个数据库从来没有备份了。我唯一找得到的是迁移半年前的另外一个数据库服务器,应用倒是能用了,但是少了许多记录、表和存储过程。最终成功恢复的全部步骤如下:

设置数据库为紧急模式

 

ü 停掉SQL Server服务;

 

ü 把应用数据库的数据文件XXX_Data.mdf移走;

 

ü 重新建立一个同名的数据库XXX;

 

ü 停掉SQL服务;

 

ü 把原来的数据文件再覆盖回来;

 

ü 运行以下语句,把该数据库设置为紧急模式;

 

运行“Use Master

Go

sp_configure 'allow updates', 1

reconfigure with override

Go”

 

共2页: 上一页 [1] [2] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐