随着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
- 安全性管理指南
- 实用程序指南
添加新数据
使用 insert 命令通过两种方式向数据库中添加行:
• 使用 values 关键字指定新行中部分或全部列的值。使用 values 关键 字的 insert 命令的简化语法为:
insert table_name
values (constant1, constant2, ...)
• 可以在 insert 语句中使用 select 语句,从一个或多个表 (上限为 50 个表,包括要插入的表)中取值。使用 select 语句的 insert 命令的简 化语法为:
insert table_name select column_list from table_list
where search_conditions
注释 不能在 insert 语句内部的 select 语句中使用 compute 子句,因 为包含 compute 的语句不会生成常规行。
使用 insert 来添加 text、 unitext 或 image 值时,所有数据将写入事务 日志中。可以使用 writetext 命令来添加这些值,而不记录可能包含 text、 unitext 或 image 值的长数据块。请参见 第 218 页的 “插入数据 到指定列 ” 和 第 235 页的 “更改 text 、 unitext 和 image 数据 ”。
以下 insert 语句在 publishers 表中添加一个新行,从而为该行中的每个列 指定一个值:
insert into publishers
values ("1622", "Jardin, Inc.", "Camden", "NJ")
键入数据值的顺序应与初始 create table 语句中列名称的顺序相同,即, 首先是 ID 号,然后是名称,接着是城市,最后是州。 values 数据用括 号括起来,并且所有的字符数据用单引号或双引号引起。
对添加的每一行,使用单独的 insert 语句。
可通过仅指定某些列及其数据,将数据添加到某行的这些列。不包含在 列列表中的所有其它列,必须定义为允许空值。被跳过的列可接受缺省 值。如被跳过的列有绑定缺省值,则使用缺省值。
您可能希望使用这种形式的 insert 命令,在行中插入除 text、 unitext 或 image 以外的所有其它值,然后使用 writetext 插入长数据值,以免在事 务日志中存储这些值。也可使用这种形式的命令跳过 timestamp 数据。
例如,只将数据添加入两列, pub_id 和 pub_name,需要如下命令:
insert into publishers (pub_id, pub_name) values ("1756", "The Health Center")
列出列名的顺序必须与列出值的顺序一致。下面的示例产生与前一个示 例相同的结果:
insert publishers (pub_name, pub_id) values("The Health Center", "1756")
两个 insert 语句都将 “1756”放到标识号列中,并将 “The Health Center”放到出版社名称列中。因为 publishers 中的 pub_id 列具有唯一索 引,所以无法执行这两条 insert 语句;第二次尝试插入 pub_id 值 “1756”会产生错误消息。
以下 select 语句显示已添加到 publishers 中的行:
select *
from publishers
where pub_name = "The Health Center"
pub_id |
pub_name |
city |
state |
------- |
----------------- |
------ |
------- |
1756 |
The Health Center |
NULL |
NULL |
Adaptive Server 将 Null 值输入 city 和 state 列中,因为在 insert 语句中没 有给这些列赋值,并且 publisher 表允许这些列中包含 Null 值。
限制列数据:规则
可创建一个规则并将其绑定到列或用户定义的数据类型。规则约束能或 不能添加的数据类型。
例如,一个名为 pub_idrule 的规则绑定到 publishers 表的 pub_id 列,该规 则指定可接受的 publisher 标识号。可接受的 ID 是 “1389”、“0736”、 “0877”、“1622”、“1756”,或任何以 “99”开头的四位数字。如果 输任何其它数字,则会显示错误消息。
出现此类错误消息时,您可能需要使用 sp_helptext 来查看规则定义:
sp_helptext pub_idrule
---------
1
(1 row affected) text
---------------------------------------------------
create rule pub_idrule
as @pub_id in ("1389", "0736", "0877", "1622", "1756")
or @pub_id like "99[0-9][0-9]"
(1 row affected)
有关特定规则的更多常规信息,请使用 sp_help 查明是否有任何列具有 规则,或者使用 sp_help 加上表名作为参数。请参见 第 14 章 “为数据 定义缺省值和规则 ”。
使用 NULL 字符串
只有在 create table 语句中指定了 NULL,且已显式输入了 NULL (无引 号),或未输入任何数据的情况下,列才包含空值。不要将字符串 "NULL" (带引号)当作字符列的数据入。而应使用 “N/A”、“none” 或类似值。
若要将 NULL 显式插入列中,请使用:
values({expression | null} [, {expression | null}]...)
以下示例显示了两个等同的 insert 语句。在第一个语句中,用户将 NULL 显式插入 t1 列中。在第二个语句中,Adaptive Server 为 t1 提供了 NULL 值,因为用户没有指定显式列值:
create table test
(t1 char(10) null, t2 char(10) not null) insert test
values (null, "stuff") insert test (t2) values ("stuff")
NULL 不是空字符串 空字符串 (“ ”或 ‘ ’)总是作为单个空格存储在变量和列数据中。以下 并置语句相当于 “abc def”,而不是 “abcdef”:
"abc" + "" + "def"
空字符串从不会求值为 NULL。
将 NULL 插入不允许 NULL 的列中
若要使用 select 将数据从某些字段为空值的表中插入不允许空值的表 中,必须为初始表中的所有 NULL 条目提供替代值。例如,为了将数据 插入不允许空值的 advances 表中,以下示例用 “0”替代 NULL 字段:
insert advances
select pub_id, isnull(advance, 0) from titles
如果不使用 isnull 函数,此命令就会将带有非空值的所有行插入 advances, 并对在 titles 的 advance 列中包含 NULL 的所有行产生错误消息。
如果无法对数据进行这种替代,则不能将包含空值的数据插入已有
NOT NULL 规定的列。
添加所有列都没有值的行
• 如果列或用户定义的列数据类型存在缺省值,则输入缺省值。请参 见 《参考手册:命令》中的 第 14 章 “为数据定义缺省值和规则” 或 insert。
• 如果创建表时为列指定了 NULL,并且列或数据类型不存在缺省 值,则输入 NULL。请参见 《参考手册:命令》中的 insert。
• 如果列具有 IDENTITY 属性,则输入一个唯一、连续的值。
• 如果创建表时没有为列指定 NULL 并且不存在缺省值,则 Adaptive Server 拒绝该行并显示错误消息。
表 7-4 显示了在这些情况下会看到的情况:
表 7-4:没有值的列
列或 数据类型存在 缺省值
列已定义为
NOT NULL
列已定义为 允许 NULL
列为
IDENTITY
可用 缺省值 缺省值 下一个顺序值
不可用 错误消息 NULL 下一个顺序值
使用 sp_help 来显示有关指定表、缺省值或系统表 sysobjects 中列出的任 何其它对象的报告。要查看缺省值定义,请使用 sp_helptext。
将列的值更改为 NULL
若要将列值设置为 NULL,请使用 update 语句:
set column_name = {expression | null} [, column_name = {expression | null}]...
例如,要查找所有 title_id 为 TC3218 的行,并用 NULL 替换 advance:
update titles
set advance = null
where title_id = "TC3218"
Adaptive Server 为 IDENTITY 列生成的值
在将行插入包含 IDENTITY 列的表中时, Adaptive Server 会自动生成列 值。不要在列列表中包括 IDENTITY 列的名称,也不要在值列表中包括 IDENTITY 列的值。
此 insert 语句将新行添加到 sales_daily 表。列列表不包含 IDENTITY 列
row_id:
insert sales_daily (stor_id) values ("7896")
注释 可以省略列名 stor_id。服务器可以识别 IDENTITY 列并使用 insert 插入下一个标识值,而无需用户输入列名。例如,下表包含三个 列,但 insert 语句为两个列指定值,而没有指定列名:
create table idtext (a int, b numeric identity, c char(1))
-------------------
(1 row affected)
insert idtext values(98,"z")
-------------------
(1 row affected
insert idtest values (99, "v"))
--------------------
(1 row affected) select * from idtest
---------------------
98 |
1 |
z |
99 |
2 |
v |
(2 rows affected)
下列语句显示了添加到 sales_daily 中的列。Adaptive Server 自动为 row_id
生成下一个顺序值, 2:
select * from sales_daily where stor_id = "7896"
sale_id stor_id
------- ------- 1 7896
(1 row affected)
将数据显式插入 IDENTITY 列
有时,可能想要将特定值插入 IDENTITY 列。例如,可能想要插入表的 第一行的 IDENTITY 值为 101,而不是 1,或者可能需要重新插入误删 除的行。
表的所有者可将值显式插入 IDENTITY 列中。如果数据库所有者和系统 管理员获得了表所有者授予的显式权限,或作为表所有者操作,他们能 将值显式插入 IDENTITY 列。
插入数据前,将表的 identity_insert 选项设置为 “on”。在会话中,一次 只能针对数据库中的一个表将 set identity_insert 设置为 “on”。
以下示例指定 IDENTITY 列的源值为 101:
set identity_insert sales_daily on
insert sales_daily (syb_identity, stor_id) values (101, "1349")
insert 语句列出了每个列,其中包含指定了值的 IDENTITY 列。当 identity_insert 选项设置为 “on”时,表的每条 insert 语句都必须指定显 式列列表。值列表必须指定 IDENTITY 列值,因为 IDENTITY 列不允许 空值。
将 identity_insert 设置为 “off”后,能自动插入 IDENTITY 列值,不必 指定 IDENTITY 列。后续插入根据在将 identity_insert 设置为 “on”后指 定的显式值,使用 IDENTITY 值。例如,如果为 IDENTITY 列指定了 101,则后续的插入应为 102、 103,等等。
注释 Adaptive Server 不强制插入值的唯一性。可在列的声明精度允许 的范围内指定任何正整数。为确保只接受唯一列值,可在插入任何行 前,在 IDENTITY 列上建唯一索引。
使用 @@identity 全局变量检索插入 IDENTITY 列的最后一个值。每次 insert 或 select into 尝试向表中插入一行时, @@identity 的值会更改。如 果 insert 或 select into 语句失败,或如果包含它的事务被回退,则
@@identity 不还原为其以前的值。如果语句影响没有 IDENTITY 列的 表,则将 @@identity 设置为 0。
如果语句插入多行,则 @@identity 显示最后插入 IDENTITY 列中的值。
存储过程或触发器内的 @@identity 值不影响该存储过程或触发器外的 值。例如:
select @@identity
---------------------------------------
101
create procedure reset_id as
set identity_insert sales_daily on
insert into sales_daily (syb_identity, stor_id) values (102, "1349")
select @@identity select @@identity execute reset_id
---------------------------------------
102
select @@identity
---------------------------------------
101
保留 IDENTITY 列值块
identity grab size 配置参数允许每个 Adaptive Server 进程保留一个 IDENTITY 列值块,以便插入到具有 IDENTITY 列的表中。此配置参数 减少了在插入隐式标识值时, Adaptive Server 引擎必须持有内部同步结 构的次数。例如,将保留值的数量设置为 20:
sp_configure "identity grab size", 20
当用户执行插入包含 IDENTITY 列的表的操作时, Adaptive Server 为该 用户保留一个 20 个 IDENTITY 列值的块。因此,在当前会话期间,用 户插入到表中的下一 20 行具有顺序的 IDENTITY 列值。如果在第一个 用户进行插入时,第二个用户在同一表中插入行, Adaptive Server 将为 第二个用户保留下一个包含 20 个 IDENTITY 列值的块。
例如,假定已创建下列包含 IDENTITY 列的表,并且 identity grab size 设 定为 “10”:
create table my_titles
(title_id numeric(5,0) identity, title varchar(30) not null)
用户 1 将这些行插入 my_titles 表中:
insert my_titles (title)
values ("The Trauma of the Inner Child")insert my_titles
(title)
values ("A Farewell to Angst") insert my_titles (title) values ("Life Without Anger")
Adaptive Server 允许用户 1 有一个含 10 个顺序 IDENTITY 值的块,例 如, title_id 编号 1–10。
当用户 1 将行插入 my_titles 时,用户 2 开始将行插入 my_titles。Adaptive Server 授予用户 2 保留 IDENTITY 值的下一可用块,也就是说,值 11–20。
如果用户 1 只输入三个 “title”,然后注销 Adaptive Server,那么剩余的 七个保留的 IDENTITY 值将丢失。结果是表的 IDENTITY 值中出现一个 间隔。若要避免 IDENTITY 列中出现较大间隔,请不要将 identity grab size 设置得过高。
达到 IDENTITY 列的最大值
可插入到 IDENTITY 列的最大值为
10 p recision - 1。如果不指定 IDENTITY 列的精度,Adaptive Server 将使用
numeric 列的缺省精度 (18 位)。
一旦 IDENTITY 列达到最大值, insert 语句将返回错误消息并终止当前 事务。发生这种情况时,使用下面讨论的方法之一可解决问题。
修改 IDENTITY 列的最大值
通过 alter table 命令中的修改操作更改任何 IDENTITY 列的最大值:
alter table my_titles
modify title_id, numeric (10,0)
此操作对表执行数据复制操作并重建所有表索引。
创建具有更大精度的新表
如果表包含用于参照完整性的 IDENTITY 列,则保留 IDENTITY 列值的 当前编号。
1 使用 create table 创建新表,该表除了 IDENTITY 列精度值更大外, 与旧表相同。
2 使用 insert into 将数据从旧表复制到新表中。
如果表不包含用于参照完整性的 IDENTITY 列,并且如果在编号序列中 有间隔,则可以对 IDENTITY 列进行重新编号以消除间隔,以提供更多 的插入空间。
若要按顺序对 IDENTITY 列值重新编号并删除间隔,请执行以下操作:
1 在操作系统命令行上,使用 bcp 拷出数据:
bcp pubs2..mytitles out my_titles_file -N -c
其中,-N 指示 bcp 不将 IDENTITY 列值从表中复制到主机文件,-c
指示 bcp 使用字符模式。
2 在 Adaptive Server 中,创建一个与旧表相同的新表。
3 从操作系统命令行,使用 bcp 将数据复制进新表:
bcp pubs2..mynewtitles in my_titles_file -N -c
其中, -N 指示 bcp 当从主机文件装载数据时,让 Adaptive Server 分 配 IDENTITY 列值, -c 指示 bcp 使用字符模式。
4 在 Adaptive Server 中,删除旧表,并使用 sp_rename 将新表的名称 更改为旧表的名称。
如果 IDENTITY 列是连接的主键,可能需要更新其它表中的外键。
缺省情况下,在将数据批量复制到有 IDENTITY 列的表时, bcp 为每行 分配一个临时的 IDENTITY 列值 0。在将每行插入表时,服务器从下一 可用的值开始,为其分配一个唯一的、连续的 IDENTITY 列值。若要为 每行输显式 IDENTITY 列值,请指定 -E 标志。请参见 《实用程序指南》。
要从一个或多个其它表中将值提取到某个表中,请在 insert 语句中使用
select 子句。 select 子句能将值插入某行的某些或所有列。
如果要从现有表中提取一些值,仅为某些列插入值可能会非常方便。然 后,可以使用 update 将值添加到其它列。
在将值插入表的某些但不是全部列前,要确保存在缺省值或不插入值的 列已经指定为 NULL。否则, Adaptive Server 返回错误消息。
当从一个表向另一个表插入行时,两个表必须具有兼容的结构;也就是 说,匹配列的数据类型必须相同或者是 Adaptive Server 可在两者间自动 转换的数据类型。
注释 如果要插入的任何数据是空值,则不能将数据从允许空值的表插 入不允许空值的表。
如果列在其 create table 语句中具有相同的顺序,则不需要在两个表中指 定列名称。假定有一个名为 newauthors 的表,它包含一些作者信息行, 这些行具有与 authors 中信息相同的格式。将 newauthors 中的所有行添加 到 authors 中:
insert authors select *
若要根据某表中的数据将行插入另一个表,那么在各自的 create table 语 句中不必按相同的顺序列出两个表中的列。可以使用 insert 或 select 语句 排序列,以使它们相互匹配。
例如,假定用于创建 authors 表的 create table 语句包含顺序依次为 au_id、 au_fname、 au_lname 和 address 的列;而 newauthors 包含 au_id、 address、 au_lname 和 au_fname 列。列顺序必须在 insert 语句中匹配。可 以使用以下语法来实现:
insert authors (au_id, address, au_lname, au_fname) select * from newauthors
或:
insert authors
select au_id, au_fname, au_lname, address from newauthors
如果两个表中列的顺序不能匹配,则 Adaptive Server 不能完成或不能正 确完成 insert 操作,并会将数据放入错误的列。例如,可能在 au_lname 列中得到 “address”数据。
使用计算列
可以在 insert 语句内的 select 语句中使用计算列。例如,假定名为 tmp 的 表包含一些 titles 表的新行,其中包含一些过期的数据 — price 数字需要 加倍。增加价格并在 titles 中插入 tmp 行的语句如下所示:
insert titles
select title_id, title, type, pub_id, price*2,
advance, total_sales, notes, pubdate, contract from tmp
对列执行计算时,不能使用 select * 语法;每列都必须在选择列表中单 独命名。
插入数据到某些列
可以使用 select 语句将数据添加到行的某些列,但不是所有列。只需在
insert 子句中,指定数据要添加到的列。
例如, authors 表中的某些 “author”没有 “title”,因此在 titleauthor 表 中没有条目。若要将它们的 au_id 编号从 authors 表中取出来,并将其插 入 titleauthor 表中作为占位符,请尝试以下语句:
insert titleauthor (au_id) select au_id
from authors where au_id not in
(select au_id from titleauthor)
此语句是不合法的,因为 title_id 列需要一个值。不允许空值,并且没有 指定缺省值。可以通过使用一个常量为 titles_id 输入伪值 “xx1111”, 如下所示:
insert titleauthor (au_id, title_id) select au_id, "xx1111"
from authors where au_id not in
(select au_id from titleauthor)
titleauthor 表现在包含四个新行,这些新行在 au_id 列中具有条目,在
title_id 列中具有伪条目,其它两列为空值。
从相同表中插入数据
可以基于相同表中的其它数据将数据插入表中。实质上,这意味着复制 一行的全部或部分。
例如,能将新行插入 publishers 表中,该表基于同一表中已经存在行的 值。请确保遵循有关 pub_id 列的规则:
insert publishers
select "9999", "test", city, state from publishers
where pub_name = "New Age Books" (1 row affected)
select * from publishers
pub_id pub_name city state
------- --------------------- ------- ------
0736 New Age Books Boston MA 0877 Binnet & Hardley Washington DC 1389 Algodata Infosystems Berkeley CA 9999 test Boston MA
该示例插入两个常量 (“9999”和 “test”)以及满足查询的行的 city 和
state 列的值。
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------