存档

文章标签 ‘恢复’,文章数:9

window.open(“http://www.dbainfo.net/tag/recovery-tools”,”_self”); 试用方法: SQL ASE非常规恢复工具 SQL Anywhere非常规恢复工具:ReadASADB/p> 如果没有跳转,请直接访问该页面:Sybase ASE&ASA非常规恢复工具

SQL Anywhere数据库非常规恢复工具

ReadASADB---一个不依赖数据库管理系统、直接从db文件上提取数据的业内领先的恢复工具!

一、SQL Anywhere、UltraLite介绍
SQL Anywhere  一个免维护、易管理的移动数据库。

SQL Anywhere 提供了企业级的功能,包括完全的事务处理、无与伦比的可靠性和功能,包括参照完整性、存储过程、触发器、行级锁、自动的任务安排和自动恢复等功能

  • 易于使用,易于管理 ,降低最终用户的日常管理费用!
  • 多平台支持
  • 资源效率高
  • 配套的定时数据同步工具Mobilink

UltraLite 是一种用于小型、移动和嵌入式设备的、具有同步功能的关系数据库

  • 稳健的数据管理
  • 强大的同步功能
  • 直接简明的开发
  • 多平台可用性

您可以开发和部署用于 Windows CE、 Palm OS 和基于 Java 的设备的 UltraLite 数据库应用程序!

二、ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件

在用SQL Server 2005进行一项测试:如何一次删除所有用户数据库时,没注意到当前数据库是master,结果,把这里的一些表都给删除了,从而,数据库引擎可以正常使 用,但如果右击任一数据库,都会出现查找master里的一个表的操作(对象名 master.dbo.spt_values' 无效。 (Microsoft SQL Server,错误: 208)),而这个表被我删除了,所以就运行不成功了,想压缩数据库还行用SQL语句,很麻烦。 在网上找的大都是SQL Server 2000 master数据库重建帖子,关于SQL Server 2005 重建master的帖子基本上都是只有提问的,没有回答的,于是在国外网站上搜索了下,发现一个,但也很不好使,后来顺着他的关键词:rebuid sql Server 2005 master找到了微软的网站,没想到微软早就解决这问题了,按他说的做了一遍,OK,成功,在写这文章时又把他的MSDN地址改了下,看看有没有中文版 的,没想到还真有,可怜的搜索引擎呀,这么好的东西我怎么在baidu及google里都找不到呢。 虽然问题是解决了,不过还有一个问题,就是:重建后相当于数据库重新安装了一次,所有的登录用户,数据库都没了(听说数据都在master里,master被重建了里面的数据库相关信息当然没了。数据库文件还在,没被删除。),所以重建或者说修复好后,你还得把每个数据库都附加进来,并建相关用户。 微软官方解决方法: start /wait <CD or DVD Drive>\setup.exe /qn INSTANCENAME=<InstanceName> REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=<NewStrongPassword> 举例: start /wait L:\Servers\setup.exe /qn INSTANCENAME="MSSQLSERVER" REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=www_yongfa365_com 如果重装、重建或修复其它服务,详情参见: 英文版:http://msdn.microsoft.com/en-us/library/ms144259(SQL.90).aspx 中文版:http://msdn.microsoft.com/zh-cn/library/ms144259(SQL.90).aspx 引用本页地址:http://www.yongfa365.com/item/SQL-Server-2005-Rebuild-System-Databases.html

在测试load tran with until_time 的时候出现了错误。

先执行:dump tran andkylee to "d:\andkylee_tran2.dmp" with no_truncate 然后,进行数据库的恢复。

先进行全库恢复,接着进行下面的日志恢复,并恢复到指定的时间点。

但是报下面的错误:

1> load tran andkylee from "d:\andkylee_tran2.dmp" with until_time='Jun 28 2010 5:24:10 PM'
2> go
Backup Server session id is:  111.  Use this value when executing the
'sp_volchanged' system stored procedure after fulfilling any volume change
request from the Backup Server.
Backup Server: 6.28.1.1: Dumpfile name 'ndkylee101790F554' section number 1
mounted on disk file 'd:\andkylee_tran2.dmp'
Backup Server: 4.58.1.1: Database andkylee: 75548 kilobytes LOADed.
Msg 623, Level 21, State 1:
Server 'TEST', Line 1:
Adaptive Server failed to retrieve a row via its RID in database 'andkylee'
because the target page is not a data page. Rid pageid = 0x16381; row num = 0x0.

Page pointer = 0x240FA000, pageno = 0, status = 0x300, ptnid = 99, indexid = 0,
level = 0.

用dbcc page查看pageid = 0x16381 的页面内容,发现此页面为日志页。页面号0x16381为十六进制,转化成十进制为:91009

今天试验了一下不同ASE版本跨平台远程备份数据库的操作。 环境: 源数据端:solaris 10 SPARC 64bit,ASE 12.5.4,称为:server1 目的数据端:windows xp x86,ASE15.0.3,称为:server2   任务: 测试将源数据端solaris上的ASE数据库服务器里面的andkylee库远程备份到目的windows-xp机子上。 第一步:在server1的interfaces文件中添加远程服务器条目 在server2的连接接口配置文件%SYBASE%\ini\sql.ini中,备份服务器的名称为:TEST_BS. 在server1的 /db/sybase/ase1254/interfaces中添加: TEST_BS         master tcp ether 192.168.2.173 5001         query tcp ether 192.168.2.173 5001   注意:添加到server1的远程备份服务器名称务必和server2中的备份服务器名称保持一致。   第二步:连接上server1的ASE服务器,添加远程备份服务器的条目 isql -Usa -P -Sase1254 sp_addserver TEST_BS 这一步不是必须的! 第三步:在server1的ASE中执行远程备份命令 dump database andkylee to "d:\andkylee_remote.dmp" at TEST_BS 可以使用stripe on进行远程备份文件分片,最大分片数为32。 如果想压缩远程备份文件的话,必须使用with compression=[0-9]选项;兼容选项compress::只支持本地备份。 最后检查,在远程服务器server2上D盘发现有远程备份生成的文件:andkylee_remote.dmp。 远程备份数据库操作完成! [...]

演示一次sybase ASE15.0.3跨平台备份恢复的过程。 源数据库版本为: 1> select @@version 2> go  —————————————————————————————– —————————————————————————————— —————————————————————————-  Adaptive Server Enterprise/15.0.3/EBF 16738 ESD#2/P/NT (IX86)/Windows 2003/ase1          503/2708/32-bit/OPT/Mon Jul 27 20:19:56 2009   目的数据库版本为: 1> select @@version 2> go  —————————————————————————————– —————————————————————————————— —————————————————————————-  Adaptive Server Enterprise/15.0.3/EBF 16548 ESD#1/P/Sun_svr4/OS 5.8/ase1503/268          0/64-bit/FBO/Thu Mar  5 09:39:28 2009   跨平台恢复的详细过程如下: (1). 检查欲备份的数据库testdb的完整性,利用checkdb和checkalloc 1> dbcc traceon(3604) 2> go [...]

– 创建测试数据库 CREATE DATABASE Db GO — 对数据库进行备份 BACKUP DATABASE Db TO DISK = ‘ c:\db.bak ‘ WITH FORMAT GO — 创建测试表 CREATE TABLE Db.dbo.TB_test(ID int ) — 延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败) WAITFOR DELAY ‘ 00:00:01 ‘ GO — 假设我们现在误操作删除了 Db.dbo.TB_test 这个表 DROP TABLE Db.dbo.TB_test — 保存删除表的时间 SELECT dt = GETDATE () INTO # GO — 在删除操作后,发现不应该删除表 [...]

今天下午在本机测试环境下成功恢复了drop table操作后的表内的数据。 配合使用dbcc page, dbcc pglinkage,dbcc allocdump,并利用“欺骗”dataserver的办法将数据恢复出来。用了不到半个小时的时间恢复了一张有几十万行记录的表。操作的详细步骤用屏幕录像软件进行了记录保存。 ———————————————————————————————————— ——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载; ——— 转载务必注明原始出处 : http://www.dbainfo.net ——— 关键字: 恢复 误操作  drop truncate  dbcc page pglinkage allocdump ————————————————————————————————————