sql server 数据库还原日志太大怎么处理

发布于2022-01-13 18:13:47
8个回答
admin
网友回答2022-01-13
楼主,不如试下附加数据库,完了收缩数据库。
好运(*^__^*) 嘻嘻……
admin
网友回答2022-01-13
因为数据库要不要断的对dml操作进行写日志,日志文件过大,会降低写入的性能。所以,要定时备份截断数据库日志,有以下几种处理方式:

1、备份数据库
备份数据库时,数据库系统会自动截断数据库日志。

2、单独备份数据库日志
BACKUP LOG 数据库名
TO 事务日志备份将写入的备份设备

示例
下例在以前创建的命名备份设备 MyNwind_log1 上创建 MyNwind 数据库的事务日志备份:

BACKUP LOG MyNwind
TO MyNwind_log1
GO

3、若日志可以忽略不用备份的,只需要截断就可以的,则这样清理:

BACKUP LOG 数据库名 with no_log

4、另外,截断数据库日志后,若日志文件还是占用空间很大,可以手工收缩:
DBCC SHRINKFILE (日志文件名, 收缩后的目标大小)

示例
下例将 UserDB 用户数据库中名为 DataFil1 的文件收缩到 7 MB。

USE UserDB
GO
DBCC SHRINKFILE (DataFil1, 7)
GO
admin
网友回答2022-01-13
可以直接附加,如果只有mdf文件没有日志文件,系统会自动产生一个日志文件。
admin
网友回答2022-01-13
  sql server数据库日志文件过大不会影响运行速度,但是会导致数据无法写入。
  SQL Server数据库中,当日志文件过大或者日志已满时就会影响到数据库的正常工作。而日志文件已满常常会造成SQL Server数据库无法写入的问题。
解决方法:
1、右键数据库→属性→选项→故障还原模型→设为简单→确定;
2、右键数据库→所有任务→收缩数据库→确定;
3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。
admin
网友回答2022-01-13
如果数据库突然挂了,那么,之前返回成功的操作,都说明是成功了。但数据不一定是在数据文件中,有可能在 ldf中,那么下次启动数据库,数据库就会自动执行前滚动操作。把上次的没执行的操作执行了。

 你可深入sql 的 backup ,resotre命令的参数选项。
admin
网友回答2022-01-13
是可以保存死掉前的数据和日志;但是有可能造成数据库被置疑;也就是无法使用。所以以尽量定期的备份才是上上之策。如果真的遇到突然停电宕了;只能采用修复数据库来操作了。
admin
网友回答2022-01-13
 查看sql数据库操作日志的方法步骤:

  
admin
网友回答2022-01-13
附加的时候删除日志连接就行了

回到
顶部