现象:Error 926 
     Severity Level 14 
     Error Message Text 
     Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation 
   (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误. 
   (2) 启动Backup Server, 后备master数据库

  1>dump database master to "/usr/sybase/master.dup"
  2>go
   (3) 用isql登录到ASE, 须用sa帐号 (本文以pubs2数据库为例)
  1>sp_configure "allow updates", 1 
  2>go 
  1>begin tran 
  2>go 
  1>use master
  2>go
  1>update sysdatabases 
  2>set status = -32768 
  3>Where name="pubs2" 
  4>go
   如果得到(1 row affected),则
  1>commit
  2>go
   否则
  1>rollback
  2>go
(4)重新启动ASE.

注:ASE重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp...out备份用户数据库数据。
否则,按以下步骤继续操作:

  用sa帐号注册到ASE. 
  1>begin tran 
  2>go 
  1>use master
  2>go
  1>update sysdatabases 
  2>set status=0 
  3>Where name="pubs2" 
  4>go 
  如果得到(1 row affected),则
  1>commit
  2>go
   否则
1>rollback
  2>go

  1>sp_configure "allow updates" ,0
  2>go 
   (5)重新启动ASE.
(6) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option.

(7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性。

--------------------------------------------------------------------------------------
如果发现数据库不可恢复,则
1、通过BCP指令,将数据库中的所有数据BCP到文本文件中
2、然后再建立相同库表结构的数据库
3、将导出的数据再BCP回建立的数据库中
4、重新建立主键、索引

   (8) 备份用户数据库
   例如:
  1>dump database pubs2 to "/usr/sybase/pubs2.dup"

  2>go

事实上,我们很悲剧地遇到了第二种情况,使得恢复数据库的过程显得非常漫长。但是,庆幸的是:我们的数据没有发生丢失。

Sybase数据库异常紧急恢复的更多相关文章

  1. windows下启动/关闭Sybase数据库服务器

    启动.关闭Sybase数据库服务器 一.启动Sybase服务器 在windows下介绍两种方法启动Sybase数据库服务器. 1.通过服务器管理器 依次打开控制面板>管理工具>服务 管理窗 ...

  2. 用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法

    用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及 ...

  3. Python3:sqlalchemy对sybase数据库操作,非sql语句

    Python3:sqlalchemy对sybase数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- c ...

  4. Sybase数据库常用sql语言

    Sybase数据库常用sql语言 1,表备份: --table_name1:需要备份的表; table_name2:备份后的表 SELECT * into table_name2 from table ...

  5. Sybase数据库应用系统调优的五大领域

    Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数 ...

  6. postgresql数据库备份和恢复

    PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰 ...

  7. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  8. Sybase数据库,普通表修改分区表步骤

    本文目标:指导项目侧人员再遇到此类改动需求时可以自己参照更改.需求:Sybase数据库,普通表t_jingyu修改为按天分区的分区表. 1.sp_help查看t_jingyu的表结构,索引等信息 sp ...

  9. YourSQLDba将数据库置于紧急模式的原因浅析

    从SQL SERVER 2000 上迁移了一个数据库到SQL SERVER 2008 R2上,暂且用DataBaseName代替迁移的真实的数据库名(后面的资料也会将数据库真实的名字用DataBase ...

随机推荐

  1. SQL SERVER 2005 同步复制

    what SQL SERVER2005复制是在不同数据库间保持数据结构和数据内容同步更新的一种方案. 由三部分构成: 发布服务器:包含了需要被发布的数据库,也就是需要向其它数据源分发内容的源数据库. ...

  2. Ⅱ.spring的点点滴滴--对象

    承接上文 对象的各种实例化 .net篇(环境为vs2012+Spring.Core.dll) 修改原来的PersonDao对象为 public class PersonDao : IPersonDao ...

  3. Objective-C /iphone开发基础:协议(protocol)

    protocol协议时为了补充Objective-C 只能单继承的缺陷而增加的一个新功能.Objective-C重所有的方法都是虚方法,所以在oc重也就没有关键字 virtual一说,有了协议可以补充 ...

  4. CentOS 6.4安装搭建Tomcat 7

    1.检查java版本信息 java -versionjava version "1.7.0_65"OpenJDK Runtime Environment (rhel-2.5.1.2 ...

  5. Java栈实现

    栈数组实现一:优点:入栈和出栈速度快,缺点:长度有限(有时候这也不能算是个缺点) public class Stack { private int top = -1; private Object[] ...

  6. 关于struts2的上传和下载

    1. 1文件上传技术: JSPSmartUpload:应用在Model1年代.(嵌入到JSP) FileUpload:应用在Model2年代. Servlet3.o:完成文件上传. Struts2框架 ...

  7. cell函数总结

    元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵.组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸 ...

  8. 【字符串排序,技巧!】UVa 10905 - Children’s Game

    There are lots of number games for children. These games are pretty easy to play but not so easy to ...

  9. Magento中直接使用SQL语句

    原理: magento是基于Zend Framework的,所以底层用的还是zend的zend db 在文件app/code/core/Mage/Catalog/model/Resource/Eav ...

  10. 无责任比较thrift vs protocol buffers

    http://blog.csdn.net/socoolfj/article/details/3855007 最新版本的Hadoop代码中已经默认了Protocol buffer作为RPC的默认实现,原 ...