SQL Server数据库中,当日志文件过大或者日志已满时就会影响到数据库的正常工作。而日志文件已满常常会造成SQL Server数据库无法写入的问题。
解决方法:
1、右键数据库→属性→选项→故障还原模型→设为简单→确定;
2、右键数据库→所有任务→收缩数据库→确定;
3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。
肯定有影响,先说说tempdb数据库的作用吧:Tempdb 数据库保存系统运行过程中产生的临时表和存储过程。当然,它还满足其他的临时存储要求,比如保存SQL Server生成的存储表等。Tempdb 数据库是一个全局咨询,任何连接到系统的用户都可以在该数据库中产生临时表和存储过程。Tempdb 数据库在每次SQL Server启动的时候,都会清空该数据库中的内容,所以每次启动SQL Server后,该表都是干净的。临时表和存储过程在连接断开后会自动除去,而且当系统关闭后不会有任何活动连接,因此,tempdb 数据库中没有任何内容会从SQL Server的一个会话保存到另外一个会话中。
默认情况下,在 SQL Server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 SQL Server时,将tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可以使用 ALTER DATABASE 增加 tempdb 数据库的大小。
其实总体来说TempDB数据库是很重要的,也是你提升SQL运行速度的一个手段,所以,TempDB的日志已满,说明的数据库文件初始化设定值太小,建议你增大到500MB,我一直都这样用,当然你可以依据实际情况设定大小
该问题是由于没有把数据库的故障还原设置为简单,导致数据库LOG文件很大,影响数据库性能导致,可以对数据库及帐套做一些优化设置来处理。 (1)、把数据库的故障还原设置为“简单” (设为简单后就不能做增量备份了) (2)、数据库分离附加(采用日志分离的方式减少日志文件的大小:首先在SQL SERVER企业管理器分离数据库, 然后删除此数据库的日志文件(*.ldf),最后再重新附加数据库) (3)、数据库收缩(在数据库服务器进行数据库实体收缩) (4)、检查二次开发的触发器和存储过程是否存在批量更新数据库不严谨造成日志文件增大(关键) ⑸执行下面附件的SQL,核对一下是否有的表占用的空间过大没有释放,可以优化一下此表的索引结构,保存此表后可以把过多的空间释放出来欢迎分享,转载请注明来源:内存溢出
评论列表(0条)