首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何限制log文件的增长 [已结帖,结帖人:ThreeColor]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-21 14:28:25 楼主
    我用的是SQL2000,LOG文件增长太快,几天就1个G了.
    我现在的方法是每过几天就分离一下数据库,把log文件删了,再附加数据库.
    但是老是这样比较麻烦,有没有什么方法可以限制Log文件的增长?感觉log文件也没什么用.
    我试图在属性->事务日志 里面限制log文件的大小,但是会出错。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fengwl
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 14:30:071楼 得分:2
    我试图在属性->事务日志 里面限制log文件的大小,一般不会出错,估计你是在线指定大小,指定太小了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 14:37:362楼 得分:3
    可以在作业里
    BACKUP LOG database WITH NO_LOG
    DBCC SHRINKFILE ( {file_name | file_id }
    定期执行~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • slhhacker
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 23:02:353楼 得分:2
    强烈关注中,这是普遍的问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bwu851
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 01:34:074楼 得分:3
    引用 2 楼 wufeng4552 的回复:
    可以在作业里
    BACKUP LOG database WITH NO_LOG
    DBCC SHRINKFILE ( {file_name ¦ file_id }
    定期执行~~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 12:12:465楼 得分:0
    DBCC SHRINKFILE ( {file_name ¦ file_id }
    不懂事什么含义,有什么用?能不能举个例子
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 12:17:586楼 得分:0
    BACKUP LOG database WITH NO_LOG
    这句话运行了LOG文件大小一点也没变
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 12:30:257楼 得分:2
    引用 6 楼 ThreeColor 的回复:
    BACKUP LOG database WITH NO_LOG
    这句话运行了LOG文件大小一点也没变

    那是因为你没有执行dbcc shrinkfile

    (2) DBCC SHRINKFILE
    DBCC SHRINKFILE 命令压缩当前数据库中的文件。其语法如下:
    DBCC SHRINKFILE ( {file_name | file_id }
    { [, target_size] |
    [, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
    各参数说明如下:
    ·file_id
    指定要压缩的文件的鉴别号(Identification number, 即ID)
    。文件的ID 号可以通过 FILE_ID()函数或如本章前面所讲述
    的Sp_helpdb 系统存储过程来得到。
    ·target_size
    指定文件压缩后的大小。以MB 为单位。如果不指定此选项,SQL Server 就会尽最大可能地缩减文件。
    ·EMPTYFILE
    指明此文件不再使用,将移动所有在此文件中的数据到同一文件组中的其它文件中去。执行带此参数的命令后,此文件就可以用ALTER DATABASE 命令来删除了。 其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE
    命令中的含义相同。 例6-15: 压缩数据库mydb 中的数据库文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • colacat911
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 13:51:108楼 得分:2
    数据库重要么,不重要的话可以直接把恢复模式设为简单

    如果重要,那么记得清log之前备份
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ThreeColor
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 16:59:379楼 得分:0
    有点懂了,确实可以收缩LOG文件了,放到作业里定期执行就可以了。
    还有点疑问,不运行BACKUP LOG database WITH NO_LOG ,只运行DBCC SHRINKFILE  (DB_LOG ,2)这句行不行的?
    是不是两句话必须同时运行?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bwu851
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 09:26:2710楼 得分:2
    LZ先看看偶的贴子, 然后再决定你是不是要收缩LOG文件:
    http://topic.csdn.net/u/20080825/11/da2cfb55-1f40-41da-a750-64867e173d3e.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • colacat911
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 09:54:0411楼 得分:2
    引用 9 楼 ThreeColor 的回复:
    有点懂了,确实可以收缩LOG文件了,放到作业里定期执行就可以了。
    还有点疑问,不运行BACKUP LOG database WITH NO_LOG ,只运行DBCC SHRINKFILE  (DB_LOG ,2)这句行不行的?
    是不是两句话必须同时运行?


    问一下,你的数据库有没有备份的?

    没有备份的话慎用BACKUP LOG database WITH NO_LOG

    而且你的log增长那么快,没必要收缩。。。。。。。。。。

    感觉你的情况是根本不需要log........干脆把恢复模式设为简单不就好了,一了白了

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linco001
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 09:54:5112楼 得分:1
    不运行BACKUP LOG database WITH NO_LOG ,只运行DBCC SHRINKFILE  (DB_LOG ,2)这句行不行的?
    是不是两句话必须同时运行?

    前面一句是截断日志,后面进行压缩

    所以,当然要进行截断后压缩才有效
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rfq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 16:17:5713楼 得分:1

    截断然后压缩文件
    选择数据库的恢复模型
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved