<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
方法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不产生归档一样。
<!--正文内容结束-->
分享到:
相关推荐
日志文件满而造成SQL数据库无法写入文件时,本文介绍了可以用清空日志、删除LOG文件快速清除SQLServer日志的方法。
如何清除SQL Server日志
每次看到暴涨的数据库日志就有些头大,如何清除SQL Server日志,让人头疼,这里有日志清楚的方法介绍。
这是一个清除SQLServer中日志文件冗余的专业工具,蛮好用的!
MS SQL清除日志的命令 如何清除sqlserver 日志? 【手工方式】 设置数据库为简单模式,自动收缩 1打开查询分析器输入命令 backup log databasename with no_log 2.再打开企业管理器--右键你要压缩的数据库--...
一款小巧方便的SqlServer日志清除工具,可用于SQL Server 7、SQL Server 2000、SQL Server 2005的各种版本的数据库日志的清除,使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼,使您的Sql Server数据库既...
一款小巧方便的SqlServer日志清除工具,可用于Sql Server 6.5到Sql Server 2000的各种版本的数据库日志的清除,使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼,使您的Sql Server数据库既小巧又精练。...
SQLSERVER 日志分析工具及使用文档 ,实用工具,可以根据日志数据还原,分析日志
SQL日志清理工具,清理sql server日志的一个小工具
可以查看sqlserver日志,并对日志做反向处理。
可用于Sql Server 6.5到Sql Server 2000的各种版本的数据库日志的清除,使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼,使您的Sql Server数据库既小巧又精练,实时运行,定时安全清除SqlServer的日志,...
清除sql server日志,缩小数据文件,可以设置数据库日志文件不增加等
功能:清除sql server日志,缩小数据文件,可以设置数据库日志文件不增加等 使用:输入任何一个sql server的用户名和密码,需要说明的是,如果不是sa,那么只能操作用户的数据库,用sa可以操作所有的数据库。输入...
SQL SERVER 日志收缩工具,收缩前请备份好数据库!
sql server 日志清除器
MS SQL Server日志收缩工具是款小巧好用的sql日志清理工具,主要就是帮助用户清除系统红无用的SQL日志文件,更具备了日志文件压缩功能,有需要的朋友快来下载。 重构版,兼容sqlserver 2008及以后版本,依旧是trunc...