e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> Sybase教程 >> 为什么有时候数据库事务日志满了,不能截断日志? >> 教程正文
 
教程搜索
 
 
相关教程
  • Sybase数据库简介
  • 为什么有时候数据库事务日
  • 在LINUX下安装 Sybase AS
  • Dealing with identity g
  • 关于sybase数据库的锁
  • SYBASE内存和缓冲区管理(
  • sybase 临时数据库tempdb
  • SYBASE dbccdb的安装配置
  • 从数据库应用系统查找解决
  • Sybase数据库的碎片整理(
  • SYBASE数据库用户管理基本
  • sybase 珍藏系列之三(fr
  • sybase 珍藏系列之四(fr
  • SYBASE补丁安装指南
  • 解决 Error 605 错误的方
  • Sybase TraceFlag 定义
 
 
赞 助 商
 
 
为什么有时候数据库事务日志满了,不能截断日志?
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

  有两种情况,可能出现这个问题。一是应用系统给SQL Server发送了一个用户自定义事务,一直未提交,这个最早活跃事务阻碍系统截断日志。二是客户端向SQL Server发送了一个修改数量大的事务,清日志时,该事务还正在执行之中,此事务所涉及的日志只能等到事务结束后,才能被截掉。

  对于第一种情况,只要督促用户退出应用或者提交事务,系统管理员便可清掉日志。因为给SQL Server发送Dump transaction with no-log或者with truncate-only,它截掉事务日志的非活跃部分。所谓非活跃部分是指服务器检查点之间的所有已提交或回退的事务。而从最早的未提交的事务到最近的日志记录之间的事务日志记录被称为活跃的。从此可以看明,打开的事务能致使日志上涨,因为在最早活跃事务之后的日志不能被截除。

  对于第二种情况,道理也同上。只是在处理它时,需慎重从事。如果这个大事务已运行较长时间,应尽量想法扩大数据库日志空间,保证该事务正常结束。若该事务被强行回滚,SQL Server需要做大量的处理工作,往往是正向执行时间的几倍,系统恢复时间长,可能会影响正常使用的时间。

  如果出现你提交了一个打的事务把整个日志库填满了,这时无论你怎么截断日志都是徒劳时,可以有三种办法解决。

  1.重启数据库(最笨的但最有效的),但肯定会有REDO和UNDO恢复时间长。

  2.给数据库日志加空间,但必须有足够的空间。

  3.找出执行大事物SESSION的ID,KILL它,但也会回滚,而且不定可以KILL得掉。

  • 上一篇教程: 在LINUX下安装 Sybase ASE 11.0.3.3
  • 下一篇教程: Sybase数据库简介
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.