Jus*_*ing 5 sql-server corruption
可能重复:
如何在 SQL Server 中附加数据库?
我得到了一个数据库的 MDF,没有备份,也没有要求我将数据库附加到 SQL 服务器的 LDF。我收到以下错误:
File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER2K8\MSSQL\DATA\something.LDF" may be incorrect.
The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure.
我尝试了Paul Randall 的创建相同大小数据库的方法,将其置于紧急单用户模式并尝试以这种方式在线设置。有没有其他选择,或者我告诉给我这个文件的人数据已损坏?
当一个数据库被分离时,它应该干净地关闭。此文件已被影子复制或已从崩溃的 SQL Server 实例等中获取。也就是说,MDF 不是来自完全分离、关闭的数据库。
所以,可能的解决方案..
我不认为这会起作用,但请检查。从查询窗口尝试SP_ATTACH_SINGLE_FILE_DB。它比 SSMS GUI 附加弹出窗口更清晰。请注意,这已被弃用,以支持CREATE DATABASE .. FOR ATTACH_REBUILD_LOG其声明为要求:A clean shutdown of the database
。
但是我确信您必须返回并声明您的文件已损坏。
更好的是,要求一个更小且一致的 BACKUP。
如果您的消息来源说他们可以附加它,他们就会撒谎或丢失数据。
查看 SO 和 SF,似乎有一种方法会导致数据丢失。你可以自己找到:我不认可它。