提供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. 实用程序指南

 


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

创建视图 ‌ ‌


对于每个用户来说,视图名称在已经存在的表和视图中必须唯一。如果 设置了 set quoted_identifier on ,就可以在视图名称上使用分隔标识符。否 则,视图名称必须符合 第 11 页的 “标识符”中给出的标识符规则。‌

可以在其它视图和引用视图的过程上创建视图。可以在视图上定义主键、 外键和公用键。但不能将规则、缺省值或触发器与视图相关联,也不能 在视上建立索引。不能在临时表上创建临时视图或视图。


create view 的语法 ‌

如 第 380 页的 “示例”中的 create view 示例所述,不需要在视图定义语 句的 create 子句中指定任何列名。 Adaptive Server 为视图的列提供了与 select 语句选择列表中所引用的列相同的名称和数据类型。可以用星号 ( * ) 指定 select 列表,如示例所示,也可以是基表中全部或部分列名的列表。

请参见 《参考手册:命令》。

要建立不含重复行的视图,可以使用 select 语句的 distinct 关键字来确保 视图中的每一行都唯一。但是,无法更新 distinct 视图。

下面是一个视图定义语句,它能够使视图中的列名不同于它在基础表中 的名称。

create view pub_view1 (Publisher, City, State) as select pub_name, city, state

from publishers


下面是用另一种方法创建相同的视图,但是在 select 语句中对列进行重 命名:

create view pub_view2

as select Publisher = pub_name,

City = city, State = state from publishers

下一节中的视图定义语句示例说明了将列名包含在 create 子句中的其余 规则。


image

注释 不能在视图定义中使用局部变量。

image


将 select 语句和 create view 一起使用‌

create view 语句中的 select 语句用于定义视图。在所创建的视图的 select

语句中,必须拥有对任何引用的对象进行 select 操作的权限。

可以通过任何复杂的 select 语句用多个表和其它视图创建视图。 对视图定义中的 select 语句有一些限制:

• 不能包含 order by 或 compute 子句。

• 不能包含 into 关键字。

• 不能引用临时表。

创建视图后,描述视图的源文本存储在 syscomments 系统表的 text 列中。


image

注释 切勿从 syscomments 中删除此信息。而应使用 sp_hidetext 对 syscomments 中的文本加密。请参见 《参考手册:过程》和 第 3 页的 “编译对象 ”。

image


带有投影的视图定义


要创建一个包含 titles 表中所有行但只含列的一个子集的视图,请输入:

create view titles_view

as select title, type, price, pubdate from titles

create view 子句中不包含任何列名。视图 titles_view 继承了在选择列表中 给定的列名。


带有计算列的视图定义

下面是一个视图定义语句,该语句使用从 price、 royalty 和 total_sales 列 生成的计算列创建视图:

create view accounts (title, advance, amt_due) as select titles.title_id, advance,

(price * royalty /100) * total_sales from titles, roysched

where price > $15 and advance > $5000

and titles.title_id = roysched.title_id

and total_sales between lorange and hirange

因为通过将 price、royalty 和 total_sales 相乘得到的列没有可继承的名称, 所以必须将列的列表包含在 create 子句中。计算列命名为 amt_due。计 算列在 create 子句中的位置必须与计算时所用的表达式在 select 子句中 的位置相同。


带有集合或内置函数的视图定义

包含集合或内置函数的视图定义必须将列名放在 create 子句中。例如:

create view categories1 (category, average_price) as select type, avg(price)

from titles group by type

当出于安全性考虑而创建视图时,应谨慎使用集合函数和 group by 子句。 对于可以包含在带有 group by 的 select 中的列,由于 Transact-SQL 扩展 不对其进行限制,因此可能会导致视图所返回的信息多于所要求的信息。 例如:

create view categories2 (category, average_price) as select type, avg(price)

from titles

where type = "business"

您可能想用视图将其结果限定为 “business ”类别,但结果中具有其它 类别的信息。请参见 第 77 页的 “将查询结果分组: group by 子句 ”。


带有连接的视图定义


可以创建由多个基表派生的视图。下面是由 authors 和 publishers 表派生 视图的示例。此视图包含与出版社处于同一城市的作者的姓名和所在的 城市,以及每个出版社的名称和所在城市:

create view cities (authorname, acity, publishername, pcity)

as select au_lname, authors.city, pub_name, publishers.city

from authors, publishers

where authors.city = publishers.city


用于外连接的视图


如果定义带有外连接的视图,然后使用外连接的内部表中列的限定条件 查询该视图,则查询的行为表现得就像该限定条件是视图的 where 子句 的一部分,而不是视图中外连接的 on 子句的一部分一样。因此,该限 定条件只适用于外连接完成后的行。例如,如果满足外连接条件,则限 定条件适用于 NULL 扩展行,并相应地消除行。

下列规则确定了可通过连接视图对列进行更新的类型:

• 连接视图中不允许使用 delete 语句。

• 在用 with check option 创建的连接视图中不允许使用 insert 语句。

