sql server .dat文件修复

来源:百度知道 编辑:UC知道 时间:2024/09/20 22:44:57
sql server的数据库文件.dat文件坏掉了,用它来恢复数据库的时候sql server不能正确识别,有没有办法修复它呢?
已经试过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