问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样清理或者删除MSSQL数据库日志文件?求高手指教

发布网友 发布时间:2022-04-25 12:20

我来回答

1个回答

热心网友 时间:2022-04-08 12:17

方法1:
第一步:
backup log database_name with no_log
或者 backup log database_name with truncate_only --no_log和truncate_only是在这里是同义的,随便执行哪一句都可以
第二步:
1.收缩特定数据库的所有数据和日志文件,执行 dbcc shrinkdatabase (database_name,[,target_percent])--database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比
2.收缩一次一个特定数据库中的数据或日志文件,执行 dbcc shrinkfile(file_id,[,target_size]) --file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小

两个dbcc都可以带上参数notruncate或truncateonly,具体意思看帮助。

方法2
(这个方法在sqlserver2000的环境下做一般能成功,在sqlserver7及以下版本就不一定了):
第一步:
先备份整个数据库以备不测
第二步:
备份结束后,在Query Analyzer中执行如下的语句:
exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息
第三步:
到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录
第四步:
在Query Analyzer中执行如下的语句:
exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。

以上方法在清除log日志中均有效。
但,能否让sql server 不产生log日志呢?以上方法好像均无效。
我这儿正好有个case:
我客户的sql server每天都会产生4,500M的log日志,每天都清除一下,非常不便。有没有办法实现不产生log日志呢?

我分析了一下客户产生log日志的原因,并且做了相应测试。
客户是每天将数据库清空,从总系统中将数据导入到sql server里。我感决sqlserver在插入时产生log不大,在delete整个库时产生log极大。
比如:
SELECT * into test_2 from b_bgxx
共45000条记录,产生十几M log,如果
delete from test_2
产生80多M log ,这明显存在问题。

虽然可以换成:
truncate table test_2
但我还是希望能找到不产生log的方法。就如oracle不产生归档一样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 元宵节是什么月相? 元宵节是中国的传统节日,是在农历的___,月球正处在图1中的___位置(阅... sqlserver2005,如何将一个数据库中的所有表的数据清空,而约束不删... Sqlserver数据库日志太大如何快速删除 所有节日的月相 sql数据库中怎么批量删除数据?如图:我想批量删除数据,命令在什么地方调... 春节、端午节、元宵节的农历日期,对应的月相分别是? 如何清理sql server 已满的数据库日志 元宵节正月十五日对应的月相是什么? 如何在SQLSERVER中快速有条件删除海量数据 元宵节是我国的传统节日,下列哪一幅图是元宵之夜的月相( )A.B.C.D 如何对sqlserver数据库表内数据批量处理(C#) 车载导航自己设置的密码忘记了怎么恢复出厂设置 车载导航里密码忘记了怎么恢复出厂设置? 汽车hs5导航如何恢复出厂设置? 车载导航恢复出厂设置 汽车导航恢复出厂设置恢复不了怎么办? 车载导航 如何恢复出厂设置 汽车导航恢复出厂设置的密码忘了怎么办? 车载导航强制恢复出厂设置 请写出下列传统节日的月相:春节是: 中秋节是: 元宵节是: 端午节是... 删除SQL数据以及对应文件 今年元宵节“十五的月亮十七圆”,最圆的时刻是什么时候? 春节,端午节,中秋节,元宵节的日期和月相是什么时候 如何让SQLServer定期自动删除同一数据库下的多事务日志? 哪些是以月相变化周期为依据确定的节日,哪些是以地球 春节 端午节 中秋节 元宵节的日期和月相 所有的农历节日的日期和月相 元宵节月亮是不是圆的 详细的英文日记格式 英语作文日记格式是怎么样的? 英语日记格式(给举个例子呗)??? 英文日记的格式是什么啊 英语日记格式及各月分简称 英文日记的格式 用英文写日记和信的格式是什么? 写一篇英语日记,记录你暑假里一天的生活(注意日记格式,时态不限,100... 英语日记格式周六。三月二十五日 英语日记格式八月九号 云卡会员管理系统怎么添加新产品信息