数据库事务日志清除操作指南

合集下载

如何清理SQL Server中的事务日志

如何清理SQL Server中的事务日志

内部技术资料如何清理SQL Server中的事务日志第1页目录第一章如何手动清理数据库的事务日志 (3)1.1 运行SQL Server 2000中的工具“查询分析器” (3)1.2 加载SQL语句 (4)1.3 执行SQL语句 (6)第二章如何自动清理数据库的事务日志 (8)2.1 运行SQL Server 2000 “企业管理器”中的“SQL Server 代理” (8)2.2 新建一个“作业” (9)2.3 设定“作业”的执行内容 (10)2.4 设定“作业”的执行周期 (13)注:⏹SQL Server数据库在使用过程中,日志文件会不断增大,日志文件一旦过大会造成系统性能的明显下降,故,在使用过程中,按照下列方法可以清理日志文件。

⏹本文中的SQL Server数据库以某项目上正在使用的数据库为例。

该数据库进行大量的数据交换,事务日志文件平均每天增加5~10Mb。

⏹本文中所有的操作均在服务器端进行,操作系统为Microsoft Windows 2000Server,SQL Server的版本为Microsoft SQL Server 2000 Enterprise Edition。

数据库有两个,名称为JDDW3800和JDDW3800Para。

⏹本文中针对数据库的清理操作仅针对数据库JDDW3800,而不包括JDDW3800Para。

如果需要清理数据库JDDW3800Para,请仿照本文进行操作。

⏹在本文中,清理数据库JDDW3800的SQL文件名称为“LogShrink_JDDW3800.sql”,清理数据库JDDW3800Para的SQL文件名称为“LogShrink_JDDW3800Para.sql”。

⏹在本文中SQL Server实例的名称为“SPRINY”。

第一章如何手动清理数据库的事务日志手动清理事务日志的总体步骤如下:1)运行SQL Server 2000中的工具“查询分析器”。

SQL Server 数据库清除日志的方法

SQL Server 数据库清除日志的方法

SQL Server 数据库清除日志的方法方法一:1、打开查询分析器,输入命令BACKUP LOG database_name WITH NO_LOG2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。

方法二:设置检查点,自动截断日志一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据方法三:通过SQL收缩日志把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可SET NOCOUNT ONDECLARE @LogicalFileNamesysname,@MaxMinutes INT,@NewSize INTUSE tablename -- 要操作的数据库名SELECT @LogicalFileName = 'tablename_log', -- 日志文件名@MaxMinutes = 10, -- Limit on time allowed to wrap log.@NewSize = 1 -- 你想设定的日志文件的大小(M)-- Setup / initializeDECLARE @OriginalSizeintSELECT @OriginalSize = sizeFROM sysfilesWHERE name = @LogicalFileNameSELECT 'Original Size of ' + db_name() + ' LOG is ' +CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'FROM sysfilesWHERE name = @LogicalFileNameCREATE TABLE DummyTrans(DummyColumn char (8000) not null)DECLARE @Counter INT,@StartTime DATETIME,@TruncLog VARCHAR(255)SELECT @StartTime = GETDATE(),@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'DBCC SHRINKFILE (@LogicalFileName, @NewSize)EXEC (@TruncLog)-- Wrap the log if necessary.WHILE @MaxMinutes> DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expiredAND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)AND (@OriginalSize * 8 /1024) > @NewSizeBEGIN -- Outer loop.SELECT @Counter = 0WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))BEGIN -- updateINSERT DummyTrans VALUES ('Fill Log')DELETE DummyTransSELECT @Counter = @Counter + 1ENDEXEC (@TruncLog)ENDSELECT 'Final Size of ' + db_name() + ' LOG is ' +CONVERT(VARCHAR(30),size) + ' 8K pages or ' +CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'FROM sysfilesWHERE name = @LogicalFileNameDROP TABLE DummyTransSET NOCOUNT OFF方法四:删除日志文件。

清除SQLServer数据库日志(SqlServer2005)

清除SQLServer数据库日志(SqlServer2005)

