提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 联系我们获取数据库技术支持!
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

选择事务模式和隔离级别

Adaptive Server 提供以下选项来支持必须符合 SQL 标准的事务:

事务模式可以设置是否使用隐式 begin transaction 语句开始事务。

隔离级别 是指事务执行期间数据可由其他用户访问的程度。 在每个需要符合 SQL 标准的事务的会话开始时设置这些选项。


选择事务模式


Adaptive Server 支持以下事务模式:

链式模式在执行任何数据检索或修改语句之前会隐式开始一项事务: deleteinsertopenfetchselect update。必须仍然使用 commit transaction rollback transaction 来显式地结束事务。

缺省模式称为非链式模式或 Transact-SQL 模式,它要求显式地使用 begin transaction 语句和 commit transaction rollback transaction 语句对 来完成事务。


可以使用 set 命令的 chained 选项设置这两种模式中的任意一种。但是, 不能在应用程序中混用这些事务模式。在不同的模式下,存储过程和触 发器有不同的行为,如果要在一种模式下运行在另一种模式下创建的过 程,则可能需要执行特殊操作。

使用链式模式时, SQL 标准要求每个 SQL 数据检索和数据修改语句出 现在事务中。开始会话之后,或者提交或中止先前事务之后,将自动从 第一个数据索或数据修改语句开始一个事务。这是链式事务模式。

通过打开 set 语句的 chained 选项,可以为当前会话设置此模式:

但是,不能在事务中执行 set chained 命令。要返回到非链式事务模式, 请将 chained 选项设置为 off

根据您所使用的模式,以下语句组可产生不同的结果:

insert into publishers

values ("9906", null, null, null) begin transaction

delete from publishers where pub_id = "9906" rollback transaction

在非链式事务模式中, rollback 只影响 delete 语句,因此 publishers 仍包 含所插入的行。在链式模式中, insert 语句隐式开始一个事务,而且回 退操作将影响该事务开始之前涉及到的所有语句,包括 insert

所有应用程序和即席用户查询均应处理正确的事务模式。事务模式取决 于特定的查询或应用程序是否要符合 SQL 标准。使用链式事务的应用 程序 (例, Embedded SQL 预编译程序)应在每个会话开始时设置链式 模式。


事务模式和嵌套事务


虽然链式模式使用数据检索或修改语句隐式开始事务,但是只能通过显 式使用 begin transaction 语句来嵌套事务。一旦隐式开始第一个事务,则 进一步的数据检索或修改语句将不再开始新的事务,直到第一个事务提 交或中止。例如,在下面的查询中,第一个 commit transaction 在链式模 式中提交所有更改;第二次提交则是不必要的:

insert into publishers

values ("9907", null, null, null) insert into publishers

values ("9908", null, null, null) commit transaction

commit transaction


image

注释 在链式模式中,无论数据检索或修改语句是否成功执行,该语句 都将开始执行事务。甚至不访问任何表的 select 语句也开始一个事务。

image


查找当前事务模式的状态

全局变量 @@tranchained 可用于确定 Adaptive Server 的当前事务模式。

select @@tranchained 对于非链式模式返回 0,对于链式模式返回 1


选择隔离级别


ANSI SQL 标准为事务定义了四种隔离级别。每种隔离级别都指定在执 行并发事务时禁止的操作种类。较高级别包括由较低级别施加的限制:

级别 0 — 确保由某个事务写入的数据能够表示实际数据。级别 0 可 防止其它事务更改已经由一个未提交的事务修改 (通过 insert, delete, update 等)的数据。在提交该事务之前,其它事务不能修改 这些数据。但是,其它事务仍然可以读取未提交的数据,从而导致 脏读

级别 1 — 防止脏读。当第一个事务修改某行时,如果第二个事务在 第一个事务提交更改之前读取该行,则会发生脏读。如果第一个事 务回退了更改,则第二个事务读取的信息就会成为无效信息。级别 1 Adaptive Server 支持的缺省隔离级别。

级别 2 — 防止不可重复的 读取。当第一个事务读取某行时,如果第 二个事务修改该行,则会发生此不可重复的读取。如果第二个事务 提交其更改,则第一个事务随后会读取到与原取结果不同的结果。

Adaptive Server 在仅数据锁定表中支持级别 2。在所有页锁定表中不 支持此级别。

级别 3 — 确保某个事务读取的数据在该事务结束之前有效,从而防 止出现幻像行Adaptive Server 通过 select 语句中的 holdlock 关键字 来支持此级别,用于在指定数据上的读取锁。在某个事务读取了满 足某搜索条件的一组行,而第二个事务修改了其中的相关数据 (通 过 insertdeleteupdate 等)时,便会发生幻像行。如果第一个事 务按相同的搜索条件重复读取,它将获得一组不同的行。

通过使用 set 命令的 transaction isolation level 选项,可以为会话设置隔离 级别。可以只对某一个查询强制实施隔离级别,而不是使用 select 语句 的 at isolation 子句。例如:

set transaction isolation level 0


Adaptive Server ANSI SQL 的缺省隔离级别

缺省情况下,Adaptive Server 事务隔离级别为 1。而 ANSI SQL 标准要求 所有事务的缺省隔离级别为 3。这样可防止脏读、非重复读取和幻像行。 要强制此缺隔离级别, Transact-SQL 提供了 set 语句中的 transaction isolation level 3 选项。此选项指示 Adaptive Server 在事务的所有 select 操 作中应用 holdlock。例如:

set transaction isolation level 3

使用 transaction isolation level 3 的应用程序应该在每个会话开始设置隔离 级别。但是,设置 transaction isolation level 3 将导致事务期间 Adaptive Server 始终持有所有的读取锁。如果同时还使用了链式事务模式,那么 该隔离级别对任何隐式开始某个事务的数据检索或修改句将继续有效。 在这两种情况下,由于长时间持有更多的锁,因此会导致某些应用程序 的并发问题。

要将会话返回到 Adaptive Server 缺省隔离级别,请输入:

set transaction isolation level 1


脏读

如果在每个会话开始时设置 transaction isolation level 0,那么访问同一数 据时,不受脏读影响的应用程序会具有较好的并发性,并能减少死锁的 可能性。例如,查找表中存储的所有储蓄帐号的即时平均余的应用程序。 由于它只要求当前平均余额的快照,而活动表中可能会对平均余额进行 频繁的更改,因此该应用程序应使用隔离级别 0 查询该表。而它要求数 据一致性的应用程序 (例如在表中特定的帐号上存款和取款)则应避 免使用隔离级别 0

在隔离级别 0 执行的扫描不会获得任何读取锁,因此它们不会阻止其它 事务写入同一数据,反之亦然。但是,即使将隔离级别设置为 0,由于 修改数之前必须确保数据正确以维护数据完整性,所以实用程序 (如 dbcc)和数据修改语句 (如 update)仍然要求扫描的读取锁。

在隔离级别 0 执行的扫描不会获得任何读取锁,因此 0 级扫描的结果集 可以在扫描过程中发生更改。如果扫描位置因基础表中的更改而丢失, 必须使唯一索引才能重新启动该扫描。如果没有唯一索引,该扫描可能 会中止。

缺省情况下,如果在只读数据库之外的表上进行 0 级扫描,就需要使用 唯一索引。可以通过强制 Adaptive Server 选择非唯一索引或表扫描来替 代此要求如下所示:

select * from table_name (index table_name)

基础表上的活动可能会在扫描完成之前中止扫描。


可重复读取


执行可重复读取的事务将锁定该事务执行期间读取的所有行或页。事务中 的某个查询读取行之后,在可重复读取事务完成之前其它事务不能更新 或删这些行。但是,与可串行化事务不同,可重复读取事务不能通过执 行域锁定来提供幻像保护。其它事务可以插入那些能由可重复读取事务 读取的值并且可以更新行以便它们与可重复读取事务的搜索标准相匹配。

执行可重复读取的事务将锁定该事务执行期间读取的所有行或页。事务中 的某个查询读取行之后,在可重复读取事务完成之前其它事务不能更新 或删这些行。但是,与可串行化事务不同,可重复读取事务不能通过执 行域锁定来提供幻像保护。其它事务可以插入那些能由可重复读取事务 读取的值并且可以更新行以便它们与可重复读取事务的搜索标准相匹配。


image

注释 只在仅数据锁定表中支持事务隔离级别 2。如果对所有页锁定表 使用事务隔离级别 2 (可重复读取),也将强制使用隔离级别 3 (可串 行化读取)。

image


要在会话级强制进行可重复读取,请使用:

set transaction isolation level 2

或:

set transaction isolation level repeatable read

要在查询中强制使用事务隔离级别 2,请使用:

