sql数据库增大解决方法
sql数据库增大可解决,用截断事务日志和删除日志的办法 。 sql数据库联机丛书里面有这么一段大家可以看看。
如果从来没有从事务*志中删除*志记录,逻辑*志就会一直增长,直到填满容纳物理*志文件的磁盘上的所有可用空间。在某个即时点,必须删除恢复或还原数据库时不再需要的旧*志记录,以便为新*志记录腾出空间。删除这些*志记录以减小逻辑*志的大小的过程称为截断*志。
永远不能截断事务*志的活动部分。*志的活动部分是在任何时间恢复数据库所需的*志部分,因此必须有回滚所有未完成的事务所需的*志映像。这部分必须始终在数据库中,因为一旦服务器发生故障,在重新启动时必须用它恢复数据库。*志活动部分起点处的记录由最小恢复*志序号 (MinLSN) 标识。
为数据库选择的恢复模式决定了在数据库内,必须在活动部分之前保留的事务*志量。虽然 MinLSN 之前的*志记录对恢复活动事务没有作用,但在使用*志备份将数据库还原到故障点时,必须用这些记录前滚修改。如果由于某种原因丢失了数据库,则可以通过还原上次的数据库备份,然后还原自该数据库备份后的每个*志备份来恢复数据。这意味着这些*志备份必须包含自数据库备份后所写入的每个*志记录。当维护事务*志备份序列时,*志记录直到写入*志备份时才能被截断。
MinLSN 之前的*志记录只用于维护事务*志备份序列。
在简单恢复模式中,不维护事务*志序列。MinLSN 之前的所有*志记录可以随时被截断,但在处理 BACKUP 语句时除外。NO_LOG 和 TRUNCATE_ONLY 是只对使用简单恢复模式的数据库有效的 BACKUP LOG 选项。
说明 tempdb 数据库始终使用简单恢复模式,不能切换到其它恢复模式。*志截断始终发生在 tempdb 中的检查点上。
在完全恢复模式和有*志记录的大容量恢复模式中,维护事务*志备份序列。
MinLSN 之前的逻辑*志部分直到复制到某个*志备份时才能被截断。
*志截断在下列情况下发生:
执行完 BACKUP LOG 语句时。