1、用Enterprise Manager 压缩数据库
在Enterprise Manager 中在所要压缩的数据库上单击右键,从快捷菜单中的“所有任务(All Tasks)”中选择“Shrink Database(压缩数据库)”选项
、用Transact-SQL 命令压缩数据库
可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令来压缩数据库。其中DBCC SHRINKDATABASE 命令对数据库进行压缩,DBCC SHRINKFILE 命令对数据库中指定的文件进行压缩。
(1) DBCC SHRINKDATABASE
DBCC SHRINKDATABASE 命令语法如下:
DBCC SHRINKDATABASE (database_name [, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各参数说明如下:
target_percent 指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。
NOTRUECATE
将数据库缩减后剩余的空间保留在数据库,中不返还给 *** 作系统。如果不选择此选项,则剩余的空间返还给 *** 作系统。
TRUNCATEONLY
将数据库缩减后剩余的空间返还给 *** 作系统。使用此命令时SQL Server 将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent 选项就无效了。
压缩数据库mytest 的未使用空间为数据库大小的20%。
dbcc shrinkdatabase (mytest, 20)
运行结果如下:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
(2) DBCC SHRINKFILE
DBCC SHRINKFILE 命令压缩当前数据库中的文件。其语法如下:
DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |
[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
各参数说明如下:
file_id
指定要压缩的文件的鉴别号(Identification number, 即ID)。文件的ID 号可以通过 FILE_ID()函数或如本章前面所讲述的Sp_helpdb 系统存储过程来得到。
target_size
指定文件压缩后的大小。以MB 为单位。如果不指定此选项,SQL Server 就会尽最大可能地缩减文件。
EMPTYFILE
指明此文件不再使用,将移动所有在此文件中的数据到同一文件组中的其它文件中去。执行带此参数的命令后,此文件就可以用ALTER DATABASE 命令来删除了。
其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE 命令中的含义相同。
例: 压缩数据库mydb 中的数据库文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)
你可以通过执行Fixup ,Campact和Updall来解决这个问题1.Fixup -f
修复(修复和检查数据库里的所有文档)
2. Compact -i -c -d -K
压缩(忽略错误,使用拷贝样式,放弃所有已创建视图索引,设置数据库最大限额)
3. Updall -R
注意Domino中执行命令 要写Load 如 load Compact -i -c -d -K
前两个命令也可以用Domino Administrator从界面里发出,这样更简便,只要打开对应服务器/本地,选择文件,就可以从菜单中执行了
可以使用DBCCSHRINKDATABASE
和DBCC
SHRINKFILE
命令来压缩数据库。
其中DBCC
SHRINKDATABASE
命令对数据库进行压缩,DBCC
SHRINKFILE
命令对数据库中指定的文件进行压缩。
DBCC
SHRINKDATABASE
命令语法如下:
DBCC
SHRINKDATABASE
(database_name
[,
target_percent]
[,
{NOTRUNCATE
|
TRUNCATEONLY}]
)
各参数说明如下:
target_percent:
指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。
NOTRUECATE:
将数据库缩减后剩余的空间保留在数据库,中不返还给 *** 作系统
,如果不选择此选项,则剩余的空间返还给 *** 作系统。
TRUNCATEONLY
:
将数据库缩减后剩余的空间返还给 *** 作系统。使用此命令时SQL
Server
将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent
选项就无效了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)