仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1294|回复: 8
打印 上一主题 下一主题

[学习教程] 毛病"数据库的事件日记已满。若要查明没法重用日记中的空间的缘故原由"的办理办法 ...

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。明天体系俄然报出以下毛病:

数据库的事件日记已满。若要查明没法重用日记中的空间的缘故原由,请参阅sys.databases中的log_reuse_wait_desc列

到服务器上检察后发明,是由于数据库日记地点的磁盘空间满了,移出该盘部分文件后,体系就恢复一般了。又在网上查了一下该毛病,假如要从日记文件自己来办理,可用以下两种办法办理:
一,清空日记:
步骤:1,备份日记文件。2,紧缩日记文件。
1,备份日记文件,可以使用以下sql命令:
DUMPTRANSACTION数据库名WITHNO_LOG

2,翻开企业办理器,在数据库上点右键->属性->选项->妨碍恢复-模子-选择-复杂模子。(也能够间接在查询剖析器里实行:
alterdatabase数据库名setrecoverysimple

3.右键点击要紧缩的数据库-->一切义务-->压缩数据库-->压缩文件-->选择日记文件-->在压缩体例里选择压缩至XXM,这里会给出一个同意压缩到的最小M数,间接输出这个一个符合的数,断定就能够了。

二,删除Log文件:
这类办法有必定的风险性,由于SQLSERVER的日记文件不是立即写进数据库主文件的,如处置不妥,会形成数据的丧失。
步骤:分别数据库企业办理器-->服务器-->数据库-->右键-->分别数据库。
然后删除LOG文件,再附加数据库:
附加数据库企业办理器-->服务器-->数据库-->右键-->附加数据库。
此法天生新的LOG,巨细只要500多K。

若不想日记文件无穷制的增加以致于太年夜,能够为日记文件设置一个最年夜值,办法以下:
企业办理器-->服务器-->右键数据库-->属性-->事件日记-->将文件增加限定为xM(x是你同意的最年夜数据文件巨细)

利用SQL语句设置以下:
alterdatabase库名modifyfile(name=逻辑文件名,maxsize=20)
附带上sys.databases表中的log_reuse_wait_desc列的各值的意义:
log_reuse_wait值log_reuse_wait_desc值申明0NOTHING以后有一个或多个可重用的假造日记文件。1CHECKPOINT自前次日记截断以后,还没有呈现反省点,大概日记头部还没有跨一个假造日记文件挪动(一切恢复形式)。
这是日记截断提早的罕见缘故原由。有关具体信息,请参阅反省点和日记的举动部分。2LOG_BACKUP请求日记备份将日记标头前移(仅合用于完全恢复形式或年夜容量日记恢复形式)。

注重:日记备份不会制止截断。
日记备份完成后,日记标头将前移,而且一些日记空间大概会变成可从头利用。3ACTIVE_BACKUP_OR_RESTORE数据备份或复原正在举行(一切恢复形式)。
数据备份与举动事件的事情道理不异;数据备份运转时,将制止截断。有关具体信息,请参阅本主题前面的“数据备份操纵与复原操纵”部分。4ACTIVE_TRANSACTION事件处于举动形态(一切恢复形式)。

·在日记备份入手下手时,大概存在长工夫运转的事件。在这类情形下,开释空间大概必要举行其另日志备份。有关具体信息,请参阅本主题前面的“长工夫运转的举动事件”部分。
·事件将提早(仅合用于SQLServer2005EnterpriseEdition及更高版本)。“提早的事件”实践上是其回滚因为某些资本不成用而受阻的举动事件。有关招致事件提早的缘故原由和怎样使它们挣脱被提早形态的信息,请参阅提早的事件.</p>5DATABASE_MIRRORING数据库镜像停息,大概在高功能形式下,镜像数据库分明滞后于主体数据库(仅限于完全恢复形式)。
有关具体信息,请参阅本主题前面的“数据库镜像与事件日记”部分。6REPLICATION在事件复制过程当中,与公布相干的事件仍未传送到分发数据库(仅限于完全恢复形式)。
有关具体信息,请参阅本主题前面的“事件复制与事件日记”部分。7DATABASE_SNAPSHOT_CREATION正在创立数据库快照(一切恢复形式)。
这是日记截断提早的罕见缘故原由,一般也是次要缘故原由。8LOG_SCAN正在举行日记扫描(一切恢复形式)。
这是日记截断提早的罕见缘故原由,一般也是次要缘故原由。9OTHER_TRANSIENT此值以后未利用。限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-16 22:20:19 | 只看该作者

毛病"数据库的事件日记已满。若要查明没法重用日记中的空间的缘故原由"的办理办法 ...

是要和操作系统进行Socket通讯的场景。否则建议慎重!
不帅 该用户已被删除
板凳
发表于 2015-1-19 09:07:05 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
老尸 该用户已被删除
地板
 楼主| 发表于 2015-1-28 06:00:01 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
蒙在股里 该用户已被删除
5#
发表于 2015-2-5 18:45:59 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
变相怪杰 该用户已被删除
6#
发表于 2015-2-13 06:28:53 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
分手快乐 该用户已被删除
7#
发表于 2015-3-3 17:41:14 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
只想知道 该用户已被删除
8#
发表于 2015-3-11 12:35:25 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
精灵巫婆 该用户已被删除
9#
发表于 2015-3-26 13:47:55 | 只看该作者
比如日志传送、比如集群。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表