select title_id, price, advance from titles

at isolation 2

或:

select title_id, price, advance from titles

at isolation repeatable read

只在事务级支持事务隔离级别 2。不能通过在 select readtext 语句中使 用 at isolation 子句将查询的隔离级别设置为 2 。请参见 653 页的 “更 改查询的隔离级别


查找当前隔离级别的状态

全局变量 @@isolation 包含 Transact-SQL 会话的当前隔离级别。查询

@@isolation 会返回活动级别的值 (01 3)。例如:

select @@isolation

--------

1


更改查询的隔离级别


通过在 select readtext 语句中使用 at isolation 子句,更改查询的隔离级 别。at isolation 子句支持隔离级别 01 3,但不支持隔离级别 2read uncommittedread committed serializable 选项支持以下隔离级别:


at isolation 选项

隔离级别

read uncommited

0

read committed

1

serializable

3

例如,以下两个语句分别在隔离级别 0 3 查询同一个表:

select * from titles

at isolation read uncommitted select *

from titles

at isolation serializable

at isolation 子句只在单个 select readtext 查询或 declare cursor 语句中才 有效。如果使用 at isolation,则 Adaptive Server 返回语法错误:

用于使用 into 子句的查询

在子查询内

用于 create view 语句中的查询

用于 insert 语句中的查询

使用 for browse 子句的查询

如果查询中有 union 运算符,则必须在最后一个 select 后指定 at isolation

子句。

SQL-92 标准将 read uncommittedread committed serializable 定义为 at isolation set transaction isolation level 的选项。 Transact-SQL 扩展也允许 为 at isolation 指定隔离级别 01 3,但不能指定隔离级别 2。为简化 隔离级别的讨论过程,本手册中的 at isolation 示例没有使用此扩展。


使用 select 语句的 holdlock 关键字也可以强制使用隔离级别 3。但是,不 能在指定了 at isolation read uncommitted 的查询中指定 noholdlock shared

(如果在查询中指定 holdlock 和隔离级别 0,则 Adaptive Server 发出警告 并忽略 at isolation 子句)。使用不同方法设置隔离级别时, holdlock 关键 字优先于 at isolation 子句 (隔离级别 0 除外), at isolation 优先于 set transaction isolation level 所定义的会话级。

请参见 Performance and Tuning Series: Locking and Concurrency Control

(《性能和调优系列:锁定和并发控制》)。


隔离级别优先级


应用于定义隔离级别的不同方法的优先规则:

1 holdlocknoholdlock shared 关键字优先于 at isolation 子句和 set transaction isolation level 选项 (隔离级别为 0 的情况除外)。例如:

/* This query executes at isolation level 3 */ select *

from titles holdlock

at isolation read committed create view authors_nolock

as select * from authors noholdlock set transaction isolation level 3

/* This query executes at isolation level 1 */ select * from authors_nolock

2 at isolation 子句优先于 set transaction isolation level 选项。例如:

set transaction isolation level 2

/* executes at isolation level 0 */ select * from publishers

at isolation read uncommitted

在同一查询中不能既使用 at isolation read uncommitted 选项,又使 用 holdlocknoholdlock shared 关键字。

3 set 命令的 transaction isolation level 0 选项优先于 holdlocknoholdlock

shared 关键字。例如:

set transaction isolation level 0

/* executes at isolation level 0 */ select *

from titles holdlock

Adaptive Server 在执行上述查询之前会发出警告。


游标和隔离级别


Adaptive Server 为游标提供了三种隔离级别:

级别 0 Adaptive Server 在包含表示当前游标位置的行的基表页上不 使用锁。游标不为其扫描获得任何读取锁,因此它们不会阻止其它 应用程序访问相数据。但是,在此隔离级别进行操作的游标是不可 更新的,并且它们需要基表上的唯一索引,以确保其扫描的精确性。

级别 1 Adaptive Server 在包含表示当前游标位置的行的基表页上 使用共享锁或更新锁。这些页保持被锁定,直到当前游标位置 (由 于 fetch 语句的结果)移出这些页或游标被关闭。如果使用索引来搜 索基表行,则还会对相应的索引页应用共享锁或更新锁。这是 Adaptive Server 的缺省锁定行。

