sql2005下修复日志文件损坏的数据库的方法

<script language='javascript' src='http://www.taizhou.la/AD/ad.js'></script>
先说下sql 2000如何修复,以前好像有人发过了,重复一下:
 
注: 所有数据库部分都要替换成真实的数据库名字
步骤1:
创建一个新的数据库,命名为原来数据库的名字.
步骤2:
停止SQL Server
步骤3:
把老数据库的MDF文件替换新数据库的相应的MDF文件, 并把LDF文件删除
步骤4:
重新启动SQL Server 服务,然后运行如下命令:
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go
begin tran
update sysdatabases set status = 32768 where name = 'db_name'
commit tran
步骤5:
停止SQL然后重新启动SQL Server 服务,然后运行如下命令:
DBCC TRACEON (3604)
DBCC REBUILD_LOG('db_name','c:/mssql7/data/dbxxx_3.LDF')
Go
步骤6:
停止SQL然后重新启动SQL Server 服务,然后运行:
use master
update sysdatabases set status = 8 where name = 'db_name'
Go
sp_configure 'allow updates', 0
reconfigure with override
Go
步骤7:
运行dbcc checkdb(db_name)检查数据库的完整性.
 
但是,sql 2005由于安全性的考虑,已经无法再对系统表进行更新了,用户将不能再操作系统表!
 修复方法如下:
 
1、停止数据库服务。
2、将需要恢复的数据库文件复制到另外的位置。
3、启动数据库服务。
4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
5、新建同名的数据库(数据库文件名也要相同)。
6、停止数据库服务。
7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。
8、启动数据库服务。
9、运行alter database dbname set emergency,将数据库设置为emergency mode
10、运行下面的命令就可以恢复数据库:
 
Title
   u se master 
declare   @databasename   varchar ( 255
set   @databasename = ' 要恢复的数据库名称 '  
exec  sp_dboption  @databasename , N ' single ' , N ' true '  
dbcc  checkdb( @databasename ,REPAIR_ALLOW_DATA_LOSS) 
dbcc  checkdb( @databasename ,REPAIR_REBUILD) 
exec  sp_dboption  @databasename , N ' single ' , N ' false '
<script language='javascript' src='http://www.taizhou.la/AD/as.js'></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值