SQL SERVER Msg 5172 not a valid database file header 无法附加数据库文件The PageAudit Property is Incorrect

如果自己搞不定可以找诗檀软件专业SQL SERVER数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638   QQ号:47079569    邮箱:service@parnassusdata.com

 

 

若你的SQL SERVER数据库出现Msg 5172, Level 16, State 15, Line 1报错信息,则一般说明要么是MDF数据文件头因此磁盘故障发生了损坏,要么是受到计算机病毒或勒索软件攻击导致MDF内容中部分数据被加密。

例如下面的报错信息:

 

1> alter database testn1 set emergency;
2> go
Msg 5172, Level 16, State 15, Server DESKTOP-L414PA5\SQLEXPRESS, Line 1
The header for file ‘E:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\testn1.mdf’ is not a valid database file header. The PageAudit property is incorrect.

 

可以使用如下的命令来检查MDF文件,当然你也可以利用16进制查看工具例如WINHEX来查看文件头。

 

Syntax:DBCC CHECKPRIMARYFILE ({'PhysicalFileName'} [,opt={0|1|2|3}])

PhysicalFileName is the full path for the primary database file.

opt=0 - checks if the file a primary database file. 
opt=1 - returns name, size, maxsize, status and path of all files associated to the database.
opt=2 - returns the database name, version and collation.
opt=3 - returns name, status and path of all files associated with the database.


CHECKPRIMARYFILE 可以被用来检查文件是否是一个主要数据库文件,并返回相关的信息,其中opt=0 用来判断这是不是一个MDF数据文件

2> DBCC CHECKPRIMARYFILE(N'E:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\bak3\xmltest.mdf',0);
3> go
IsMDF
-----------
          1

(1 rows affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
1>
2>
3> DBCC CHECKPRIMARYFILE(N'E:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\bak3\testn1.mdf',0);
4> go
IsMDF
-----------
          0

(1 rows affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.  


 

 

返回1说明是MDF数据文件,而返回0说明不是MDF数据文件。

 

对于真的被勒索病毒破坏加密的数据文件头,主要有3种对应措施:

1、若破坏的文件头内容不多的话,可以通过重建文件头修复

2、如果破坏的勒索病毒使用了已知的加密密钥,则可以通过找到对应密钥来解密,可以访问id-ransomwarenomoreransom来获得一些信息。

3、如果以上2个方案都不行,可以考虑使用DBRECOVER FOR SQL SERVER工具来恢复数据。

 

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号