MS SQL 7.0 日志文件减肥(200分)

  • 主题发起人 主题发起人 puzzle
  • 开始时间 开始时间
P

puzzle

Unregistered / Unconfirmed
GUEST, unregistred user!
现有一数据库 MS SQL 7.0,
两个文件
*.MDF数据库, 才500M
*.LDF是日志,目前这个日志已经达到了6.19G了,
该数据库十分重要,我想为他日志减肥,如何做?
要具体步骤。

5.1前结束贴子。
 
sql server 有个checkpoint 默认就有阿,可以自己截断日志数据。
看database 的 属性。

具体可到books online 中查 CHECKPOINT 试试
 
你说的是在创建的时候可以,我的现在已经6G了他不允许我把新的尺寸改小。
另外,如果我把这个事务日志删了,再建个新的如何?
它主要记录了什么?
 
1.截断日志
2.其实你把数据库backup一次,日志文件会自动截断


快点,要不你有难,而且是大难.
 
SQL 7 的所有任务中有一项是:Truncate Log可以删除日志,另外日志文件在属性中
应限制大小。
如果需要删除日志,可以先Truncate Log,然后备份数据库,删除现有数据库,建立
新库,恢复数据库即可!
 
to sonic,
我每天都自动备份整个库的,可是没见日志变小呀!
 
打开数据库的属性有一个 Options 选项,在Truncate Log on checkpoint 上打钩
 
o,对,truncate日志后,日志文件并不变小.
 
你先备份,恢复个新的看看!
 
so sprotsman:
前提是我的这个库不能停呀,除非实在没办法了。
 
直接限定log文件的大小不就行了。
 
to chenlili:
限定了大小之后,如果达到了尺寸,新的日志就写不进去了,他不会自动删掉旧的的。
这和没日志没什么区别。
 
大家接着出主意呀!快到5。1了,7天假log就该满了。
 
在下列情况下,日志文件的物理大小将减少:

执行 DBCC SHRINKDATABASE 语句时。
执行引用日志文件的 DBCC SHRINKFILE 语句时。
自动收缩操作发生时。
 
to chelon:
你这三句话是sql server的online help中的,我的数据库设置了自动收缩,而且握手动收缩过数据库,
可是日志依然没有变化,我不知道为什么。
 
呵呵!最简单的方法:删除*.LDF文件,保你药到病除。
 
to softdog:
在Enterprise Manager 里面你是删不掉的。

我把另一个我自己测试用的mssql 2000的数据库,
我用
DBCC SHRINKFILE(xxxx, 20) 它没减少,(有报告表格)
但是备份了之后他的LDF文件就自动收缩到了128M,

可是我的那个ms sql 7.0数据库就死硬,他每天有自动备份,而且把他的truncate Log at checkpoint
也打勾了(后加上的,估计是问题所在),它的日志却没减少,已经达到了6.9G。

今日又彻底废死劲看了一下mssql online help,冒死 DBCC SHRINKFILE(xxxx, 100),
经过1:53秒的惊魂,它的日志奇迹般的缩到了256M。 :)

可是我想知道为什么之前的自动备份和手动备份没有减少日志的物理尺寸(至于逻辑日志的大小也不知道变没变),希望大家给我个说法,再次谢谢!

暂定对于给与热情回答的朋友表示感谢,额外增加100分!
 
to puzzle:
不是在Enterprise Manager中删除日志啦,直接在我的电脑中把那个.LDF干掉就行了。
不过前提是没有用户打开该数据库,不需要停止sql的服务的。

 
to softdog:
直接删除这个日志文件会有什么后果吗?有人试验过吗?
我的这个数据库是个应用程序的数据库,不能停下来的。

另外问一下,这个库的备份文件我能导入别的数据库吗?
 
to puzzle:

放心吧!我经常这样干!
如果你实在不放心,可以先备份。你的那个程序不能关闭3秒钟吗?只要有删除一个文件
的时间就可以了。


另外问一下,这个库的备份文件我能导入别的数据库吗?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
可以的,不过要动点小手脚。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部