温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何恢复Sybase SQL Anywhere数据库

发布时间:2021-10-13 16:47:46 来源:亿速云 阅读:256 作者:柒染 栏目:数据库

如何恢复Sybase SQL Anywhere数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  SybaseSQLAnywhere是Sybase公司开发的一种小型数据库产品,有单用户版和多用户版,可安装在Win95、Win98、NT、Netware等平台。下面亿速云小编来讲解下如何恢复Sybase SQL Anywhere 数据库?

  如何恢复Sybase SQL Anywhere 数据库

  SQLAnywhere数据库由后缀分别为.db和.log的两个文件组成。其中.db的文件是用来存放数据库信息(包括表结构、视图、数据等)。而.log文件是个日志文件,用来记录用户每一次对数据库有影响的操作,例如创建或删除表、视图、触发器等对象,插入、删除、修改表中的数据等。所以只要把.log文件的内容转换成一条条的SQL语句,然后再建一个空的数据库,再执行这些SQL语句,则恢复数据的问题就解决了。Sybase公司提供了几个实用程序来完成以上功能。

  现假设数据库系统文件分别名为mydb.db和mydb.log。如果mydb.db已被破坏。现在创建一个新的数据库,假设文件分别名为new.db和new.log。

  用Sybase提供的dbtranw.exe,DB32W.EXE,rtsqlw.exe等实用程序来完成恢复工作,步骤如下表。

  如何恢复Sybase SQL Anywhere 数据库

  步骤命令功能

  1.Dbtranw-r-k-ymydb.logdb.sql把.log

  文件的内容转换成的SQL语句

  2.Attrib-rmydb.db

  修改只读文件mydb.db的属性为可写

  3.Attrib-rmydb.log

  修改只读文件mydb.log的属性为可写

  4.Copynew.dbmydb.db

  用新的空库文件覆盖被破坏的旧库文件

  5.Copynew.logmydb.log

  用新的日志文件覆盖旧的日志文件

  6.DB32W.EXE-dmydb.db

  启动数据库SQLAnywhere

  7.Rtsqlw -q-c"userid=dba;

  password=sql"readdb.sql

  执行从.log文件中倒出来的SQL语句

  其中第一步的功能是把旧的日志文件转换成SQL语句,并放在一个名为db.sql的文件中,特别注意它只能在第五步之前操作,否则日志文件会被new.log所覆盖,而导致无法恢复数据。最后一步的功能是从文件db.sql中读取SQL语句并执行,假设数据库的用户名为dba,而口令为sql。有关各个命令及参数据的更详细的用法可以查看相应的帮助。在此提醒用户注意:.log文件不能随便删除,否则恢复的数据就不完整。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI