DBCC SHRINKDATABASE
( 'database_name' | database_id | 0
[ ,target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]NOTRUNCATE 和 TRUNCATEONLY 选项可用于数据文件。如果为日志文件指定这两个选项,则将忽略这两个选项。不带任何选项的 DBCC SHRINKDATABASE 等效于带有 NOTRUNCATE 选项的 DBCC SHRINKDATABASE(后跟带有 TRUNCATEONLY 的 DBCC SHRINKDATABASE)。无论是否指定 target_percent,NOTRUNCATE 都将执行 DBCC SHRINKDATABASE 的实际数据移动操作。这包括将分配页从文件末尾移动到文件前部的未分配页。然而,文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。因此,如果指定 NOTRUNCATE 选项,数据文件好像没有收缩。试试上面的选项..也不行..
那就新建一个库..将这些表转移过去..再删除原库..把这个库改名..
( 'database_name' | database_id | 0
[ ,target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]NOTRUNCATE 和 TRUNCATEONLY 选项可用于数据文件。如果为日志文件指定这两个选项,则将忽略这两个选项。不带任何选项的 DBCC SHRINKDATABASE 等效于带有 NOTRUNCATE 选项的 DBCC SHRINKDATABASE(后跟带有 TRUNCATEONLY 的 DBCC SHRINKDATABASE)。无论是否指定 target_percent,NOTRUNCATE 都将执行 DBCC SHRINKDATABASE 的实际数据移动操作。这包括将分配页从文件末尾移动到文件前部的未分配页。然而,文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。因此,如果指定 NOTRUNCATE 选项,数据文件好像没有收缩。试试上面的选项..也不行..
那就新建一个库..将这些表转移过去..再删除原库..把这个库改名..
磁盘碎片的问题1、主要的原因是索引碎片,解决的办法就是对碎片进行整理,使用DBCC INDEXDEFRAG
2、整理完碎片后再使用DBCC SHRINKDATABASE命令对数据库进行压缩