请问 SQL SERVER 数据库日志如何限制其大小&删除其日志,释放空间!
各位好:
感谢您来查看此帖子。我是某站的管理员,有一定的访问量,使用SQL SERVER数据库,但日志文件过大,空间占用率很高,数据日志已经沉积有几个G的大小了,很可怕。我想设置其日志大小,但设置后访问asp文件会出错,显示数据库日志已满。设为不限制其大小吧,空间可是有限的,何况是上G以上的日志文件大小,让我很为难。
如图:http://www.1studio.net/other/db1.gif 所示。
我想请问各位朋友:
1、如何设置数据库日志的大小后,使他循环使用这个空间呢,日志大小满后就更新以后的数据使之循环得用这个有限的日志空间呢?
2、我当时的日志文件已经有4G多了,如何清空,释放空间?
望各位朋友提供解答方法,俺先望过,也希望跟大家一起交流,共同进步!
谢谢!
问题点数:0、回复次数:9Top
1 楼gmlxf(烛光)回复于 2003-11-02 13:32:57 得分 0
分离日志文件,然后重新附加数据库。Top
2 楼gmlxf(烛光)回复于 2003-11-02 13:34:17 得分 0
e.g.
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'
Top
3 楼pengdali()回复于 2003-11-02 13:35:07 得分 0
清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
Top
4 楼gmlxf(烛光)回复于 2003-11-02 13:35:21 得分 0
使用sp-detach-db后你就可以将你的日志文件移走了。
附加时候会自动重建一个500多k的日志文件。Top
5 楼pengdali()回复于 2003-11-02 13:35:50 得分 0
或截断日志:
backup log 数据库 with no_logTop
6 楼1studio(一豪)回复于 2003-11-02 14:00:18 得分 0
to 烛光:
你好。谢谢你的回复,但我没有明白分离数据库是何原理,因为我没有使用过此功能,希望你能再讲讲:)
to 大力:
你好。
1、“清空日志”的方法我试了一下:
DUMP TRANSACTION 1studio WITH NO_LOG
因我的数据库名为1studio,使用SQL查询分析器使用此SQL语句却提示错误:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '1' 附近有语法错误。
2、使用收缩日志文件:
我的日志太大,他允许收缩的大小也能设为满意的大小 如图:
http://www.1studio.net/other/db2.gif 所示。
我该怎么做?谢谢你的回复!谢谢!Top
7 楼1studio(一豪)回复于 2003-11-02 14:07:17 得分 0
我又试了一下:
DUMP TRANSACTION "1studio" WITH NO_LOG
执行OK,再查看其日志大小,还是没有变化,仍是那么大。。-_-
刚有说错的地方:
2、使用收缩日志文件:
我的日志太大,他允许收缩的大小也"不能"设为满意的大小 如图:
http://www.1studio.net/other/db2.gif 所示。
Top
8 楼chw126(向大家学习)回复于 2003-11-02 15:36:53 得分 0
你的数据库是不是是简单模式??Top
9 楼wunike(求知者)回复于 2003-11-25 11:24:52 得分 0
use userdb
go
dbcc shrinkfile(filename,大小)
go
用此语句可将你的日志收缩到你设定的大小,试试吧。Top




