当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 用一个案例讲解SQL Server数据库恢复

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

MSSQL 中的 用一个案例讲解SQL Server数据库恢复


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

客户的一台服务器出现Raid故障,经过我们的努力,数据基本恢复成功,但是其中的一个SQL Server日志文件(扩展名LDF)损坏严重,基本不能使用,但是数据文件损坏并不严重,我们通过下面的操作使数据全部恢复。  

首先新建一个同名的数据库,然后再停掉SQL Server服务,用原数据库的数据文件覆盖掉这个新建的数据库文件,重启SQL Server服务。打开企业管理器,该数据库显示“置疑”,在查询分析器中执行下面的语句: 

以下为引用的内容:

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  

执行后数据库本身仍然有问题,依旧显示“质疑”。此时新建一个新的数据库,运行DTS导出向导,把有问题的数据库中的数据导入到新的数据库中,打开新的数据库,数据全部找回。