• 在用 with check option 创建的连接视图中,允许使用 update 语句。如 果任何受影响的列出现在 where 子句中,或出现在包含来自多个表 的列的表达式中,更新将会失败。

• 如果通过连接视图来插入或更新行,所有受影响的列都必须属于同 一基表。


从其它视图派生的视图

可以根据其它视图来定义视图,如下例所示:

create view hiprice_computer as select title, price

from hiprice

where type = "popular_comp"


distinct 视图


可以确保视图中包含的行是唯一的,如下面的示例所示:

create view author_codes as select distinct au_id from titleauthor

如果某行的所有列值都与另一行包含的相同列值相匹配,则该行就是重 复行。两个空值被认为是相同的。

Adaptive Server 在第一次访问视图时,会将 distinct 要求应用到视图定义 中,然后再进行任何投影或选择。视图的外观和操作与任何数据库表类 似。如果选择 distinct 视图的投影 (即只选择视图的某些但选择其所有 行),则得到的结果似乎重复。但视图自身内的每行仍然唯一。例如, 假定创建了一个 distinct 视图 myview,它有三个列,即 a、 b 和 c,其中 包含下列值:


a

b

c

1

1

2

1

2

3

1

1

0

输入此查询后:

select a, b from myview

结果如下所示:

a b

--- ---

1 1

1 2

1 1


(3 rows affected)

第一行与第三行似乎重复。但基础视图行仍然唯一。


包含 IDENTITY 列的视图‌

可以通过在视图的 select 语句中列出列名 (或 syb_identity 关键字),定 义包含 IDENTITY 列的视图。例如:

create view sales_view

as select syb_identity, stor_id from sales_daily


但是,不能使用 identity_column_name = identity(precision) 语法向视图中 添加新的 IDENTITY 列。

可以使用 syb_identity 关键字选择视图中的 IDENTITY 列,除非视图:

• 多次选择 IDENTITY 列

• 通过 IDENTITY 列计算新列

• 包含一个集合函数

• 连接多个表中的列

• 将 IDENTITY 列作为表达式的一部分包含

在下述情况下, Adaptive Server 不将该列视为视图的 IDENTITY 列。 在对视图执行 sp_help 时,此列显示的 “Identity”值为 0。

在下面的示例中,row_id 列不被认为是 store_discounts 视图的 IDENTITY

列,因为 store_discounts 连接两个表中的列:

create view store_discounts as

select stor_name, discount from stores, new_discounts

where stores.stor_id = new_discounts.stor_id

定义视图时,基础列会保留 IDENTITY 属性。通过视图更新行时,不能 为 IDENTITY 列指定新值。通过视图插入行时, Adaptive Server 为 IDENTITY 列生成新的顺序值。为列的基表设置 identity_insert on 后,只 有表所有者、数据库所有者或系统管理员才能显式地在 IDENTITY 列中 插入值。


验证视图的选择标准 ‌

通常, Adaptive Server 不对视图的 insert 和 update 语句进行检查来确定 被影响的行是否在此视图的范围内。语句可以将行插入到底层基表中, 但不能插入到视图中,语句还可以更改现有行使其不再符合视图的选择 标准。

使用 with check option 子句创建视图时,通过该视图使用的每个 insert 和 update 都符合视图的选择标准而有效。所有通过视图插入或更新的行都 必须可以通过该视图来查看,否则该语句失败。


下面是用 with check option 创建的视图 stores_ca 的示例。此视图包含有关 位于 California 的商店的信息,但不包含有关位于任何其它州的商店的信 息。此视图是通过选择 stores 表中 state 值为 “CA”的所有行来创建的:

create view stores_ca as select * from stores where state = "CA"

with check option

通过 stores_ca 插入行时, Adaptive Server 检验新行是否在此视图的范围 内。下面的 insert 语句失败,因为新行的 state 值为 “NY”而不是 “CA”:

insert stores_ca

values ("7100", "Castle Books", "351 West 24 St.", "New

York", "NY", "USA", "10011", "Net 30")

通过 stores_cal 更新行时, Adaptive Server 将检验此更新操作是否会导 致此行从视图中消失。下面的 update 语句失败,因为它要将 state 的值 从 “CA”更改为 “MA”。如果允许此更新,就不能再通过该视图看 到该行。

update stores_ca set state = "MA"

where stor_id = "7066"


从其它视图派生的视图

如果视图是用 with check option 创建的,则从 “基”视图派生的所有视 图都必须满足其检查选项要求。必须能通过基视图查看通过派生视图插 入的每一行。通过派生视图更新的每一行都必须能通过基视图查看。

以从 stores_cal 派生的视图 stores_cal30 为例。此新视图包含位于

California 且付款方式为 “Net 30”的商店的有关信息:

create view stores_cal30 as select * from stores_ca 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”的行。即使无法再通 过 stores_cal30 查看该行,以下 update 语句仍会成功:

update stores_cal30

set payterms = "Net 60" where stor_id = "7067"




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

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。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------