一、简单方法
–SQL Server收缩方法
1、右键数据库→属性→选项→故障还原模型→设为简单→确定;
2、右键数据库→所有任务→收缩数据库→确定;
3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。
二、复杂方法
–SQL Server日志清空方法
在查询分析器中顺序执行以下三步,其中 databasename 为你的数据库文件名
1.清空日志:DUMP TRANSACTION databasename WITH NO_LOG
2.截断事务日志:BACKUP LOG databasename WITH NO_LOG
3.收缩数据库:DBCC SHRINKDATABASE(databasename)
(BACKUP LOG databasename WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志。
第一步只是将非活动的事务日志截断,并没有收缩数据库,只有进行第二项操作后,数据库才进行事务日志的清理工作,将截断的非活动事务删除,并将事务日志文件收缩到适当尺寸。)
3、收缩数据库文件(如果不压缩,数据库的文件不会减小)
企业管理器–右键你要压缩的数据库–所有任务–收缩数据库–收缩文件–选择日志文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
–选择数据文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同简单方法里第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
也可以用SQL语句来完成
–收缩数据库
DBCC SHRINKDATABASE(数据库名)
–收缩指定数据文件,1是文件号,可以通过这个语句查询到:
select * from sysfiles DBCC SHRINKFILE(1)
4、为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
在使用 SQL Server 时,数据库里的日志文件会越来越大,需要把它删除。 我先把这个数据库分离,在数据库上点右键 -> 所有任务 -> 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL Server 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于小型的应用,对于大型的系统就要找其它方法了。)
a.分离数据库
企业管理器–服务器–数据库–右键–分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库
企业管理器–服务器–数据库–右键–附加数据库
㈡ 怎样清理或者删除MSSQL数据库日志文件
数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQLServer删除日志文件的方法,供您参考,希望对您有所帮助。
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。
1、删除LOG
1.1 分离数据库
分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。
附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。
1.4 也可以通过命令才完成以上的操作
use master;
exec sp_detach_db @dbname='数据库名';
exec sp_attach_single_file_db @dbname='数据库名',@physname='D:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATATestDB.mdf'
Sp_detach_db:分离数据库;
sp_attach_single_file_db:附加单个数据库文件;在上述代码中只附加了数据文件,而未附加日志文件,言下之意就是删除了日志文件。
该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。
2. 清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG
3. 收缩数据库文件
DBCC SHRINKFILE ('TestDB_log',1)
SQL Server中“数据收缩”详解
4. 截断事务日志
BACKUP LOG TestDB WITH NO_LOG
该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
㈢ SQL数据库日志文件 可以删除吗
可以的