今天把服务器上的论坛数据库附加到本地,附加过程中就觉得不对劲,速度奇慢,附加完一看,日志文件整整占了23G。

必须清除掉,不然太占空间了。

上网找了个清除日志的方法。

我在清除过程中用了第1,2,3,5步骤,顺利将日志文件BBS_log.ldf从23G变为了1M。

我执行如下:1.清空日志DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小)右键数据库->任务->收缩->数据库->确定4.将数据库设为自动收缩右键数据库->属性->选项->自动->自动收缩设为True原文如下:--压缩日志及数据库文件大小1.清空日志DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCC SHRINKFILE(1)4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)a.分离数据库:企业管理器--服务器--数据库--右键--分离数据库b.在我的电脑中删除LOG文件c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库此法将生成新的LOG,大小只有500多K或用代码:下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

门禁系统ProWatch软件数据库日志清理方法

门禁系统ProWatch软件数据库日志清理方法

门禁系统ProWatch软件数据库日志清理方法
方法一:(简单方法,只需要在MSSQL的企业管理器操作,不需要执行SQL命令)1、右键数据库→属性→选项→故障还原模型→设为简单→确定;
2、右键数据库→所有任务→收缩数据库→确定;
3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。

方法二:(需要SQL的企业管理器及查询分析器)
1、清空日志:(在查询分析器内执行)
DUMP TRANSACTION PWNT WITH NO_LOG
2、截断事务日志:(在查询分析器内执行)
BACKUP LOG PWNT WITH NO_LOG
3、收缩数据库文件(如果不压缩,数据库的文件不会减小)
->企业管理器→右键你要压缩的数据库→所有任务→收缩数据库
→收缩文件→选择日志文件→在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,点确定就可以了。

→收缩文件→选择数据文件→在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,点确定就可以了。

(也可以用SQL语句在查询分析器执行来完成)
--收缩数据库:
DBCC SHRINKDATABASE(PWNT,10)
5、为了以后能自动收缩,做如下设置:
企业管理器→服务器→右键数据库→属性→选项→选择"自动收缩"
(也可以用SQL语句在查询分析器执行来设置)
--设置数据库自动收缩:
EXEC sp_dboption 'PWNT', 'autoshrink', 'TRUE'。

清理 sql server 数据库日志的几种方法

清理 sql server 数据库日志的几种方法

清理 SQL Server 数据库日志的几种方法随着企业数据量的不断增加,数据库的日志文件也会随之增长。

数据库日志文件的不断增长会消耗大量磁盘空间,甚至会影响数据库的性能。

定期清理数据库日志是数据库管理的一个重要环节。

本文将介绍清理 SQL Server 数据库日志的几种方法,帮助数据库管理员解决数据库日志文件过大的问题。

一、备份事务日志1. 利用 SQL Server Management Studio (SSMS) 进行备份通过使用 SSMS,可以进行数据库事务日志的定期备份。

在 SSMS 中选择要备份的数据库,右键点击“任务”->“备份”,在备份类型中选择“仅事务日志”,即可完成事务日志的备份。

2. 利用 T-SQL 命令进行备份在 SQL Server 中,可以通过使用 T-SQL 命令进行事务日志的备份。

例如:```BACKUP LOG [数据库名] TO DISK = '备份文件路径' WITH NOFORMAT, NOINIT, NAME = '备份名称', SKIP, NOUNLOAD, STATS = 10```通过上述两种备份方式,可以定期备份数据库的事务日志,避免日志文件过大。

二、修改日志文件的增长方式1. 修改日志文件增长的百分比在数据库管理中,可以通过修改数据库的日志文件的增长百分比来控制日志文件的增长。

通过减小增长百分比,可以减缓日志文件的增长速度,从而减少磁盘空间的消耗。

2. 修改日志文件的增长大小除了修改增长百分比外,还可以通过修改日志文件的增长大小来控制日志文件的大小。

将增长大小设置为一个合适的值,可以避免日志文件过大,减少磁盘空间的占用。

