数据库日志文件丢失如何附加数据库
2个回答
展开全部
首先恢复最近的数据库备份文件,在恢复数据库的过程中一定要沉着再沉重。对每一个操作和选择时一定要仔细再仔细,其中我在恢复的过程就因为没有注意到备份文件还原时数据库数据文件和日志文件存放在路径发生了改变,所以多次尝次不同方法均未还原成功。二、数据库日志的重新恢复1、 首先我们把数据库的数据文件转移到另一台备用服务器,至于原因有两点:第一点恢复日志文件的过程中会需要多次重启SQL服务。第二点可能因为恢复过程中的误操作而影响到正常使用的数据库。2、 我们再在备用SQL数据服务器上重建一个相同名称(与损坏或丢失日志文件的数据库)的数据库。3、 然后进入数据库服务器设置中,把服务器行为中允许对系统目录直接修改这个选项勾上。这个十分重要的哟,我之前一直恢复不成功。4、 然后在SQL的企业管理器中记得是在master数据库中运行sp_configure (allow updates),1 reconfigure with override这里是对系统目录直接修改5、 停止SQL服务将原有的数据库的数据文件覆盖新建的同名数据库文件。6、 重启SQL Server(这时数据库应该是置疑)7、 将数据置为紧急状态update sysdatabases set status = 32768 where name =’JJDATA’(为数据库名称)8、 重建日志文件(记得要删除原来的日志文件哟)Dbcc rebuild_log(‘JJDTATA’,’D:\SQLDATA\JJDATA_log.ldf’)9、 把数据改为正常状态update sysdatabases set status =16 where name =’JJDATA’(为数据库名称)10、 把数据服务器的修改状态改回来sp_configure (allow updates),0reconfigure with override最后再重启SQL Server,OK你看到你丢失的数据库全部完好的回来了,接下来要做的就是把这个备用服务器上的数据库分离。转移到你真实的数据库中附加上去。
展开全部
1.新建同名的数据库文件
2.暂停SQLSetver服务
3.将原先的mdf文件,覆盖新建的数据库,删除新数据库的ldf文件
4.重新启动SQLSetver服务 ,这时看到的数据库是这个样子的,打不开
5.执行以下SQL语句
设置为紧急状态 2 alter database 数据库名称 set emergency 设置为单用户模式 4alter database 数据库名称 set single_user 检查并重建日志文件 6 dbcc checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS) 第3步操作如果有错误提示,运行第4步,没有错误则跳过 8 dbcc checkdb('数据库名称',REPAIR_REBUILD) 恢复成多用户模式alter database 数据库名称 set multi_user
6.至此会重新生成改库的日志文件,整个过程完成
2.暂停SQLSetver服务
3.将原先的mdf文件,覆盖新建的数据库,删除新数据库的ldf文件
4.重新启动SQLSetver服务 ,这时看到的数据库是这个样子的,打不开
5.执行以下SQL语句
设置为紧急状态 2 alter database 数据库名称 set emergency 设置为单用户模式 4alter database 数据库名称 set single_user 检查并重建日志文件 6 dbcc checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS) 第3步操作如果有错误提示,运行第4步,没有错误则跳过 8 dbcc checkdb('数据库名称',REPAIR_REBUILD) 恢复成多用户模式alter database 数据库名称 set multi_user
6.至此会重新生成改库的日志文件,整个过程完成
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询