收缩数据库-事务日志已满和'PRIMARY' 文件组已满的解决方案(转)

方法1: MSSQL2005日志的收缩
.右键在清除日志的数据库,如“TestDB”,点击[新建查询(Q)]
.输入以下SQL语句,其中“TestDB”是数据库名称
DUMP TRANSACTION TestDB WITH NO_LOG3.执行该SQL,成功后继续以下操作
.右键该数据库节点,点击[任务(T)] -> [收缩(S)] -> [文件(F)]
.在弹出的“收缩文件”对话框中,将“文件类型(T)”选为“日志”,将“收缩操作”选中“在释放未使用的空间前重新组织页(O)”
.在“将文件收缩到(K)”文本框中输入后面提示的最小大小的数值,点击[确定]即可。

方法2:

--1.清空日志
DUMP TRANSACTION oa WITH NO_LOG 
--2.截断事务日志:
BACKUP LOG oa WITH NO_LOG
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
--  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--  也可以用SQL语句来完成
 --收缩数据库
DBCC SHRINKDATABASE(oa)
 --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)

posted @ 2013-09-06 10:23  xfyn  阅读(651)  评论(0编辑  收藏  举报