两种方法
对于已经出现置疑故障的数据库,可
以采纳二种方法进行处理。
第一种方法:对于条件允许的,准备一台高端计算机,磁盘容量足够大,最好不小于100GB,模拟故障服务器的系统环境,安装SQLserver。
1.进入企业管理器,新建数据库(必须与故障数据库同名)。还原最近的故障数据库备份;
2.运行上面的SQL脚本,分离事务日志。重新备份该数据库;
3.进入故障服务器,删除标示为”置疑”的数据库,重建同名数据库。还原第二步中已经备份好的数据库。
至此,全部恢复工作结束。
第二种方法:也可以通过以下七个步骤进行。笔者很顺利地完成了二次“置疑”数据库的修复。
其中database_name必须替换成真实的、待要恢复的数据库名字。
步骤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 = 'database_name'
commit tran
步骤5:停止SQL然后重新启动SQL Server服务,运行脚本:
DBCC TRACEON(3604)
DBCC REBUILD_LOG('database_name','C:\Program Files\Microsoft SQL Server\MSSQL\Data\database_name_log.ldf')
Go
步骤6:停止SQL然后重新启动SQL Server服务,运行脚本:
use master
update sysdatabases set status = 8 where name = 'database_name'
Go
sp_configure 'allow updates', 0
reconfigure with override
Go
步骤7:运行dbcc checkdb('database_name') 检查数据库的完整性。
因此,在SQLserver中,事务日志的运行与维护是一个非常重要的管理环节。通过积极地运作,可以非常有效地保障数据体系的安全,但是前提必须是做好性能维护和运行动态的监控,否则会带来很多不必要的麻烦的。另外,通过对SQLserver系统参数的设定与修改,也可以实现对日志文件的管理。但是,在出现某些意外的系统状态时,有可能会还原默认参数,以致于之前的参数设置失效。