数据库服务器崩溃了。我能够获取mdf和日志文件,我正在尝试将其挂载到另一台服务器上。我没有备份,因为它是一个开发数据库。
当我尝试附加mdf和ldf文件时,Sql Server Management Studio会给我这个错误:
TITLE: Microsoft SQL Server Management Studio
------------------------------
Attach database failed for Server
------------------------------
Could not redo log record (457:14202:19), for transaction ID (0:478674), on page (1:519205), database 'WSS_Content_5555' (database ID 15). Page: LSN = (370:463:113), type = 1. Log: OpCode = 2, context 2, PrevPageLSN: (298:40524:64).
Restore from a backup of the database, or repair the database.
During redoing of a logged operation in database 'WSS_Content_5555', an error occurred at log record ID (457:14202:19).
Typically, the specific failure is previously logged as an error in the Windows Event Log service.
Restore the database from a full backup, or repair the database.
Could not open new database 'WSS_Content_5555'.
CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 3456)
我不知道如何修复数据库。是否需要在修复之前附上?在那种情况下,我该如何附上它?
答案 0 :(得分:3)
您可以尝试一种解决方法。简而言之:
修改强>
如OP评论说明您还需要重建日志(如果您丢失了交易)
ALTER DATABASE [MyDatabase] REBUILD LOG ON(NAME ='MyDatabaseLog',FILENAME ='D:\ Microsoft SQL Server \ YourDataPath \ Data \ Logfile.ldf')
并将数据库放入多个用户日志中(关闭数据库可能需要您将其置于一次性模式下)
ALTER DATABASE [nomdb] SET MULTI_USER
对于所有血腥细节,您可以参考Paul Randal Article
(注意在本文中作者使用EMERGENCY MODE来(尝试)修复事务日志)
我已经成功使用它,但根据损坏程度或其他细节,这可能是一项不可能完成的任务。考虑恢复备份。
请注意,这些特技在开发服务器中很好,但您确实需要在生产服务器中规划(和钻取)灾难恢复。
答案 1 :(得分:0)
您可以使用SQL Database Recovery Tool Repairs
我有一个数据库文件(Diamond.mdf),该文件已损坏,无法附加到SQL Server DB中,并且包含大多数业务数据。我不知道该错误,无法恢复损坏的数据库。我做了很多手动机制来克服这个问题,但是做不到。
注意:这不是免费工具。