随着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数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
匹配模式
可以在 where 子句中使用通配符,从而可以根据共同特征来搜索未知字 符或对数据进行分组。本节利用 SQL 和 Transact-SQL 对模式匹配进行 说明。有关模式匹配的详信息,请参见 《参考手册:命令》。
匹配字符串: like
like 关键字搜索与某一模式相匹配的字符串。 like 可用于 char、 varchar、 nchar、 nvarchar、 unichar、 unitext、 univarchar binary、 varbinary、 text, 和 date/time 类型的数据。
like 的语法为:
{where | having} [not]
column_name [not] like "match_string"
match_string 可包含 表 2-2 中的符号:
表 2-2:匹配字符串的特殊符号
符号 含义
% 与 0 个或多个字符的任意字符串相匹配。
_ 与单个字符相匹配。
[ specifier ] 中括号将范围或集合括起来,如 [a – f] 或 [abcdef]。 specifier 可 采用两种形式:
• rangespec1 – rangespec2:
• rangespec1 表示字符范围的开始。
• – 是一个特殊字符,它表示一个范围。
• rangespec2 表示字符范围的结束。
• set :可由任意值的离散集合组成,可以按任何顺序排列,如 [a2bR]。范围 [a – f] 和集合 [abcdef] 以及 [fcbdae] 返回同样的 一组值。
分类符区分大小写。
[^ specifier] 尖号 (^) 位于分类符之前,表示不包括。[^a – f] 指“不在 a – f
的范围内”; [^a2bR] 指 “不是 a、 2、 b 或 R”。
可将列数据与常量、变量或其它包含 通配符 (如 表 2-2 所示)的列相匹 配。使用常量时,要用引号将匹配字符串括起来。例如,可以对 authors 表中的数据使用 like:
• like “Mc%”将搜索每个以 “Mc”开始的名称 (如 McBadden)。
• like “%inger”将搜索每个以 “inger”结尾的名称 (如 Ringer、 Stringer)。
• like “%en%”将搜索每个包含 “en”的名称 (如 Bennet、 Green、 McBadden)。
• like “_heryl”将搜索每个以 “heryl”结尾且长度为六个字母的名称
(如 Cheryl)。
• like “[CK]ars[eo]n”将搜索 “Carsen”、“Karsen”、“Carson”和 “Karson” (Carson)。
• like “[M-Z]inger”将搜索所有以 “inger”结尾且以 M 到 Z 之间任 意单个字母开始的名称 (如 Ringer)。
• like “M[^c]%”将搜索所有以 “M”开始且第二个字母不是 “c” 的名称。
下列查询将在 authors 表中查找区号为 415 的所有电话号码:
select phone from authors
可以在 text 列上使用的唯一 where 条件是 like。此查询将在 blurbs 表中查 找 copy 列中包含单词 “computer”的所有行:
select * from blurbs
where copy like "%computer%"
Adaptive Server 将不带 like 的通配符解释为文字,而不将其解释为一种 模式;它们只代表其本身的值。下列查询尝试查找仅由四个字符 “415%”
组成的任何电话号码。它不会查以 415 开始的电话号码。
select phone from authors
where phone = "415%"
将 like 用于 datetime 值时, Adaptive Server 将把这些值转换为标准的 datetime 格式,然后转换为 varchar 或 univarchar。由于标准存储格式不包 括秒或毫秒,所以不能用 like 和某一模式来搜索秒或毫秒。
在搜索 date and time 值时使用 like,因为这些数据类型条目可包含多种日 期分量。例如,如果将 “9:20”插入名为 arrival_time 的 datetime 列,以 下查询将无法找到该值,因为 Adaptive Server 将把该条目转换为“Jan 1 1900 9:20AM”:
where arrival_time = "9:20"
但是,以下查询可找到值 9:20:
where arrival_time like "%9:20%"
也可以将 date 和 time 数据类型用于 like 事务。
使用 not like
用于 like 的通配符都可以用于 not like。例如,若要在 authors 表中查找所 有区号不是 415 的电话号码,可使用下列查询之一:
select phone from authors
where phone not like "415%"
select phone from authors
where not phone like "415%"
使用 not like 和 ^ 获得不同的结果
不能总是用 like 和否定通配符 [^] 来重复 not like 模式。带否定通配符的 匹配字符串将被分步计算 (每次一个字符)。如果在计算过程的任一点 匹配失败,它将被排除。
例如,以下查询在数据库中查找其名称以 “sys”开头的系统表:
select name from sysobjects
where name like "sys%"
如果共有 32 个对象而 like 找到 13 个与此模式匹配的名称,则 not like 将 找到 19 个与此模式不匹配的对象。
where name not like "sys%"
但是,以下模式可能产生不同的结果:
like [^s][^y][^s]%
因为从结果中排除了所有首字母是 “s”或 第二个字母是 “y”或 第 三个字母是 “s”的名称及系统表名称,所以最终结果可能是 14,而 不是 19。
可通过将通配符转义并将其作为文字搜索来搜索通配符。在 like 匹配字 符串中,可通过两种方式将通配符作为文字使用:方括号和 escape 子 句。匹配字符串也可以是包含通配符的表中的一个变量或一个值。
方括号 (Transact-SQL 扩展)
可将方括号用于百分号、下划线、左括号和右括号。若要搜索破折号
(而不是用它来指定范围),应在一组括号中将破折号用作第一个字符。
表 2-3:使用中括号搜索通配符 like 子句 搜索
like "5%" 5 以及后跟的包含 0 个或多个字符的任意字符串
like "5[%]" 5%
like "_n" an、 in、 on 等等
like "[_]n" _n
like "[a-cdf]" a、 b、 c、 d 或 f
like "[-acdf]" -、 a、 c、 d 或 f
like "[ [ ]" [
like "[ ] ]" ]
escape 子句 (符合 SQL 标准)
使用 escape 子句可在 like 子句中指定转义字符。转义字符必须是单个字 符串。可使用服务器缺省字符集中的任意字符。
表 2-4:使用 escape 子句
like 子句 搜索
like "5@%" escape "@" 5%
like "*_n" escape "*" _n
like "%80@%%" escape "@" 包含 80% 的字符串
like "*_sql**%" escape "*" 包含 _sql* 的字符串
like "%#####_#%%" escape "#" 包含 ##_% 的字符串
转义字符仅在本身的 like 子句中才有效,而对同一语句中的其它 like 子 句没有影响。
在转义字符之后,只有通配符 (_、 %、 [、 ] 和 [^] )及转义字符本身才 有效。转义字符只影响其后面的字符。如果字符在某一模式中作为转义 字符出现次,则该字符串必须包含四个连续的转义字符 (请参见 表 2-4 中最后一个示例)。否则, Adaptive Server 将引发一个 SQLSTATE 错误 条件并返回一条错误消息。
指定多个转义字符将引发一个 SQLSTATE 错误条件, Adaptive Server 将 返回一条错误消息:
like "%XX_%" escape "XX" like "%XX%X_%" escape "XX"
通配符和方括号的交互作用
在方括号中转义字符将保留其自身的含义,这一点与通配符不同。在
escape 子句中不要使用现有通配符作为转义字符,因为:
• 如果将下划线或百分号 (“_”或 “%”)指定为转义字符,它将在 该 like 子句内失去本身的特殊含义,并且仅充当转义字符。
• 如果将左方括号或右方括号 (“[”或 “]”)指定为转义字符,则 在该 like 子句中会禁用括号的 Transact-SQL 含义。
• 如果将连字符或尖号 (“-”或 “^”)指定为转义字符,则在方括 号中它将失去本身的含义,而仅作为一个转义字符。
使用尾随空白和 %
Adaptive Server 将把 like 子句中 “%”后的多个尾随空白截断为一个尾 随空白。 like ‘‘% ’’(百分比符号后跟两个空格)与 ‘‘X ’’
(一个空格)、‘‘X ’’(两个空格)、‘‘X ’’(三个空格)或 任意数量的尾随空格相匹配。
在列中使用通配符
可在列中或列名中使用通配符。如果希望在 pubs2 数据库中创建一个名
special_discounts 的表,为打折销售制订一个价格方案,可输入:
create table special_discounts id_type char(3), discount int) insert into special_discounts values("BU%", 10)
...
表中应该包含如下数据:
id_type discount
------- ----------- BU% 10
PS% 12
MC% 15
下列查询将在 where 子句的 id_type 中使用通配符:
select title_id, discount, price, price - (price*discount/100)
from special_discounts, titles where title_id like id_type
下面是查询结果:
title_id discount price
-------- |
----------- |
-------------- |
-------------- |
BU1032 |
10 |
19.99 |
17.99 |
BU1111 |
10 |
11.95 |
10.76 |
BU2075 |
10 |
2.99 |
2.69 |
BU7832 |
10 |
19.99 |
17.99 |
PS1372 |
12 |
21.59 |
19.00 |
PS2091 |
12 |
10.95 |
9.64 |
PS2106 |
12 |
7.00 |
6.16 |
PS3333 |
12 |
19.99 |
17.59 |
PS7777 |
12 |
7.99 |
7.03 |
MC2222 |
15 |
19.99 |
16.99 |
|
MC3021 |
15 |
2.99 |
2.54 |
|
MC3026
|
affected) |
15 |
NULL |
NULL |
这种类型的示例允许复杂的模式匹配而不必构造一系列 or 子句。
“未知”值: NULL
NULL 在列中意味着该列没有被赋予条目。该列的数据值为 “未知”或 “不可用”。
NULL 不同于 “零”或 “空白”。利用空值可区分是特意在数值列输入 零 (对字符列则为空白)还是无条目 (对数值列和字符列均为 NULL)。
在允许空值的列中:
• 如果未输入任何数据, Adaptive Server 将自动输入 “NULL”。
• 用户可显式输入不带引号的 “NULL”或 “null”。
如果在某个字符列中键入 “NULL”时带引号,它将被认为是数据而非 空值。
查询结果将显示单词 NULL。例如, titles 表的 advance 列允许空值。通 过检查该列中的数据,可判断一本书是否尚未 根据协议支付预付款
(在预付款列中 MC2222 行为零),或输入数据时预付款金额是否未知
(在预付款列中 MC3026 行为 NULL)。
select title_id, type, advance from titles
where pub_id = "0877"
title_id type advance
-------- ---------- ---------
MC2222 mod_cook 0.00
MC3021 mod_cook 15,000.00
MC3026 UNDECIDED NULL
PS1372 psychology 7,000.00
TC3218 trad_cook 7,000.00
TC4203 trad_cook 4,000.00
TC7777 trad_cook 8,000.00
(7 rows affected)
测试某一列是否为空值
在 where、 if 和 while 子句中用 is null (如 第 15 章 “使用批处理和控制流 语言”中所述)将列值与 NULL 进行比较,然后根据比较结果选择它们 或执行某一特定操作。只有返回 true 值的列才被选定或产生指定操作; 返回值为 false 或 unknown 的列则不然。
以下示例只选择 advance 少于 5000 或为 NULL 的行:
select title_id, advance from titles
where advance < 5000 or advance is null
Adaptive Server 将以不同的方式处理空值,具体取决于使用的运算符和 要比较的值的类型。通常,空值的比较结果是 unknown,因为无法确定 NULL 是等于 (或不等于)给定值或另一个 NULL。如果 expression 是 求值结果为 NULL 的任意列、变量或文字 (或这些项的组合),则下列 情况将返回 true:
• expression is null
• expression = null
• expression = @x ,其中, @x 是包含 NULL 的变量或参数。此例外为 用空的缺省参数来编写存储过程提供了方便。
• expression != n,其中,n 是不包含 NULL 的文字,expression 的求值 结果为 NULL。
当表达式求值结果不为 NULL 时,这些表达式的否定形式将返回 true:
• expression is not null
• expression != null
• expression != @x
如果使用关键字 like 和 not like 而非运算符 = 和 !=,则情况相反。以下比 较将返回 true:
• expression not like null
而以下比较将返回 false:
• expression like null
这些表达式的最右侧是文字 Null 或包含 NULL 的变量或参数。如果比 较的最右侧是表达式 (例如 @nullvar + 1),则整个表达式的求值结果 为 NULL。
空列值不与其它空列值相连接。在 where 子句中将空列值与其它空列值 进行比较时,无论比较运算符是什么,始终返回 unknown,且结果中不 包括行。例如,以下查询不返回 column1 在两个表中包含 NULL 的结果 行 (虽然它可能返回其它行):
select column1
from table1, table2
where table1.column1 = table2.column1
当与 NULL 连用时,下列运算符将返回结果:
• = 返回包含 NULL 的所有行。
• != 或 <> 返回不 包含 NULL 的所有行。
如果为了与 SQL 兼容而将 set ansinull 置于打开状态,则当 = 和 != 运算符 与 NULL 连用时,它们不会返回结果。无论 set ansinull 选项是何值,下 列运算符在与 NULL 连用时都不会返回值:<, <=, !<, >, >=, !>。
Adaptive Server 可确定某列值为 NULL。因此,以下表达式将被视为 true:
column1 = NULL
但是,下列比较可能永远也不会确定,因为 NULL 意味着 “存在一个 未知值”:
where column1 > null
此逻辑同样适用于在 where 子句中使用两个列名的情况 (即连接两个表 时)。类似于 “where column1 = column2”的子句不会返回列中包含空 值的行。
也可使用下列模式查找空值或非空值:
where column_name is [not] null
例如:
where advance < 5000 or advance is null
titles 表中的某些行包含不完整的数据。例如,一本名为 The Psychology of Computer Cooking (title_id = MC3026) 的书已被列入计划,但是其标题、 标题标识号和可能的出版社还未确定,此时在 price、 advance、 royalty、 total_sales 和 notes 列中就会出现空值。因为在比较中空值不与任何内容 匹配,所以某个查找所有标题标识号且书籍预付款少于 5000 的查询将 不会找到 The Psychology of Computer Cooking。
select title_id, advance from titles
where advance < 5000
title_id |
advance |
-------- |
---------- |
MC2222 |
0.00 |
PS2091 |
2,275.00 |
PS3333 |
2,000.00 |
PS7777 |
4,000.00 |
TC4203 |
4,000.00 |
(5 rows affected)
以下查询将查找预付款少于 5000 或 在 advance 列中有空值的书籍:
select title_id, advance from titles
where advance < 5000 or advance is null
title_id advance
-------- ---------- MC2222 0.00
MC3026 NULL
PC9999 NULL
PS2091 2,275.00
PS3333 2,000.00
PS7777 4,000.00
TC4203 4,000.00
有关 create table 语句中 NULL 的信息以及 NULL 和缺省值之间关系的信 息,请参见 第 8 章 “创建数据库和表 ” 。有关向表中插入空值的信息, 请参见 第 7 章 “添加、更改、传输和删除数据 ”。
false 和 unknown 之间的区别
false 和 unknown 之间有一个重要的逻辑区别:false 的相反值 (“not false”)是 true,而 unknown 的相反值仍然是 unknown。例如,“1=2” 求值为 false,而它的相反运算 “1!=2”求值为 true。但 “not unknown” 仍然是 unknown。如果在比较运算中包括空值,则不能通过否定表达式 来获得行的相对集合或相对真值。
用一个值替代 NULL
利用内置函数 isnull 可用一特定值替代空值。进行替代仅出于显示目的, 实际列值不受影响。语法为:
isnull(expression, value)
例如,使用以下语句从 titles 中选择所有行,并在 notes 列中用 “unknown” 值显示所有空值。
select isnull(notes, "unknown") from titles
如果任何操作数为空,则带有算术运算符或逐位运算符的表达式求值结 果为 NULL。例如,如果 column1 为 NULL,则以下表达式的求值结果 也为 NULL:
1 + column1
并置字符串和 NULL
如果将字符串与 NULL 并置,则表达式的求值结果为字符串。例如:
select "abc" + NULL + "def"
-----
abcdef
系统生成的 NULL
在 Transact-SQL 中,系统生成的 NULL (例如,通过 convert 之类的系 统函数得到的结果)与用户分配的 NULL 具有不同的行为。例如,在 以下语句中,用户提供的 NULL 和 1 在进行 “不等于”比较时将返回 true:
if (1 != NULL) print "yes" else print "no" yes
但与系统生成的 NULL 进行同样的比较时将返回 unknown:
if (1 != convert(integer, NULL)) print "yes" else print "no"
no
为了获得更为一致的行为,请启用 set ansinull (设置为 on),这样,系 统生成的 NULL 和用户提供的 NULL 都使比较计算返回 unknown。
逻辑运算符 and、 or 和 not 用来在 where 子句中连接搜索条件。语法为:
{where | having} [not]
column_name join_operator column_name
其中, join_operator 是一个比较运算符, column_name 是在比较中使用 的列。如果有歧义,可限定列名。
and 连接两个或两个以上的条件,并且仅当全部 条件都成立时才返回结 果。例如,以下查询仅查找作者姓为 Ringer、名为 Anne 的行。它不会 查找作者姓名为 Albert Ringer 的行。
select * from authors
where au_lname = "Ringer" and au_fname = "Anne"
or 也连接两个或两个以上的条件,只要其中任何一个 条件成立就返回结 果。以下查询将在 au_fname 列中搜索包含 Anne 或 Ann 的行。
select * from authors
where au_fname = "Anne" or au_fname = "Ann"
可指定多达 252 个 and 和 or 条件。
not 否定它后面所跟的表达式。以下查询将选择居住在 California 以外的 所有作者:
select * from authors where not state = "CA"
如果在某条语句中使用了多个逻辑运算符,通常先对 and 运算符求值, 然后再对 or 求值。使用小括号可更改执行顺序。例如:
select * from authors
where (city = "Oakland" or city = "Berkeley") and state
= "CA"
算术和逐位运算符在逻辑运算符之前处理。如果在某条语句中使用了多 个逻辑运算符,则首先对 not 求值,然后是 and,最后是 or。请参见
例如,以下查询将在 titles 表中查找全部 商业方面的书籍而不管其预付 款是多少,还将查找预付款大于 5500 的全部心理学方面的书籍。预付 款条件只适用于心理学书籍,因为 and 将先于 or 进行处理。
select title_id, type, advance from titles
where type = "business" or type = "psychology" and advance > 5500
title_id |
type |
advance |
-------- |
---------- |
---------- |
BU1032 |
business |
5,000.00 |
BU1111 |
business |
5,000.00 |
BU2075 |
business |
10,125.00 |
BU7832 |
business |
5,000.00 |
PS1372 |
psychology |
7,000.00 |
PS2106 |
psychology |
6,000.00 |
若要更改查询含义,可加上小括号以强制先求 or 的值。以下查询将查找 预付款大于 5500 的所有商业和心理学方面的书籍:
select title_id, type, advance from titles
where (type = "business" or type = "psychology") and advance > 5500
title_id |
type |
advance |
-------- |
---------- |
--------- |
BU2075 |
business |
10,125.00 |
PS1372 |
psychology |
7,000.00 |
PS2106 |
psychology |
6,000.00 |
(3 rows affected)
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)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
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的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- 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.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------