随着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数据库技术问题需要咨询,请联系我!
以下官方手册为SAP IQ 16.0 SP03中文版:
SQL/MM 标准根据建立于 ANSI/SQL CREATE TYPE 语句基础之上的用户定义扩展类型 (UDT) 定义空间数据支持。虽然 SAP Sybase IQ 不支持用户定义的类型,但仍然实现了 SAP Sybase IQ 空间数据支持,就好像它们受支持一样。
实例化 UDT 实例
可通过调用构造函数来实例化用户定义类型的值,如下所示: NEW type-name ( argument-list ) 例如,查询可以包含以下内容以实例化两个 ST_Point 值:
SELECT NEW ST_Point(), NEW ST_Point(3,4)
空间数据
SAP Sybase IQ 使用常规重载解决规则对照已定义的构造程序来匹配 argument-list。出 现以下情况时会返回错误:
• NEW 与不是用户定义类型的类型一起使用
• 无法实例化用户定义类型(例如,ST_Geometry 不是可实例化的类型)。
• 没有与提供的参数类型相匹配的重载
使用实例方法
用户定义类型可以定义实例方法。在类型的值上调用实例方法如下: value-expression . method-name ( argument-list ) 例如,以下虚构的示例会选择 Massdata.CenterPoint 列的 X 坐标:
SELECT CenterPoint.ST_X() FROM Massdata;
如果存在名为 CenterPoint 的用户 ID,数据库服务器会将 [CenterPoint.ST_X()] 视为不明确。这是因为该语句可能表示 "调用用户 CenterPoint 拥有的用户定义函数 ST_X"(不是此语句的正确意图),也可能表示 "调用 Massdata.CenterPoint 列上的 ST_X 方法"(该语句的正确意思)。数据库服务器解决此类不明确问题的方法是首先 执行区分大小写的搜索来查找名为 CenterPoint 的用户。如果找到用户,则数据库服 务器将继续,就好像正在调用一个用户定义的且由用户 centerpoint 所拥有的函数 ST_X 一样。如果未找到用户,则数据库服务器会将该结构视为方法调用并对 Massdata.CenterPoint 列调用 ST_X 方法。
出现以下情况时调用实例方法会给出错误:
• value-expression 声明的类型不是用户定义的类型
• value-expression 声明的类型或其某个超类型中未定义指定方法
• argument-list 与为指定方法定义的某个重载不匹配。
使用静态方法
除了实例方法,ANSI/SQL 标准还可以将用户定义类型与静态方法关联。使用以下语 法调用静态方法:
type-name::method-name( argument-list )
例如,以下语句通过分析文本将 ST_Point 实例化:
SELECT ST_Geometry::ST_GeomFromText('POINT( 5 6 )')
出现以下情况时调用静态方法会给出错误:
• value-expression 声明的类型不是用户定义的类型
• value-expression 声明的类型或其某个超类型中未定义指定方法
• argument-list 与为指定方法定义的某个重载不匹配
使用静态集合方法(SAP Sybase IQ 扩展)
作为 ANSI/SQL 的扩展,SAP Sybase IQ 支持实现用户定义集合的静态方法。例如:
SELECT ST_Geometry::ST_AsSVGAggr(T.geo) FROM table T
空间数据
静态方法的所有重载都必须是集合的或者任何重载都不是集合的。 出现以下情况时调用静态集合方法会给出错误:
• 静态方法调用给出错误
• 内置集合函数给出错误
• 指定了 WINDOW 子句
使用类型谓语
ANSI/SQL 标准定义的类型谓语允许语句检查值的具体类型(在其它语言中也称为对 象类型)。语法如下:
value IS [ NOT ] OF ( [ ONLY ] type-name,...)
如果 value 为 NULL,则谓语返回 UNKNOWN。否则,将 value 的具体类型与 type-name 列表中的每个元素进行比较。如果指定 ONLY,则具体类型正好是指定类型时存在匹 配项。否则,具体类型是指定类型或任何派生类型(子类型)时存在匹配项。
如果 value 的具体类型与列表中的一个元素相匹配,则返回 TRUE,否则返回 FALSE。
以下示例返回 Shape 列值的具体类型为 ST_Curve 或其子类型(ST_LineString、 ST_CircularString 或 ST_CompoundCurve)之一的所有行:
SELECT * FROM SpatialShapes WHERE Shape IS OF ( ST_Curve );
使用子类型的 TREAT 表达式
ANSI/SQL 标准定义的子类型处理表达式允许将表达式的声明类型从超类型高效转换 为子类型。当您知道表达式的具体类型(在其它语言中也称为对象类型)是指定子类 型或指定子类型的子类型时,可使用此表达式。使用 CAST 函数时会更有效,因为 CAST 函数制作值的副本,而 TREAT 不制作副本。语法如下:
TREAT( value-expression AS target-subtype ) 如果没有出现错误,则结果是声明的类型为 target-subtype 的 value-expression 。 出现以下情况时子类型处理表达式会给出错误:
• value-expression 不是用户定义的类型
• 如果 target-subtype 不是 value-expression 的声明类型的子类型
• 如果 value-expression 的动态类型不是 target-subtype 的子类型
以下示例将 ST_Geometry Shape 列的声明类型有效地更改为 ST_Curve 子类型,以便 能够调用 ST_Curve 类型的 ST_Length 方法:
SELECT ShapeID, TREAT( Shape AS ST_Curve ).ST_Length() FROM SpatialShapes WHERE Shape IS OF ( ST_Curve );
空间数据
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------