mysql数据库事务⽇志已满_服务器事务⽇志已满解决⽅法⽅法⼀:
1、打开查询分析器,输⼊命令
BACKUP LOG database_name WITH NO_LOG
2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩⽂件--选择⽇志⽂件--在收缩⽅式⾥选择收缩⾄xxm,这⾥会给出⼀个允许收缩到的最⼩m数,直接输⼊这个数,确定就可以了。
⽅法⼆:(本⼈尝试 ⾮常有效)
设置检查点,⾃动截断⽇志
⼀般情况下,SQL数据库的收缩并不能很⼤程度上减⼩数据库⼤⼩,其主要作⽤是收缩⽇志⼤⼩,应当定期进⾏此操作以免数据库⽇志过⼤
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根⽬录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库⽬录-->选择你的数据库名称(如⽤户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存。
2、在当前数据库上点右键,看所有任务中的收缩数据库,⼀般⾥⾯的默认设置不⽤调整,直接点确定。
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作⽅法同第⼀点,因为⽇志在⼀些异常情况下往往是恢复数据库的重要依据。
⽅法三:删除⽇志⽂件
此⽅法有⼀定的风险性,因为sql server的⽇志⽂件不是即时写⼊数据库主⽂件的,如处理不当,会造成数据的损失。
1、操作前请断开所有数据库连接。
2、分离数据库
分离数据库:企业管理器->服务器->数据库->cwbase1->右键->分离数据库
分离后,cwbase1数据库被删除,但保留了数据⽂件和⽇志⽂件。
3、删除log物理⽂件
删除LOG物理⽂件,然后附加数据库: 企业管理器->服务器->数据库->右键->附加数据库。
此法⽣成新的log,⼤⼩只有500多k。
注意:
宵云建议使⽤第⼀种⽅法。操作前请确保所有操作员都已经推出系统,断开数据库的连接。
以上操作前,请务必做好数据备份!
1.sql server 2005 清除⽇志语句:
dump transaction 数据库名称 with no_log
backup log 数据库名称 with no_log下载mysql服务端命令
dbcc shrinkdatabase(数据库名称)
2.sql server 2008 清除⽇志语句:
sp_dboption 数据库名称, "trunc. log on chkpt.", true
checkpoint
sp_dboption 数据库名称, "autoshrink", true
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论