先执行完你的代码后:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
解决方案 »
- 关于GROUP BY和的疑惑
- 查询语句,求解答 !
- 转换的结果怎样保存为新表
- SQL Server 能不能创建一个结构体变量?
- 有一张表,有三个字段(去年收入,今年收入,增长率),增长率=(今年-去年)/去年,但是我去年收入有为0的记录,但0不能做为除数,我应该怎样处理呢
- 在SQL Server中如何保存和输出图片
- continue little problem
- 一个有关备份数量的问题.
- 在几百万条数据的表中优化查询的方法有吗?网站上也有几百万条数据,怎么那么快;
- 我装oracle8.1.5,为什么找不到Enterprise Manage?
- 删除表中所以记录时怎样才能让整型自增从1开始重计?
- 怎样比较日期的大小?
DBCC SHRINKFILE( @LogoFileName,@NewSize)
1:分离数据库
2:删除LOG文件
3:附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG 再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
BACKUP LOG 库名 WITH NO_LOG DBCC SHRINKFILE( '日志文件名',新的大小数值型如1)日志文件名是这样的:select name from sysfiles
如:
mastlog
--在查询分析器,选中所要清理日志的数据库,执行如下SQL
backup log 数据库名 with no_log
DBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小)
在当前数据库下
select fileid,groupid,name from sysfiles where groupid=0
----------------------------------------
得到以下结果
fileid groupid name
2 0 test_log 以上结果,fileid为日志文件ID,name为test_log你可以
backup log test with no_log
dbcc shrinkfile (2,2)
or
backup log test with no_log
dbcc shrinkfile ('test_log',2)
如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型 选择 简单模型就可以了!
或用SQL语句
alter database 数据库名 set recovery simple方法2、
SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,
然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。