三、截断事务日志1. 利用 SQL Server Management Studio (SSMS) 进行截断通过使用 SSMS,可以对数据库的事务日志进行截断。

在 SSMS 中选择要截断的数据库,右键点击“任务”->“收缩”->“文件”,选择要收缩的文件类型为“日志”,即可完成事务日志的截断。

数据库日志清除

数据库日志清除
--收缩数据库
DBCC SHRINKDATABASE(shopdata)
--设置自动收缩
EXEC SP_DBOPTION shopdata,AUTOSHRINK,TRUE
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 库名 modify file(name=逻辑文件名,maxsize=20)
--备份数据库
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf'
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:

数据库事务日志清除操作指南

数据库事务日志清除操作指南

SQL Server事务日志备份的清除操作指南事务日志清除目的:SQL Server数据库由一个.mdf文件与.ldf文件组成,mdf是主数据存储的文件,ldf是数据库日志存储的文件。

对于日志文件,因每次SQL 发生的操作(插入、更新、删除)都会把操作日志记录到日志文件中(以备可通过日志还原),因此日志文件每天都会增长(增长速度会明显比mdf文件快,有时一个月没清除就会达到几个G的大小),因此需要对事务日志中已有的历史不活动的日志做清除,以防止数据库ldf文件的无限彭胀。

(目前还未用过ldf文件来做恢复的,况且用他恢复也不安全,因此ldf文件中数据可以清除).SQL通过对事务日志备份动作来对不活动的日志进行清除截断。

在定义数据库的事务日志清除前,请先确保Sql server服务器端 Sql Server agent服务是否开启,只有服务器端的Sql Server agent服务开启才能进行如下述的服务库端的自动备份。

第一步:找到需设置事务日志备份的数据库:如lm_hr点击鼠标右键先选择”所第二步:在备份四个选项中,请选择“事务日志”项目在备份四个选项中,第三步:选择好“事务日志”之后,点击“添加”按钮选择好“事务日如’备份到’下方已有指定文件的路径,请第四步:设置文件名以及选择文件名的存储路径点击“”按钮,选择注意:存储路径最好不要指向C盘(系统文件盘),防止系统重新安装时,文件被格式化!存放第五步:设置好文件的存储路径和名称后,点击“确定”设置好文件的存储第六步:选择“重写”中的“重写现有媒体”选项选择“重写现有媒体”,这种第七步:选择“调度”对日志备份进行时间调度设置在“调度”前方框里打上‘√’,第八步:对“调度”时间进行详细设置单击点击“更填写调度的名称,以第九步:对“发生频率”,“每日频率”以及“持续时间”设置第十步:设置完毕,直接点击“确定”按钮若用户希望数据库从2006-12-16开始每天夜里1点自动备份数据”发生频设置完毕,直接点击“确定”按钮。

数据库日志清除办法

数据库日志清除办法

数据库日志清除办法:
1.打开数据,在数据库erp_30上单击右键,点击“任务”里的“分离”,勾选图上所示的
两个勾选框后,点击确定
2.成功后,到f盘下的data文件夹,删除图中选中的文件(特别大的那个文件一般超过
200g)
3.打开数据库,此时erp_30已经没有了,点击“数据库”如下图所示,单击右键,选择
“附加”,添加f盘下data文件夹中的刚才没删除的文件,此时下面的框数据库详细信息会显示两个文件,删除后面显示未找到的文件,点击确定。

4.附加完成之后下面应出现dotnet_erp30这个数据库
5.返回135服务器,点击开始---所有程序—明源软件—数据库配置工具,录入正确的数据
库配置信息即可。

db2数据库日志清理

db2数据库日志清理

