当前位置:   article > 正文

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

sqlserver备份文件过大

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

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

完成后刷新数据库列表会出现出现一个“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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

上面操作后回去刷新数据库列表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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/915911
推荐阅读
相关标签
  

闽ICP备14008679号