如果自己搞不定可以找诗檀软件专业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-ransomware和nomoreransom来获得一些信息。
3、如果以上2个方案都不行,可以考虑使用DBRECOVER FOR SQL SERVER工具来恢复数据。
Comment