sql server数据库日志文件过大不会影响运行速度,但是会导致数据无法写入。
SQL Server数据库中,当日志文件过大或者日志已满时就会影响到数据库的正常工作。而日志文件已满常常会造成SQL Server数据库无法写入的问题。
解决方法:
1、右键数据库→属性→选项→故障还原模型→设为简单→确定;
2、右键数据库→所有任务→收缩数据库→确定;
3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。
因为数据库要不要断的对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
会。而且影响很大。。。。最好是通过 计划来定期清理日志!