当前位置: 网站首页 > 帮助支持 > SQL Server 支持
常见问答 Windows 支持 Office 支持 SQL Server 支持 进销存财务专区 用友技术支持 速达技术支持

sql server 2008收缩日志

  事务日志收缩的原理: 每个事务日志由多个虚拟日志文件组成(virtual log file).虚拟日志文件没有固定的大小,也没有固定的个数。在创建事务日志文件或者扩展事务日志文件时,SQL SERVER便会自动创建合适大小的虚拟日志文件,DBA无法控制虚拟日志文件的大小和个数。在扩展日志文件后,虚拟文件的大小是现有日志大小和新文件增量大小之和。因此,如果在创建数据库时,对数据库指定了比较小的初始大小,又指定了比较小的日志增长量,随着事务日志的自动扩展,虚拟日志文件个数会越来越多,从而影响了数据库性能。因此,在创建数据库时,尽量指定比较合适的初始事务日志大小,同时指定合理的事务日志增长量,这点可以参考数据文件的标准。如果大于10G或者更大的话,则指定固定的增长量,如果比较小,则指定按百分比的增长量来进行。对于每一个数据库来讲,都需要至少一个事务日志文件。事务日志文件是整个数据库的血液,如果没有事务日志的话,那么将无法进行任何操作。

    sql server 2008收缩日志具体步骤:

  1、右击数据库如下图选择,打开Files窗口 2、Files窗口如下图,File type 选择 Log,单击OK完成日志收缩。

  

 

  按以上方法操作没有效果,原因是数据库的恢复模式不是简单模式,只需要将恢复模式改为简单模式即可用以上操作来收缩日志,方便又好用。 将数据库恢复模式改为简单模式方法:1、右击数据库选择属性,弹出窗口如下图,选择Options选项,将 Recovery Model 改为 Simple 即可。

  

 

  按如下方法操作也可收缩日志:

  1、当数据库恢复模式为简单时。使用dbcc shrinkfile (logfile_name,target_size)命令来完成。如

  use mydb

  dbcc shrinkfile (mydb_log,10) --将mydb_log收缩至10m

  2、当数据库恢复模式为完全时。可以先将数据库模式改为简单模式,再使用上述方法来进行。

  use master

  alter database mydb set recovery simple

  dbcc shrinkfile (mydb_log,10) --将mydb_log收缩至10m 也可以直接备份事务日志文件后再收缩:

  use master

  backup log mydb to disk='d:/dd.bak' use mydb

  dbcc shrinkfile (mydb_log,10) --将mydb_log收缩至10m;

  3、通过分离数据库,然后再删除事务日志文件,再附加mdf数据文件,也可以达到某种意义上的事务日志收缩。

分享到:
点击次数:  更新时间:2016-06-02 15:56:19  【打印此页】  【关闭
京ICP备11045779号  北京工商

北京聚元亨新科技有限公司 版权所有

地址:北京市海淀区上地十街辉煌国际 邮编:100085