压缩数据库

2015-07-24 11:35:13 · 作者: · 浏览: 6
??

1.显示由整个数据库保留和使用的磁盘空间。

EXEC SP_SPACEUSED

2.显示数据库文件列表

SELECT * FROM SYSFILES

3.设置数据库恢复模式为简单

ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
GO

ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式

GO

4.压缩数据库文件

--日志

DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)--自动忽略"数据库收缩后的数据库文件中所需的剩余可用空间百分比",所以"11"可为其他值.

简单方式

DBCC SHRINKFILE(0)

DBCC SHRINKFILE(1)

0,1为数据库文件编号,通过sysfiles查询.

参数说明:

TRUNCATEONLY:将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与 TRUNCATEONLY 一起指定,将忽略 target_percent

可以提高压缩速度.

但是压缩率不高.

5.压缩数据库

简单方式

DBCC SHRINKDATABASE(0)

DBCC SHRINKDATABASE(0,1,TRUNCATEONLY)

0:为当前数据库

增加