
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
下面有两个SQL语句可以达到在SQL Server 2005/2008压缩指定数据库文件和日志的大小的效果:
1、DBCC SHRINKDATABASE (Transact-SQL)
收缩指定数据库中的数据文件和日志文件的大小。
语法
DBCC SHRINKDATABASE
( 'database_name' | database_id | 0
[ ,target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]
参数
'database_name' | database_id | 0 要收缩的数据库的名称或 ID。如果指定 0,则使用当前数据库。
target_percent 数据库收缩后的数据库文件中所需的剩余可用空间百分比。
NOTRUNCATE 通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent 是可选参数。 文件末尾的可用空间不会返回给 *** 作系统,文件的物理大小也不会更改。因此,指定 NOTRUNCATE 时,数据库看起来未收缩。 NOTRUNCATE 只适用于数据文件。日志文件不受影响。
TRUNCATEONLY 将文件末尾的所有可用空间释放给 *** 作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与 TRUNCATEONLY 一起指定,将忽略 target_percent。 TRUNCATEONLY 只适用于数据文件。日志文件不受影响。
WITH NO_INFOMSGS 取消严重级别从 0 到 10 的所有信息性消息。
结果集
列名 说明
DbId 数据库引擎试图收缩的文件的数据库标识号。
FileId 数据库引擎尝试收缩的文件的文件标识号。
CurrentSize 文件当前占用的 8 KB 页数。
MinimumSize 文件最低可以占用的 8 KB 页数。这与文件的最小大小或最初创建时的大小相对应。
UsedPages 文件当前使用的 8 KB 页数。
EstimatedPages 数据库引擎估计文件能够收缩到的 8 KB 页数。
数据库在日积月累的 *** 作过程中,不但自身体积会慢慢增长,其日志的容量大小同样也随着数据库实体文件的增长而增长,且会占用很大的空间MSSQL数据库的大小包含数据(Data)和事务日志(TransactionLog)两个部分。 数据部分存储的是用户数据库中的数据,包含用户的数据表、视图、存储过程等等内容。数据部分一般存储与数据库文件组中的mdb文件中。一般来说,在正常使用的情况下,这个部分的大小不会经常性地发生很大的变化,除非是用于存储论坛之类快速变化的数据内容。一般而言,这个部分很少会需要缩小。 事务日志存储的是用户数据库 *** 作的事务记录,主要是用于在数据库服务器发生故障(比如电源故障之后),恢复数据库中的数据完整性而用的。这个部分一般存储于数据库文件组中的ldf文件中。这个部分的大小经常会发生剧烈的变化。 在某些情况下,由于用户的查询语句(SQL语句)书写的问题,会造成数据库文件大小的急剧膨胀,尤其是日志文件会变得非常大。这个时候需要对数据库加以缩小。缩小的 *** 作分为两个步骤: 步骤一 截断数据库中的日志内容
您好,我来为您解答:
SQL 2005 企业管理器实现方式
任务-》收缩-》文件
2008下两种方法压缩日志
1)
BACKUP LOG xxx TO DISK='xxxtrn'
收缩日志文件
2)
ALTER DATABASE SET RECOVERY SIMPLE
收缩日志文件
ALTER DATABASE SET RECOVERY FULL
如果我的回答没能帮助您,请继续追问。
以上就是关于自动收缩数据库日志 sql2005全部的内容,包括:自动收缩数据库日志 sql2005、如何压缩SQL Server 2005指定数据库文件和日志的大小、如何压缩MSSQL数据库日志的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)