级别 3 — 在事务中所读取用于代表游标的任何基表页上, Adaptive Server 使用共享锁或更新锁。另外,事务结束之前将一直持有锁, 而不是在不需要数页时将其释放。与表或视图上的查询所指定的锁 定级别相同, holdlock 关键字也将此锁定级别应用于基表。

游标不支持隔离级别 2

除了在隔离级别 3 中使用 holdlock 之外,还可以使用 set transaction isolation level 为会话指定四种隔离级别之一。使用 set transaction isolation level 时,任何打开的游标都使用指定的隔离级别,除非将事务隔离级别 设置为 2。在此情况下,游标使用隔离级别 3。也可以使用 select 语句的 at isolation 子句为特定的游标指定隔离级别 01 3。例如:

declare commit_crsr cursor for select *

from titles

at isolation read committed

此语句使游标在隔离级别 1 执行操作,而不管事务或会话的隔离级别是 多少。如果声明隔离级别 0 的游标 ( read uncommitted )Adaptive Server 也将其定义为只读游标。不能在 declare cursor 语句中同时指定 for update 子句和 at isolation read uncommitted

在打开游标 (而不是声明游标)时, Adaptive Server 基于以下情况确定 游标的隔离级别:

如果使用 at isolation 子句声明游标,则该隔离级别将替换打开该游 标的事务隔离级别。

如果未使用 at isolation 声明游标,则游标将使用将其打开的隔离级 别。如果关闭再重新打开游标,则游标将获得事务的当前隔离级别。


Adaptive Server 在您声明游标时编译此游标的查询。此编译过程在隔离 级别 0 与隔离级别 1 3 中是不同的。如果在隔离级别为 1 3 的事务 中声明 language client 游标,则在隔离级别为 0 的事务中打开该游标 会导致错误。

例如:

set transaction isolation level 1 declare publishers_crsr cursor

for select * from publishers

open publishers_crsr /* no error */ fetch publishers_crsr

close publishers_crsr

set transaction isolation level 0 open publishers_crsr /* error */


存储过程和隔离级别


不管事务或会话的隔离级别如何, Sybase 系统过程始终在隔离级别 1 执 行操作。用户存储过程在执行该存储过程的事务隔离级别进行操作。如 果存储过程中更改了隔离级别,则新的隔离级别只在执行该存储过程期 间有效。


触发器和隔离级别


因为触发器由数据修改语句 (如 insert)来触发,所以所有触发器都在 事务隔离级别或隔离级别 1 (取两者之中较高的级别)下执行。因此, 如果触发器在事务中以隔离级别 0 触发,那么 Adaptive Server 会在执行 其第一条语句之前将触发器的隔离级别设置为 1


符合 SQL 标准


要获取符合 SQL 标准的事务,必须在每个为随后事务更改模式和隔离 级别的应用程序的开始 set chained transaction isolation level 3 选项。如 果应用程序使用游标,则也必须设置 close on endtran 选项。这些选项在 663 页的 “在事务中使用游标”中进行了说明。


使用 lock table 命令改善性能

lock table 命令允许您显式请求,在访问表之前,在事务执行期间在表上 放置表锁。在即时表锁可能减少获取大量行锁或页锁的开销并节省锁定 时间时,这一点非常有用。此类情况的示例如下:

在同一事务中将对某个表进行多次扫描,并且每次扫描可能都需要 获取许多个页锁或行锁。

扫描将会超过表的锁升级阈值,因此会尝试升级到表锁。

如果未显式请求表锁,则扫描获取页锁或行锁,直到其达到表的锁 升级阈值 (请参见 《参考手册:过程》),此时它将尝试获取表锁。

lock table 的语法为:

lock table table_name in {share | exclusive} mode [wait [no_of_seconds] | nowait]

wait/nowait 选项允许指定命令阻塞时要获取表锁所等待的时间长度

(请参见 667 页的 “ lock table 命令的 wait/nowait 选项)。

使用 lock table 时应考虑以下问题:

只有在事务中才能发出 lock table

不能在系统表中使用 lock table

可以先在 share 模式中使用 lock table 将表锁定,然后使用它将锁升 级到 exclusive 模式。

可以在同一事务中使用独立的 lock table 命令锁定多个表。

一旦获取表锁,使用 lock table 锁定的表与使用锁升级而不使用 lock table 命令锁定的表之间没有区别。




--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

Sybase SQL Anywhere数据库恢复工具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,16.x,17.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


-------------------------------------------------------------------------------------------

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


-------------------------------------------------------------------------------------------

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------