1、l‎o ad 方‎法装入数据‎:ex‎p ort ‎t o te‎m pfil‎e of ‎d el s‎e lect‎* fr‎o m ta‎b lena‎m e wh‎e re n‎o t 清理‎条件;‎l oad ‎f rom ‎t empf‎i le o‎f del‎modi‎f ied ‎b y de‎l prio‎r ityc‎h ar r‎e plac‎e int‎o tab‎l enam‎enon‎r ecov‎e rabl‎e;说‎明:‎在不相关的‎数据表ex‎p ort数‎据时,可以‎采取并发的‎形式,以提‎高效率;‎tabl‎e name‎指待清理t‎a ble的‎名称;‎m odif‎i ed b‎y del‎p rior‎i tych‎a r防止数‎据库记录中‎存在换行符‎,导致数据‎无法装入的‎情况; ‎r epla‎c e in‎t o对现数‎据库中的内‎容进行替换‎,即将现行‎的数据记录‎清理,替换‎为数据文件‎内容;‎n onre‎c over‎a ble无‎日志方式装‎入;2‎、查找当前‎的应用:d‎b2 li‎s t ap‎p lica‎t ion ‎g rep ‎b tpdb‎s;3‎、删除当前‎正在使用的‎a ppli‎c atio‎n:d‎b2 "f‎o rce ‎a ppli‎c atio‎n (id‎1,id2‎,id3)‎"id‎1,id2‎,id3 ‎是list‎显示的应用‎号;4‎、查看当前‎应用号的执‎行状态:‎db2 ‎g et s‎n apsh‎o t fo‎r app‎l icat‎i on a‎g enti‎d 299‎grep‎row‎5、查看‎数据库参数‎:db‎2 get‎db c‎f g fo‎r //当‎前数据库可‎以省略‎6、修改数‎据库的lo‎g数据:‎db2 ‎u pdat‎e db ‎c fg u‎s ing ‎<参数名>‎<参数值‎>7、‎d b2st‎o p fo‎r ce的用‎法:在‎进行bin‎d的时候出‎现如下错误‎:sq‎l0082‎c an e‎r ror ‎h as o‎c curr‎e d wh‎i ch h‎a s te‎r mina‎t ed p‎r oces‎s ing.‎sql‎0092n‎n o pa‎c kage‎was ‎c reat‎e d be‎c ause‎of p‎r evio‎u s er‎r ors.‎sql‎0091n‎b indi‎n g wa‎s end‎e d wi‎t h "3‎" err‎o rs a‎n d "0‎" war‎n ings‎.主要‎是表文件被‎加锁,不能‎继续使用;‎在进行‎s top的‎时候报错:‎d b2st‎o p8‎/03/2‎005 2‎1:46:‎530 0‎sql1‎025nt‎h e da‎t abas‎e man‎a ger ‎w as n‎o t st‎o pped‎beca‎u se d‎a taba‎s es a‎r e st‎i ll a‎c tive‎.sq‎l1025‎n the ‎d atab‎a se m‎a nage‎r was‎not ‎s topp‎e d be‎c ause‎data‎b ases‎are ‎s till‎acti‎v e.‎需要使用如‎下命令可以‎解决这个问‎题: db‎2stop‎forc‎e08‎/03/2‎005 2‎1:47:‎49 0 ‎0 sql‎1064n‎d b2st‎o p pr‎o cess‎i ng w‎a s su‎c cess‎f ul.‎sql1‎064nd‎b2sto‎p pro‎c essi‎n g wa‎s suc‎c essf‎u l.‎然后启动数‎据库db2‎s tart‎,连接数据‎库db2s‎后,重新进‎行bind‎即可。

SQLserver2008删除数据库日志

SQLserver2008删除数据库日志

SQLserver2008删除数据库⽇志现象:当数据库事务⽇志满了,需要操作删除对应数据库的⽇志处理⽅法:使⽤SQLserver数据库⼯具登录对应的数据库,操作以下语句注意1:mssql4291828_db设置为对应数据库名称USE [mssql4291828_db]GOALTER DATABASE [mssql4291828_db] SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE [mssql4291828_db] SET RECOVERY SIMPLEGOUSE [mssql4291828_db]GO--此处需要注意,并⾮所有数据库的⽇志⽂件名都是“数据库名_log”DBCC SHRINKFILE (N'mssql4291828_db_Log' , 0,TRUNCATEONLY)GOUSE [mssql4291828_db]GOALTER DATABASE [mssql4291828_db] SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE [mssql4291828_db] SET RECOVERY FULLGO注意2:如果不知道数据库⽇志⽂件名,可以执⾏以下语句,查询指定数据库(如:mssql4291828_db)的⽇志⽂件名称USE [mssql4291828_db]GOSELECT name FROM SYS.database_files WHERE type_desc='LOG'处理完成后可以再次检查下⽇志查看数据库⽇志⼤⼩ sqlServer 如何查看数据库⽇志⽂件的⼤⼩ 查询分析器执⾏命令:dbcc sqlperf(logspace)。

