sqlserver 运行太久备份文件太大无法还原解决办法

1.还原一个没有日志的数据库

RESTORE DATABASE db_temp
FROM DISK='备份文件路径\db.bak'
WITH MOVE 'dbname' TO '数据文件路径\db_temp.mdf',NO_LOG 

完成后刷新数据库列表会出现出现一个“db_temp(还原中)”的数据库。

2.新建新建一个正常的数据dbnew。新建完后停掉sqlserver服务

3.将第1步生成的mdf 文件 盖掉 第二步产生的 mdf 文件。启动sqlserver服务

4.重新创建日志

ALTER DATABASE dbnew SET EMERGENCY
GO
ALTER DATABASE dbnew  SET SINGLE_USER
GO

DBCC CHECKDB(dbnew ,'REPAIR_ALLOW_DATA_LOSS')
GO

ALTER DATABASE dbnew SET MULTI_USER
GO
ALTER DATABASE dbnew SET ONLINE
GO

上面操作后回去刷新数据库列表dbnew就可以正常使用了

收缩日志sql语句

USE [master]
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE   --简单模式
GO
USE 要清理的数据库名称
GO
DBCC SHRINKFILE (N'要清理的数据库名称_log' , 2, TRUNCATEONLY)  --设置压缩后的日志大小为2M,可以自行指定
GO
USE [master]
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 要清理的数据库名称 SET RECOVERY FULL  --还原为完全模式
GO
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值