如何缩小MSSQL数据库日志的大小
解决方案
MSSQL数据库的大小包含数据(Data)和事务日志(TransactionLog)两个部分。
数据部分存储的是用户数据库中的数据,包含用户的数据表、视图、存储过程等等内容。
数据部分一般存储与数据库文件组中的.mdb文件中。一般来说,在正常使用的情况下,这
个部分的大小不会经常性地发生很大的变化,除非是用于存储论坛之类快速变化的数据内
容。一般而言,这个部分很少会需要缩小。
事务日志存储的是用户数据库操作的事务记录,主要是用于在数据库服务器发生故障(比
如电源故障之后),恢复数据库中的数据完整性而用的。这个部分一般存储于数据库文件
组中的.ldf文件中。这个部分的大小经常会发生剧烈的变化。
在某些情况下,由于用户的查询语句(SQL语句)书写的问题,会造成数据库文件大小的
急剧膨胀,尤其是日志文件会变得非常大。这个时候需要对数据库加以缩小。缩小的操作
分为两个步骤:
步骤一 截断数据库中的日志内容
BACKUP LOG 数据库名称 WITH TRUNCATE_ONLY
步骤二 强制数据库压缩其大小
DBCC SHRINKDATABASE ( 数据库名称 , TRUNCATEONLY )
这两个步骤需要使用查询分析器来执行。关于其具体的意义,请参考MSSQL数据库附带的
Transact-SQL的帮助文件。
评论已关闭