SQL2005 日志文件丢失(SQL2005 transaction log not found)

本文探讨了数据库日志文件丢失可能导致的问题,特别是对数据完整性和一致性的影响。提出了两种解决方案,一种涉及复制数据文件并重建日志,另一种则通过分离和重新附加数据库来创建新的日志文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志文件丢失了会有什么后果呢?就是失去了对数据库一致性的保障。比如A从他账户里取出100元钱,汇到B的账户中,就在钱刚取出后还没进B账户前日志文件丢失了,那最终这笔交易就无迹可查了。A的钱就没有了,B也不会收到100元钱了。可见,日志文件对维护数据库完整性是多么重要。

 

如果日志文件丢失,首先建议从过去的备份恢复整个数据库。如果没有备份(怎么能不做备份呢?!),那就只有重建日志文件了。对于SQL2005来说,又以下两种方案:

1. 停止数据库服务。

2. 将数据文件复制一份。

3. 启动数据库服务。

4. 执行以下命令:

Create Database <New DB Name>

On (FileName='<复制出来的数据文件所在的路径及文件名加后缀')

For ATTACH_FORCE_REBUILD_LOG

5. 将原来的数据库Detach

 

方案二

1. 直接detach掉原来的数据库。

2. 再attach上这个数据库,我是在图形界面上操作,由于找不到日志文件,会提示日志文件找不到(transaction log Not Found)

3. 移除日志文件,attach可以成功,并自动创建了新的日志文件。

 

方案二的好处是不用重启数据库,并且不用复制数据库,这样对一个大数据库来说很方便。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值