日期:2014-01-24  浏览次数:20713 次

数据库在日积月累的操作过程中,不但本身体积会慢慢增长,其日志的容量大小同样也随着数据库实体文件的增长而增长,且会占用很大的空间.MSSQL数据库的大小包含数据(Data)和事务日志(TransactionLog)两个部分。

数据部分存储的是用户数据库中的数据,包含用户的数据表、视图、存储过程等等内容。
数据部分普通存储与数据库文件组中的.mdb文件中。普通来说,在正常使用的情况下,这
个部分的大小不会经常性地发生很大的变化,除非是用于存储论坛之类快速变化的数据内
容。普通而言,这个部分很少会需求缩小。

事务日志存储的是用户数据库操作的事务记录,次要是用于在数据库服务器发生毛病(比
如电源毛病之后),恢复数据库中的数据完整性而用的。这个部分普通存储于数据库文件
组中的.ldf文件中。这个部分的大小经常会发生剧烈的变化。

在某些情况下,由于用户的查询语句(SQL语句)书写的问题,会形成数据库文件大小的
急剧膨胀,尤其是日志文件会变得非常大。这个时候需求对数据库加以缩小。缩小的操作
分为两个步骤:

步骤一 截断数据库中的日志内容
BACKUP LOG 数据库名称 WITH TRUNCATE_ONLY

步骤二 强制数据库紧缩其大小
DBCC SHRINKDATABASE ( 数据库名称 , TRUNCATEONLY )

这两个步骤需求使用查询分析器来执行。关于其具体的意义,请参考MSSQL数据库附带的
Transact-SQL的协助文件。

还有一种方法就是在MSSQL企业管理器的数据库属性>>选项中,将毛病还原>>模型设置为简单,然后确定,这样也可以直接减少日志文件的体积.