解决步骤:
A.使用默认方式建立一个供恢复使用的数据库(如test)。
B.停止数据库实例服务。
C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。
D.启动数据库服务器。此时会看到数据库test不可访问。
E. ALTER DATABASE <dbname> SET EMERGENCY
F. ALTER DATABASE <dbname> SET SINGLE_USER
G. ALTER DATABASE <dbname> REBUILD LOG ON (NAME=dbname_log, FILENAME=’E:\XXX\测试\dbname_log.ldf’)
执行后,会有警告信息“警告: 数据库 ‘xhtyjbbs’ 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。”
H. DBCC CHECKDB(<dbname>, REPAIR_ALLOW_DATA_LOSS)
I. ALTER DATABASE <dbname> SET MULTI_USER
J. ALTER DATABASE <dbname> SET ONLINE
A.使用默认方式建立一个供恢复使用的数据库(如test)。
B.停止数据库实例服务。
C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。
D.启动数据库服务器。此时会看到数据库test不可访问。
E. ALTER DATABASE <dbname> SET EMERGENCY
F. ALTER DATABASE <dbname> SET SINGLE_USER
G. ALTER DATABASE <dbname> REBUILD LOG ON (NAME=dbname_log, FILENAME=’E:\XXX\测试\dbname_log.ldf’)
执行后,会有警告信息“警告: 数据库 ‘xhtyjbbs’ 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。”
H. DBCC CHECKDB(<dbname>, REPAIR_ALLOW_DATA_LOSS)
I. ALTER DATABASE <dbname> SET MULTI_USER
J. ALTER DATABASE <dbname> SET ONLINE