
下面有两个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 的所有信息性消息。
SQL2000我尝试过将17G的数据库收缩到5G,收缩了5个小时(不是普通PC,是服务器,具体配置忘了)没搞完,最后忍受不了停了,另建一个数据库将数据库导入,删除旧数据库。我的经验是,占空比越大,收缩越慢,所以从此后我都建个作业,每周空闲时
在 SQL Server Management 的 对象资源管理器 的 数据库 中,右击 要压缩的数据库,选 任务->收缩->收缩文件,打开 收缩文件 窗口,选中 释放未使用的空间 ,确定。
以上就是关于如何压缩SQL Server 2005指定数据库文件和日志的大小全部的内容,包括:如何压缩SQL Server 2005指定数据库文件和日志的大小、sqlserver2000数据库文件mdf已经达到70g了,怎么压缩、如何压缩SQL2005数据库表未用空间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)