随着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
- 安全性管理指南
- 实用程序指南
update
说明 通过添加数据或者修改现有数据,更改现有行中的数据。
语法 update [top unsigned_integer] [[database.]owner.]{table_name | view_name}
set [[[database.]owner.]{table_name.|view_name.}]
column_name1 =
{expression1 | NULL | (select_statement)} |
variable_name1 =
{expression1 | NULL | (select_statement)} [, column_name2 =
{expression2 | NULL | (select_statement)}]...| [, variable_name2 =
{expression2 | NULL | (select_statement)}]...
[from [[database.]owner.]{view_name [readpast]|
table_name
[(index {index_name | table_name} [prefetch size][lru|mru])]}
[readpast]
[,[[database.]owner.]{view_name [readpast] | table_name
[(index {index_name | table_name} [prefetch size][lru|mru])]}]
[readpast] ...] [where search_conditions] [plan "abstract plan"]
update [[database.]owner.]{table_name | view_name}
set [[[database.]owner.]{table_name.|view_name.}]
column_name1 =
{expression1 | NULL | (select_statement)} |
variable_name1 =
{expression1 | NULL | (select_statement)} [, column_name2 =
{expression2 | NULL | (select_statement)}]...| [, variable_name2 =
{expression2 | NULL | (select_statement)}]... where current of cursor_name
参数 table_name | view_name 是要更新的表或视图的名称。如果该表或视图位于另一数据库中,请 指定该数据库名称;如果在数据库中有多个具有该名称的表或视图, 请指定所有者的名称。 owner 的缺省值是当前用户,而 database 的缺 省值是当前数据库。
top unsigned_integer
将 top n 子句紧接在关键字之后插入,并限制更新的行数。
指定列名或变量名并赋予其新值。该值可以是表达式或 NULL。列出 多个列名或变量名和值时,必须将其用逗号分隔。
from
readpast
使 update 命令只修改数据行锁定表上未锁定的行或数据页锁定表上未 锁定页上的行。update...readpast 自动跳过锁定的行或页而不等待锁被 释放。
where
index {index_name | table_name}
index_name 指定用于访问 table_name 的索引。更新视图时不能使用 此选项。
prefetch size
为绑定到配置了大 I/O 的高速缓存的表指定 I/O 大小 (单位为千字 节)。更新视图时不能使用此选项。 sp_helpcache 显示对象绑定到的 高速缓存或缺省高速缓存的有效大小。若要配置数据高速缓存大小, 请使用 sp_cacheconfigure。
在使用 prefetch 并指定预取大小 ( size ) 时,最小值是 2K 或逻辑页大小 与 2 的任意次方的乘积 (最大为 16K)。 prefetch 大小选项如下 (单 位为千字节):
逻辑页大小 |
预取大小选项 |
2 |
2, 4, 8, 16 |
4 |
4, 8, 16, 32 |
8 |
8, 16, 32, 64 |
16 |
16, 32, 64, 128 |
在查询中指定的 prefetch 大小仅仅是一个建议。要使用指定的大小, 应将数据高速缓存按该大小进行配置。如果未将数据高速缓存配置为 特定的大小,则使用缺省的 prefetch 大小。
如果启用了 CIS,则不能对远程服务器使用 prefetch。 lru | mru
指定对表使用的缓冲区替换策略。使用 lru 强制优化程序将表读入
MRU/LRU (最近使用最多的/最近使用最少的)链上的高速缓存。使 用 mru 可放弃高速缓存中的缓冲区并将其替换为该表的下一个缓冲 区。更新视图时不能使用此选项。
导致 Adaptive Server 更新 cursor_name 的当前游标位置指示的表或视 图中的行。
index_name 是要更新的索引的名称。如果未指定索引名,则更新指定表中所有索 引的分布统计信息。
plan "abstract plan" 指定用来优化查询的抽象计划。它可以是用抽象计划语言指定的完整 或部分计划。有关详细信息,请参见 《性能和调优系列:查询处理 和抽象计划》中的 “创建和使用抽象计划”。
示例 示例 1 authors 表中的所有 McBaddens 现在成为 MacBaddens:
update authors
set au_lname = "MacBadden" where au_lname = "McBadden"
示例 2 修改 total_sales 列以反映在 sales 和 salesdetail 表中记录的最新销 售。在此假定只在给定日期记录了给定标题的一组销售,且更新是当前 更新:
update titles
set total_sales = total_sales + qty from titles, salesdetail, sales
where titles.title_id = salesdetail.title_id and salesdetail.stor_id = sales.stor_id and salesdetail.ord_num = sales.ord_num and sales.date in
(select max (sales.date) from sales)
示例 3 将 titles 表中当前由 title_crsr 指向的书的价格更改为 $24.95:
update titles
set price = 24.95
where current of title_crsr
示例 4 查找 IDENTITY 列等于 4 的行并将该书的价格更改为 $18.95。 Adaptive Server 用 IDENTITY 列的名称替换 syb_identity 关键字:
update titles
set price = 18.95 where syb_identity = 4
示例 5 使用一个已声明的变量更新 titles 表:
declare @x money select @x = 0 update titles
set total_sales = total_sales + 1,
@x = price
where title_id = "BU1032"
示例 6 更新另一任务不对其持有锁的行:
update salesdetail set discount = 40 from salesdetail readpast
where title_id like "BU1032" and qty > 100
用法 • 使用 update 更改已经插入的行中的值。使用 insert 添加新行。
• 可在一条 update 语句中引用多达 15 个表。
• update 与用 create index 命令设置的 ignore_dup_key、 ignore_dup_row 和 allow_dup_row 选项交互作用。有关详细信息,请参见 create index。
• 可以定义一个触发器,从而在对指定的表或表中指定的列发出
update 命令时执行指定的操作。
• 在 Adaptive Server 12.5.2 版之前的版本中,有时不用工作表就能解 析对视图执行的带有 union all 子句的 update 和 delete 查询,这偶尔会 导致不正确的结果。在 Adaptive Server 12.5.2 中,始终使用 tempdb 中的工作表解析带 union all 子句对视图执行 update 和 delete 的查询。
在 update 语句中使用变量
• 可在 update 语句的 set 子句中对变量赋值,与在 select 语句中对它们 赋值的方式类似。
• 在 update 语句中使用某个变量前,必须用 declare 声明该变量,并用
select 进行初始化 (如示例 5 所示)。
• 更新中每个限定的行都会进行变量赋值。
• 在 update 语句中赋值的右侧引用变量时,该变量的当前值在更新每 行时更改。当前值 是当前行更新之前该变量的值。以下示例说明更 新每行时当前值如何更改。
假设有以下语句:
declare @x int select @x=0 update table1
set C1=C1+@x, @x=@x+1 where column2=xyz
更新开始之前 C1 的值是 1。下表说明 @ x 变量的当前值在每次更新 之后如何更改:
行 |
C1 的初始值 |
@x 的初始值 |
计算:C1+@x= 更新的 C1 |
更新后的 C1 值 |
计算:@x+1= 更新的 @x |
更新值 |
A |
1 |
0 |
1+0 |
1 |
0+1 |
1 |
B |
1 |
1 |
1+1 |
2 |
1+1 |
2 |
C |
2 |
2 |
2+2 |
4 |
2+1 |
3 |
D |
4 |
3 |
4+3 |
7 |
3+1 |
4 |
• 当在同一 update 语句中提供多个变量赋值时,赋予变量的值可能取 决于它们在赋值列表中的顺序,但并不总是如此。为了获得最佳结 果,请不要依赖于位置来确定所赋的值。
• 如果返回多行并发生将非集合列赋予某个变量的情况,则该变量的 最终值是处理的最后一行,因此可能没有用。
• 赋值给变量的 update 语句不需要设置任何限定行的值。
• 如果没有符合更新的行,则不对变量赋值。
• 在 update 语句中赋值的变量不能在同一 update 语句的子查询中引 用,无论该子查询在该 update 语句的何处出现。
• 在 update 语句中赋值的变量不能在同一 update 语句的 where 或
having 子句中引用。
• 在由连接驱动的更新中,在 update 语句的右侧赋值的变量使用不是 正在更新的表中的列。结果值取决于为更新选择的连接顺序和连接 的表限定的行数。
• 因为已更新变量的值不是存储在磁盘上,所以更新变量不受 update
语句回退的影响。
对事务使用 update
设置了 chained transaction mode on 且当前没有活动的事务时, Adaptive Server 将隐式地用 update 语句启动事务。若要完成更新,必须 commit 事 务或 rollback 更改。例如:
update stores set city = 'Concord' where stor_id = '7066'
if exists (select t1.city, t2.city from stores t1, stores t2 where t1.city = t2.city
and t1.state = t2.state
and t1.stor_id < t2.stor_id) rollback transaction
else
commit transaction
该批处理启动一个事务 (使用链式事务模式),并更新 stores 表中的某 一行。如果更新与表中另一商店包含相同州和城市信息的行,则将回退 对 stores 表进行的更改并结束该事务。否则,它提交更新并结束事务。
Adaptive Server 允许在给定事务中多次发出更新单个行的 update 语句。 例如,由于其类型 ID 是 “mod_cook”,所以以下两个更新都会影响 title_id 为 MC2022 的书的价格:
begin transaction update titles
set price = price + $10 where title_id = "MC2222" update titles
set price = price * 1.1 where type = "mod_cook"
在更新中使用连接
在 update 的 from 子句中执行连接是为了更新而对 ANSI 标准的 SQL 语法 所做的 Transact-SQL 扩展。 update 语句的处理方式决定了单个语句进行 的更新不累计。也就是说,如果 update 语句包含一个连接,而此连接中 的另一个表在连接列中有多个匹配值,则第二个更新不基于第一个更新 的新值,而是基于其初始值。结果是不可预知的,因为它们取决于处理 的顺序。考虑以下连接:
update titles set total_sales = total_sales + qty from titles t, salesdetail sd
where t.title_id = sd.title_id
对 titles 中的每个 title_id、对 salesdetail 的匹配行中的一 行,total_sales 值 只更新一次。每次的结果可能随查询的连接顺序、表分区或可用索引的 不同而不同。但是每次只从 salesdetail 向 total_sales 添加一个单值。
如果希望返回与连接列匹配的值的总和,则以下使用子查询的查询将返 回正确结果:
update titles set total_sales = total_sales + (select isnull (sum (qty),0)
from salesdetail sd
where t.title_id = sd.title_id) from titles t
对字符数据使用 update
• 用空字符串 ("") 更新可变长度的字符数据或 text 或 unitext 列会插入 单个空格。固定长度的字符列会填补到定义的长度。
• 从可变长度列数据中删除所有尾随空格,字符串只包含空格时例 外。仅包含空格的字符串会被截断为单个空格。自动截断比 char、 nchar、unichar、varchar、univarchar 或 nvarchar 列指定长度长的字符 串,除非将 string_rtruncation 设置为 on。
• 对 text 或 unitext 列执行 update 会初始化 text 或 unitext 列,赋予它一 个有效的文本指针,并至少分配一个文本页。
在游标中使用 update
• 不能更新可滚动游标。
• 若要更新使用游标的行,请使用 declare cursor 定义游标,然后将其 打开。游标名不能是 Transact-SQL 参数或局部变量。游标必须可更 新,否则 Adaptive Server 将返回错误。对游标结果集进行的任何更 新操作也会影响派生该游标行的基表行。
• 用 update ... where current of指定的 table_name 或 view_name必须是在 定义该游标的 select 语句的第一个 from 子句中指定的表或视图。如 果该 from 子句使用连接引用多个表或视图,可仅指定正在被更新的 表或视图。
更新后,游标位置保持不变。只要另一 SQL 语句没有移动该游标的 位置,就可继续更新该游标位置上的行。
• Adaptive Server 允许更新游标的 select_statement 列列表中没有指定 的列,但这些列必须是 select_statement 中指定的表的一部分。但 是,如果用 for update 指定了 column_name_list,且正在声明该游 标,则只能更新那些指定的列。
更新 IDENTITY 列
不能更新带有 IDENTITY 属性的列,无论是通过其基表更新还是通过视 图更新。若要确定列是否定义有 IDENTITY 属性,请在列的基表上使用 sp_help。
选入结果表中的 IDENTITY 列遵循与 IDENTITY 属性的继承性有关的下 列规则:
• 如果多次选择某一 IDENTITY 列,它将在新表中定义为 NOT NULL。该 IDENTITY 列将不继承 IDENTITY 属性。
• 如果选择 IDENTITY 列作为表达式的一部分,结果列不会继承 IDENTITY 属性。如果表达式中的任何列允许使用 NULL 值,则将 它创建为 NULL;否则,将它创建为 NOT NULL。
• 如果 select 语句包含 group by 子句或集合函数,结果列不会继承 IDENTITY 属性。包含 IDENTITY 列的集合的列将被创建为 NULL,其它列则被创建为 NOT NULL。
• 通过联合或连接选入表中的 IDENTITY 列不保留 IDENTITY 属性。 如果表中包含 IDENTITY 列和 NULL 列的联合,新列将定义为 NULL。否则,定义为 NOT NULL。
• 不能 update 用 distinct 子句定义的视图。
• 如果视图是用 with check option 创建的,则通过视图更新的每一行都 必须可以通过视图查看。例如,stores_cal 视图包括 stores 表中 state 值为 “CA”的所有行。with check option 子句根据视图的选择标准检 查每个 update 语句。
create view stores_cal as select * from stores where state = "CA"
with check option
如果将 state 更改为 “CA”之外的值,则 update 语句 (例如下面的 语句)将失败:
update stores_cal set state = "WA"
where store_id = "7066"
• 如果视图是用 with check option 创建的,则所有从基视图派生的视图 都必须满足视图的选择标准。通过派生 视图更新的每一行都必须能 通过基视图查看。
以从 stores_cal 派生的视图 stores_cal30 为例。此新视图包含位于
California 且付款方式为 “Net 30”的商店的有关信息:
create view stores_cal30 as select * from stores_cal where payterms = "Net 30"
因为 stores_cal 是用 with check option 创建的,所以通过 stores_cal30 更新的所有行都必须可以通过 stores_cal 查看。任何将 state 更改为 “CA”之外的值的行都被拒绝。
请注意,stores_cal30 本身并不具有 with check option 子句。所以,可以 更新 stores_cal30 中 payterms 值不是 “Net 30”的行。例如,以下 update 语句会成功执行,不过再也无法通过 stores_cal30 查看该行了:
update stores_cal30
set payterms = "Net 60" where stor_id = "7067"
• 不能在将两个或多个表的列连接起来的视图中更新行,除非下列两 个条件都为真:
• 该视图没有 with check option 子句,且
• 所有被更新的列都属于同一基表。
• 允许对包含 with check option 子句的连接视图执行 update 语句。如果 任何受影响的列出现在 where 子句中,或出现在包含来自多个表的 列的表达式中,更新将会失败。
• 如果通过连接视图来更新行,所有受影响的列都必须属于同一基表。
使用 index、 prefetch 或 lru | mru
index、 prefetch 和 lru | mru 可覆盖 Adaptive Server 优化程序作出的选择。 请慎用这些语句,并始终用 set statistics io on 检查性能影响。有关使用这 些选项的详细信息,请参见 《性能和调优指南》。
使用 readpast
• readpast 选项只适用于仅数据锁定表。如果为所有页锁定表指定
readpast,则会忽略该选项。
• readpast 选项与 holdlock 选项不兼容。如果在同一 select 命令中指定 了两者,将产生错误并终止命令。
• 如果会话范围的隔离级别为 3,将忽略 readpast 选项。
• 如果会话的事务隔离级别是 0,使用 readpast 的 update 命令将不会 发出警告消息。对于数据页锁定表,这些命令将修改所有没有被不 兼容锁锁定的所有页中的所有行。对于数据行锁定表,它们影响所 有没有被不兼容锁锁定的行。
• 如果将带有 readpast 选项的 update 命令应用于两个或多个文本列, 并且检查的第一个文本列含有不兼容锁,则 readpast 锁定将跳过此 行。如果此列没有不兼容锁,则此命令将获取一个锁并修改此列。 然后,如果行中的任何后续文本列带有不兼容锁,则此命令将阻 塞,直到它可以获取锁并修改此列为止。
• 有关 readpast 的详细信息,请参见 《性能和调优指南》。
标准 符合 ANSI SQL 的级别符合初级标准。 以下是 Transact-SQL 扩展:
• 使用 from 子句、限定表或列名是可以由 FIPS 标志程序检测的 Transact-SQL 扩展。连接视图的更新或目标列表包含表达式的视图 的更新是直到运行期间才可检测且不可用 FIPS 标志程序进行标志 的 Transact-SQL 扩展。
• 变量的使用。
• readpast
权限 如果 set ansi_permissions 为 on,则需要具有正在更新的表的 update 权 限。此外,必须具有所有在 where 子句中出现的列以及下列 set 子句的 所有列上的 select 权限。缺省情况下, ansi_permissions 为 off。
以下说明了基于您的细化权限设置的 update 权限检查。
细化权限已启用 在启用细化权限的情况下,你必须是表或者视图的所有者,或是具有 update
权限的用户。
细化权限已禁用 在禁用细化权限的情况下,您必须是表或视图的所有者、具有 update 权限的 用户或具有 sa_role 的用户。
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 |
审计选项 |
审计的命令或访问权限 |
extrainfo 中的信息 |
70 |
update |
对表执行的 update 命令 |
• 角色 – 当前活动角色 • 关键字或选项 – update 或 writetext • 先前值 – NULL • 当前值 – NULL • 其它信息 – NULL • 代理信息 – set proxy 有效时的初始登录名 |
71 |
update |
对视图执行的 update 命令 |
• 角色 – 当前活动角色 • 关键字或选项 – update 或 writetext • 先前值 – NULL • 当前值 – NULL • 其它信息 – NULL • 代理信息 – set proxy 有效时的初始登录名 |
另请参见 命令 alter table, create default, create index, create rule, create trigger, insert, where 子句 .
系统过程 sp_bindefault, sp_bindrule, sp_help, sp_helpartition, sp_helpindex, sp_unbindefault, sp_unbindrule.
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------