首页 > 代码库 > 压缩数据库

压缩数据库

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:为当前数据库

压缩数据库