SHRINKDATABASE
和DBCC
SHRINKFILE
其中DBCC
SHRINKDATABASE
命令对数据库进行压缩,DBCC
SHRINKFILE
命令对数据库中指定的文件进行压缩。
DBCC
SHRINKDATABASE
命令语法如下:
DBCC
SHRINKDATABASE
(database_name
[,
target_percent]
[,
{NOTRUNCATE
|
TRUNCATEONLY}]
)
各参数说明如下:
target_percent:
指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。
NOTRUECATE:
将数据库缩减后剩余的空间保留在数据库,中不返还给 *** 作系统
,如果不选择此选项,则剩余的空间返还给 *** 作系统。
TRUNCATEONLY
:
将数据库缩减后剩余的空间返还给 *** 作系统。使用此命令时SQL
Server
将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent
选项就无效了。
在程序组中,展开“Sqlserver”运行“查询分析器”。输入用户名、密码。
在工具栏的数据库列表中选择要 *** 作的数据库。
输入:select * from sysfiles 执行,可以看到下面的内容,记住其中的fileid字段的内容,也就是1或2,标识数据库的数据文件或日志文件,下面的命令要用到这里的值。
输入:dbcc shrinkdatabase(' 库名' ),收缩数据库,结果如下:可以看到压缩后的数据库文件的尺寸。
输入:dbcc shrinkfile(2, 0)执行,然后输入dbcc shrinkfile(1, 0)执行。两句命令中的第一个参数就是前面看到的FileID的值,表示了一个是日志文件,一个是数据文件。第二个参数0,表示收缩到初始大小。
输入:dbcc updateusage (0),执行更新 *** 作,完工!更新后可以跟之前的数据文件比对一下了,会有相对较大的尺寸上的优化了。
你用数据库管理器选中数据库,先分离,然后再附加,然后再点收缩,收缩的时候先收缩日志文件,一般能收缩很多,记得要填写数字啊,比如上面提示能收缩为0,你就填个5兆,这样预留一点空间,而且很快,收缩完日志文件之后再收缩数据库 同理比最小能收缩量大几兆就可以了,但是收缩数据库比较慢 需要很多时间欢迎分享,转载请注明来源:内存溢出
评论列表(0条)