sql server .dat文件修复
来源:百度知道 编辑:UC知道 时间:2024/09/20 22:44:57
已经试过log explorer了,没有日志,没办法恢复。有知道.dat文件内部结构的人吗?或者有这方面的工具更好。不是不重要,是太重要了!不是不紧急,是太紧急了!
无日志修复数据库:假设数据库名为db1
--1.我们使用默认方式建立一个供恢复使用的数据库(如db1)。可以在SQL Server Enterprise Manager里面建立。
--2.停掉数据库服务器。
--3.将刚才生成的数据库的日志文件.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件.mdf。
--4.启动数据库服务器。此时会看到数据库db1的状态为“置疑”。这时候不能对此数据库进行任何操作。
--5.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,
--按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
--6.设置db1为紧急修复模式
--此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
update sysdatabases set status=-32768 where dbid=DB_ID('db1')
--7.重建数据库日志文件
dbcc rebuild_log('db1','d:\db1data\db1_log.ldf')
--8.验证数据库一致性,这一步的运行结果可要看仔细了,如果数据库结构发生损坏,有些数据可是不能恢复的
dbcc checkdb('db1')
--9.设置数据库为正常状态
sp_dboption 'db1