请指教!如何减少SQL LOG文件的大少?
我在SQL数据库建了一个用户数据库,但使用的时间长了,发现这个数据库的LOG已超过3G多容量,占了很多硬盘空间,现在想在不影响它的正常运行的前提下,把它册除或减少,有什么办法呢??请指教! 问题点数:0、回复次数:6Top
1 楼gzvictor()回复于 2003-12-03 09:24:30 得分 0
没有人懂吗?不会的!!来,来。。。大家想想办法!!!!Top
2 楼zjcxc(邹建)回复于 2003-12-03 09:31:30 得分 0
1:截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
3: 删除LOG
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
4: 如果想以后不让它增长
企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)Top
3 楼networm88()回复于 2003-12-03 09:39:19 得分 0
同意楼上的Top
4 楼bking(你让我不安)回复于 2003-12-03 13:37:39 得分 0
backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)Top
5 楼pengdali()回复于 2003-12-03 13:38:56 得分 0
按常规做法楼主应该备份日志。系统在你备份日志后自动会清空,如果你要直接清空用:DUMP TRANSACTION 库名 WITH NO_LOG 如果还要进一步释放空间:企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
Top
6 楼wunike(求知者)回复于 2003-12-03 16:26:58 得分 0
大力的方法就可以了,不过也可用一条收缩LOG文件的命令来完成,如下:
use userdb
go
dbcc shrinkfile(filename,大小)
go
其中filename是你的日志文件名。 大小: 是你设定的大小,如以前有3G你可以在这里设为100M等等运行后就会减小至100M 。Top
相关问题
- 关于 SQL Server7.0 的 log 文件
- 数据库log文件太大,如何清空,SQL 7.0 OR SQL 2000
- SQL - 临时文件
- 如何控制sql server 2000 log文件的增长?
- Sql Server 2000 A的数据库文件能不能在Server B上面恢复?没有LOG文件!
- 有dat和log文件,如何重建一个sql server6.5的数据库
- SQL SERVER 6.5 中,数据库LOG文件过大,如何完全删除?
- 请 tobyzhu(哑巴) 告诉我如何把LOG文件转成SQL语句,关注!
- 在MS_SQL Server 2k中 可以通过log文件还原数据库吗?
- MS_SQL文件问题?




