清除SQL Server数据库日志的两种办法

第一种:常规做法,推荐使用

1. 截断日志

BACKUP   LOG   < dbname >   WITH  TRUNCATE_ONLY

2. 收缩日志

USE   < dbname >
DBCC  SHRINKFILE ( < logfilename > )


第二种:非常规做法,存在丢失数据风险,不推荐使用

1: 分离数据库

exec  sp_detach_db  ' dbname '

2:删除LOG文件

3. 附加数据库

exec  sp_attach_db  @dbname =   ' dbname '
        , 
@filename1   =  N ' filename1_location '
 , ...


补充说明:

如果不希望日志增长,可以进行以下设置

1. 设置数据库恢复模式为“简单”

ALTER   DATABASE  dbname  SET  RECOVERY SIMPLE

当数据库执行检查点处理时如果事务日志占用事务文件超过其大小的70% 则将其内容清除

2. 设置数据库“自动收缩”选项为True

ALTER   DATABASE  dbname  SET  AUTO_SHRINK  ON

当数据库文件或日志文件的未用空间超过其大小的25%时,系统将自动缩减文件使其未用空间等于25% 

你可能感兴趣的:(SQLServer)