管家婆数据库日志清理

管家婆数据库日志清理

需要清理数据库:
1.
2.账套与版本不符。

一、清理数据库日志:
1.打开数据库:
2.打开“数据库日志清理”文件:
数据库日志清理代码:
USE [master]
GO
ALTER DATABASE常州启冉软件有限公司SET RECOVERY SIMPLE WITH NO_WAIT GO
ALTER DATABASE常州启冉软件有限公司SET RECOVERY SIMPLE --简单模式
GO
USE常州启冉软件有限公司
GO
DBCC SHRINKFILE (N'GRASP20_Log', 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE常州启冉软件有限公司SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE常州启冉软件有限公司SET RECOVERY FULL--还原为完全模式
GO
3.将“常州启冉软件有限公司”全部更换为数据库的名字(例如:工贸T9演示账套)
4.如图所在位置选择数据库名,单机执行:
5.执行完毕后,选中相应数据库右击,进行数据库和文件的收缩:
点击确定即可
6.数据库日志清理完成了,下面清理备份文件,在软件安装目录下的backup文件夹下:
删除时间较早的文件,将每年最后一天的备份留下。

数据库2008清理日志

数据库2008清理日志

数据库2008清理日志数据库2008是一款广泛应用于企业和个人的数据库管理系统。

作为一种重要的数据存储和管理工具,数据库2008的日志清理是一项至关重要的任务。

本文将介绍数据库2008清理日志的目的、步骤和注意事项,帮助读者更好地理解和操作数据库2008。

在开始讲解数据库2008清理日志之前,我们先来了解一下日志的概念。

数据库2008中的日志是用来记录数据库操作的详细信息的。

在数据库2008中,每当发生一次数据库操作,比如插入、更新或删除数据,都会在日志中记录下来。

这些日志对于数据库的恢复和故障排除非常重要。

然而,随着时间的推移,日志文件会越来越大,占用大量磁盘空间。

因此,定期清理日志是必要的。

清理日志的目的是释放磁盘空间,提高数据库的性能。

当磁盘空间不足时,数据库的读写速度会受到影响,导致系统响应变慢。

另外,日志文件过大也会增加数据库备份和恢复的时间和成本。

因此,定期清理日志是数据库管理的重要环节。

下面是清理日志的步骤:1. 首先,确定清理日志的频率。

一般来说,每天清理一次日志是比较合适的。

但是,根据数据库的实际情况,也可以选择每周或每月清理一次。

2. 在清理日志之前,需要先备份数据库。

这是非常重要的,因为清理日志可能会导致数据丢失或数据库不可用。

通过备份数据库,可以在清理日志后恢复数据。

3. 打开数据库2008的管理工具,并选择要清理的数据库。

在数据库属性中,找到“日志”选项。

4. 在“日志”选项中,可以看到当前日志的大小和使用情况。

根据实际情况,确定清理的策略。

可以选择手动清理日志,也可以设置自动清理。

5. 如果选择手动清理日志,可以点击“清理日志”按钮。

系统会自动清理不再需要的日志,并释放磁盘空间。

如果选择自动清理,可以设置清理的频率和条件。

在进行数据库2008清理日志时,还需要注意以下几点:1. 清理日志之前,确保数据库没有正在进行的重要操作。

如果在清理过程中发生故障,可能会导致数据丢失或数据库不可用。

Sbase清除日志

Sbase清除日志

一. Sybase数据库清除日志1. cmd进入命令窗口.2. 输入以下命令:isql –Usa –S Servername (数据库服务名)Password:如果没有密码直接回车1〉use pj(数据库名)2〉go3〉dump tran pj with no_log4〉go二. Sybase数据库清除表中数据1. cmd进入命令窗口.2. 输入以下命令:isql –Usa –S Servername (数据库服务名)Password:如果没有密码直接回车1〉use pj(数据库名)2〉go3〉trun cate table TableName(表名)4〉go三.在Sybase中查看表中数据1.打开Sybase 下的SQL Advantage 。

2.选择菜单[Server]---[Connect].见下图2.见下图,选择数据库。

点Ctrl+E执行,见结果:四.数据库备份与恢复1.备份数据库⑴选择要备份的数据库.点右键,选择备份.见下图.⑵出现以下窗口:选择下一步.⑶选择备份类型: 选择下一步.⑷选择转储设备: 选择[增加],出现以下窗口:填写路径及文件名.不能是中文路径确定后选择下一步.⑸选择备份名: 点下一步⑹点击完成,开始备份:⑺在H:\下创建了123备份文件.2.恢复数据⑴选择要备份的数据库.点右键,选择备份.见下图.⑵创建一个恢复命令: 选择下一步.出现以下窗口:选择下一步.⑶ 选择转储设备:确定后,选择下一步至完成.出现恢复画面:⑷ 数据恢复完成.填写路径及文件名.不能是中文路径。

db2数据库日志清理(日志归档)

db2数据库日志清理(日志归档)

统计并轨二期部署完成后,数据下行数据量较大,数据库日志增长较快,因此近期需要经常对数据库做日志归档操作,以省局数据库为例步骤如下:1. 以root用户登录数据库服务器(DB2Server)2. 日志归档操作,此操作只能在备份数据库成功之后执行。

如备份不成功,则此部分不能执行。

stma数据库su – db2admindb2 connect to stma user db2admin using db2admindb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetrone数据库db2 connect to rone user db2admin using db2admindb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetroeee数据库db2 connect to roeee user db2admin using db2admindb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetdatacdb数据库db2 connect to datacdb user db2admin using db2admindb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetstmadc数据库db2 connect to stmadc user db2admin using db2admin db2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetdceii数据库db2 connect to dceii user db2admin using db2admindb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetdatactr数据库db2 connect to datactr user db2admin using db2admin db2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetdataprov数据库db2 connect to dataprov user db2admin using db2admin db2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect resetsccmprov数据库(地市为sccmcity)db2 connect to sccmprov user scuser using scuserdb2 get db cfg | grep -E 'First active log file'记录下首活动日志名S00*****.LOG,之后db2 prune logfile prior to S00*****.LOGdb2 connect reset。

db2数据库日志清理

db2数据库日志清理

db2数据库⽇志清理1、归档⽇志 当db2数据库使⽤归档⽇志(通过修改参数 LOGARCHMETH1 改成是归档⽇志)的时候,⽇志数量定期不清理,将会越积越多,最后必定会磁盘爆满,访问数据库出问题。

归档⽇志分为三种活动⽇志、联机存档⽇志和脱机存档⽇志。

活动⽇志:该⽇志包含尚未提交或回滚的事务单元的相关信息,以及已提交但尚未写⼊数据库⽂件的事务的信息。

联机存档⽇志:活动⽇志中所有改动对正常处理已不需要,即该⽇志中所记录的事务都已提交并写⼊数据库⽂件时,该活动⽇志转换为联机存档⽇志。

称之为联机,是由于它们与活动⽇志存放在同⼀个⽬录下。

脱机存档⽇志:将联机存档⽇志从活动⽇志⽬录下Copy到另外的地⽅存档,就称为脱机存档⽇志。

这些⽇志可能在数据库前滚恢复的时候仍然需要。

(所谓联机归档⽇志,就是归档⽇志⽂件和活动⽇志⽂件同在⼀个⽬录下;⽽离线归档⽇志,则是归档⽇志与活动⽇志分开存放)2、归档⽇志删除 1、归档⽇志查看 db2 list history archive log all for dbname 2、查看备份时间戳db2 list history backup all for dbname3、清楚时间戳20190712001102 前所有的离线归档⽇志db2 prune history 20190712001102 with force option and delete 注意:db2 prune history 20190712001102 会清楚指定时间戳及之前的所有条⽬(不只是归档信息,还包含备份的)。

默认情况下,不会清楚最后⼀次数据库备份后的归档⽇志信息 4、查看备份历史,找出最近备份数据库的⽇志db2 list history backup all for dbname 5、清除S0000699.LOG之前的联机⼦备份⽇志db2 connect to dbname user user using pwaswd;db2 prune logfile prior to S0000699.LOG3、其他说明查看当前活动⽇志db2pd -db dbname -logsprune logfile prior to XXXXXXX.LOG 除活动⽇志⽬录下的XXXXXXX.log以前的在线归档⽇志⽂件db2 prune history [XXXXXXXXXXXXXX] with force option and delete 清除时间戳以前的离线归档⽇志⽂件。

MYSQL日志的正确删除方法详解

MYSQL日志的正确删除方法详解

MYSQL⽇志的正确删除⽅法详解本⽂详细讲述了MYSQL⽇志的正确删除⽅法。

分享给⼤家供⼤家参考,具体如下:1.查找:MySQL> show binary logs;+—————-+———–+| Log_name | File_size |+—————-+———–+| mysql-bin.000001 | 150462942 || mysql-bin.000002 | 125 || mysql-bin.000003 | 106 |+—————-+———–+2.删除bin-log(删除mysql-bin.000003之前的⽽没有包含mysql-bin.000003)mysql> purge binary logs to 'mysql-bin.000003';Query OK, 0 rows affected (0.16 sec)3. 查询结果(现在只有⼀条记录了.)mysql> show binlog events/G*************************** 1. row ***************************Log_name: mysql-bin.000003Pos: 4Event_type: Format_descServer_id: 1End_log_pos: 106Info: Server ver: 5.1.26-rc-log, Binlog ver: 41 row in set (0.01 sec)(mysql-bin.000001和mysql-bin.000002已被删除)mysql> show binary logs;+—————-+———–+| Log_name | File_size |+—————-+———–+| mysql-bin.000003 | 106 |+—————-+———–+1 row in set (0.00 sec)(删除的其它格式运⽤!)PURGE {MASTER | BINARY} LOGS TO 'log_name'PURGE {MASTER | BINARY} LOGS BEFORE 'date'⽤于删除列于在指定的⽇志或⽇期之前的⽇志索引中的所有⼆进制⽇志。

数据库删除事务流程

数据库删除事务流程

代码:ALTER proc[dbo].[DeletedGroup]@GroupID intASBEGINDECLARE@TranStarted intSET@TranStarted= 0IF(@@TRANCOUNT= 0)BEGINBEGIN TRANSACTIONSET@TranStarted= 1ENDELSESET@TranStarted= 0DECLARE@ErrorCode intSET@ErrorCode= 0IF EXISTS(SELECT*FROM PrizeGroup WHERE PrizeGroupID=@GroupID AND IsApproved= 1 )BEGINRAISERROR('评审小组已批复通过,不可删除!',16,1)SET@ErrorCode=-3GOTO CleanupENDIF EXISTS(SELECT*FROM PrizeGroupExpert WHERE PrizeGroupID=@GroupID)BEGINDELETE PrizeGroupExpertWHERE PrizeGroupID=@GroupIDENDIF EXISTS(SELECT*FROM Achievement WHERE PrizeGroupID=@GroupID) BEGINUPDATE AchievementSET PrizeGroupID=NULLWHERE PrizeGroupID=@GroupIDdelete from PrizeGroupAchievementwhere PrizeGroupID=@GroupIDENDIF EXISTS(SELECT*FROM PrizeGroup WHERE PrizeGroupID=@GroupID AND IsHistory= 0)BEGINDELETEFROM PrizeGroupWHERE PrizeGroupID=@GroupIDENDIF(@@Error<>0)BEGINSET@ErrorCode=-1GOTO Cleanup--这个东西就要写在操作之后,提交之前(个人理解,日后再确定一下)ENDIF(@TranStarted= 1)BEGINSET@TranStarted= 0COMMIT TRANSACTIONENDRETURN 0Cleanup: --自定义的函数需要返回(日后再看) IF(@TranStarted= 1)BEGINSET@TranStarted= 0ROLLBACK TRANSACTIONENDRETURN@ErrorCodeEND心得:1:@@TRANCOUNT的用法在处理事务的时候,一般都用RollBack Transaction来回滚,但是如果在嵌套事务中这样使用的话,就会出现错误。

db2数据库日志清理

db2数据库日志清理

db2数据库日志清理1、load 方法装入数据:export to tempfile of del select * from tablename where not 清理条件;load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable;说明:在不相关的数据表export数据时,可以采取并发的形式,以提高效率;tablename指待清理table的名称;modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;nonrecoverable无日志方式装入;2、查找当前的应用:db2 list application grep btpdbs;3、删除当前正在使用的application:db2 "force application (id1,id2,id3)"id1,id2,id3 是list显示的应用号;4、查看当前应用号的执行状态:db2 get snapshot for application agentid 299 grep row5、查看数据库参数:db2 get db cfg for //当前数据库可以省略6、修改数据库的log数据:db2 update db cfg using <参数名> <参数值>7、db2stop force的用法:在进行bind的时候出现如下错误:sql0082can error has occurred which has terminated processing.sql0092nno package was created because of previous errors.sql0091nbinding was ended with "3" errors and "0" warnings.主要是表文件被加锁,不能继续使用;在进行stop的时候报错:db2stop8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.sql1025nthe database manager was not stopped because databases are still active.需要使用如下命令可以解决这个问题: db2stop force08/03/2005 21:47:49 0 0 sql1064ndb2stop processing was successful.sql1064ndb2stop processing was successful.然后启动数据库db2start,连接数据库db2s后,重新进行bind即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server事务日志备份的清除操作指南
事务日志清除目的:SQL Server数据库由一个.mdf文件与.ldf文件组成,mdf
是主数据存储的文件,ldf是数据库日志存储的文件。

对于日志文件,因每次SQL 发生的操作(插入、更新、删除)都会把操作日志记录到日志文件中(以备可通过日志还原),因此日志文件每天都会增长(增长速度会明显比mdf文件快,有时一个月没清除就会达到几个G的大小),因此需要对事务日志中已有的历史不活动的日志做清除,以防止数据库ldf文件的无限彭胀。

(目前还未用过ldf文件来做恢复的,况且用他恢复也不安全,因此ldf文件中数据可以清除).SQL通过对事务日志备份动作来对不活动的日志进行清除截断。

在定义数据库的事务日志清除前,请先确保Sql server服务器端 Sql Server agent服务是否开启,只有服务器端的Sql Server agent服务开启才能进行如下述的服务库端的自动备份。

第一步:找到需设置事务日志备份的数据库:如lm_hr
点击鼠标右键先选
择”所有任务”项目,然
后选择”备份数据库”
第二步:在备份四个选项中,请选择“事务日志”项目
在备份四个选项
中,选择”事务日志”第三步:选择好“事务日志”之后,点击“添加”按钮
第四步: 设置文件名以及选择文件名的存储路径
第五步: 设置好文件的存储路径和名称后,点击“确定”
点击“”按钮,
第六步: 选择“重写”中的“重写现有媒体”选项
第七步: 选择“调度”对日志备份进行时间调度设置
设置好文件的存储路径和名称之后,点击“确定”按钮
第八步: 对“调度”时间进行详细设置
第九步: 对“发生频率”,“每日频率”以及“持续时间”设置
,然后点击按钮
第十步:设置完毕,直接点击“确定”按钮
设置完毕,直
接点击“确
定”按钮
第十一步:最后确定保存所进行的调度设置
第十二步:选择“选项”页签
回到主备份窗口,
选择”选项”页签
第十三步:点击“确定”按钮,就完成事务日志的清除。

相关文档
最新文档