随着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
- 安全性管理指南
- 实用程序指南
选择排序顺序
不同语言对同样字符的排序是不同的。例如,在英语中,Cho 排在 Co 之前,而在西班牙语中则相反。在德语中,是个单字符,而字典中将 其视为双字符 ss 并相应地进行排序。变音字符按特定顺序排序,因此, aménité 排在 amène 之前,而如果忽略变音,排序顺序则相反。因此,需要 使用语言特定的排序顺序,以便正确地对字符进行排序。
每种字符集都有一种或多种排序顺序,Adaptive Server 使用它们来收集 数据。排序顺序与特定语言或语言组及特定的字符集联系密切。由于英 语、法语和德语以同样的方式对相同的字符进行排序,因此,它们可以 使用同样的排序顺序,例如,A、a、B、b,等等。或者,字符是特定 于其中一种语言的 — 例如,法语中使用变音字符 é 、à 和 á ,但英语 或德语中不使用这些字符 — 因此,这些字符的排序方式没有冲突。然 而,对于西班牙语却不是这样,在西班牙语中,双字母 ch 和 ll 的排序 是不同的。因此,虽然相同的字符集支持所有四种语言,但英语、法语 和德语有一组排序顺序,而西班牙语有一组不同的排序顺序。
另外,排序顺序与特定字符集密切相关。因此,在 ISO 8859-1 字符集中 有一组英语、法语和德语的排序顺序,在 CP 850 字符集中有另外的一 组,等等。特定字符集的可用排序顺序位于字符集目录的排序顺序定义 文件(*.srt 文件)中。有关字符集及其可用排序顺序的列表,请参见
排序顺序用于:
• 创建索引
• 将数据存入按索引排序的表
• 指定 order by 子句
为所有字符集都至少提供了一个二进制排序顺序,这种排序顺序对数据 进行摸索式的排序,即排序仅基于字符集中分配给代表每个字符的代码
(“二进制”代码)的算术值。二进制排序顺序适用于每个字符集的前 128 个字符(ASCII 英语)和亚洲语言。如果字符集支持多种语言(例 如,组 1 或 Unicode),二进制排序顺序很可能会得出不正确的结果, 并且您应选择其它排序顺序。
字符集也可以使用以下一种或多种字典排序顺序:
• 字典顺序,区分大小写,区分变音 — 分别对大写和小写字母进行排 序。字典排序顺序识别字母的各种变音形式,并将它们排在相关联 的非变音字母之后。
• 字典顺序,不区分大小写,区分变音 — 按字典顺序对数据排序,但 不区分大小写。大写字母与相应的小写字母等同,在排序结果中大 小写字母混合在一起。对于避免名称表中的重复条目是很有用的。
• 字典顺序,不区分大小写,区分变音,按优先级排序 — 在决定条 目是否相同时不区分大小写。同一单词的大小写形式是同等的。在 所有其它条件相同时,大写字母具有高的优先级(它们先出现)。
当 order by 子句中指定的列与表的聚簇索引的键相匹配时,使用这种 具有优先级的不区分大小写的排序顺序可能导致大表的性能降低。 不要选择具有优先级的不区分大小写的排序顺序,除非安装的版本 要求在 order by 子句的其它同等字符串中,大写字母排在小写字母 之前。
• 字典顺序,不区分大小写,不区分变音 — 将变音形式的字母与不加 变音的相关字母视为相同。它在排序结果中混合了变音字符。
Sybase 服务器每次只能支持一种缺省排序顺序。如果用户使用同一语言 或他们的语言使用同样的排序顺序,那么就选择所需要的排序顺序。例 如,如果用户使用法语,并希望使用法语排序,那么就可选用一种法语 字典排序顺序。或者,如果用户使用多语言的数据,并且这些语言使用 同样的排序顺序,例如,英语、法语和德语,那么就可选用一种排序顺 序,它可用于所有使用各种语言的用户。
然而,如果用户使用不同语言(需要不同的排序顺序),例如,法语和 西班牙语,那么,必须在排序顺序中选择一种作为缺省排序顺序。如果 选用了法语排序顺序,那么,对于使用西班牙语的用户,ch 和 ll 这样的 双字母的排序就不会象他们所期望的那样。在缺省状态下,安装过程用 二进制排序顺序配置服务器。
可使用 sortkey 函数为数据设置自定义的替代排序顺序(每种语言设置 一种排序顺序)。可动态选择这些排序顺序来满足不同用户的需求。 sortkey 函数是从缺省排序顺序中分离出来的,但它们可共存于同一服务 器中。sortkey 函数所提供的排序顺序比缺省排序顺序机制所提供的排 序顺序在广度和深度上要好。有关详细信息,请参见《参考手册:构件 块》中的 sortkey 和 compare。
表 10-5:可用的排序顺序
语言或脚本 字符集 排序顺序
所有语言 UTF-8 多种排序顺序,请参见 表 10-7 以获取列表
古斯拉夫语: 保加 利亚语、白俄罗斯 语、马其顿语、俄 语、塞尔维亚语、 乌克兰语
东欧: 捷克语、斯 洛伐克语
CP 855、CP 866、CP 1251、ISO
8859-5、Koi8、Macintosh Cyrillic
CP 852、ISO 8859-2、CP 1250
字典顺序,区分大小写,区分变音
字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,区分变音 字典顺序,区分大小写,区分变音,具有优先级 字典顺序,不区分大小写,不区分变音
英语、法语、德语 ASCII 8、CP 437、CP850、CP
860、CP 863、CP 1252a、ISO
8859-1、ISO 8859-15、Macintosh Roman、ROMAN8、ROMAN9、 ISO 15
字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,区分变音 字典顺序,区分大小写,区分变音,具有优先级 字典顺序,不区分大小写,不区分变音
英语、法语、德语 CP 850、CP 858 替代字典顺序,区分大小写 替代字典顺序,区分大小写,不区分变音 替代字典顺序,区分大小写,具有优先级
希腊语 ISO 8859-7 字典顺序,区分大小写,区分变音
匈牙利语 ISO 8859-2 字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,区分变音 字典顺序,不区分大小写,不区分变音
日语 EUCJIS、SJIS、DECKANJI 不区分大小写的通用字典顺序
哈萨克语 87 50
俄语 CP 866、CP 1251、ISO 8859-5、
Koi8、Macintosh Cyrillic
字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,区分变音
斯堪的纳维亚语 CP 850 字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,具有优先级
简体中文 EUC-GB、GB-18030、CP936 不区分大小写的通用字典顺序
西班牙语 ASCII 8、CP 437、CP850、CP 860、CP 863、CP 1252、ISO
8859-1、ISO 8859-15、
Macintosh Roman、ROMAN8
字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,区分变音 字典顺序,不区分大小写,不区分变音
泰语 CP 874、TIS 620 字典顺序
土耳其语 ISO 8859-9 字典顺序,区分大小写,区分变音 字典顺序,不区分大小写,不区分变音 字典顺序,不区分大小写,区分变音
语言或脚本 |
字符集 |
排序顺序 |
西欧语言 |
CP 1252 |
字典顺序,不区分大小写,区分变音,具有优 先级,不区分变音,西班牙语字典,不区分大 小写的西班牙语,不区分变音的西班牙语 |
对于在此未列出的语言,没有该语言的特定语言排序顺序。选择二进制 排序顺序,然后研究 sortkey 函数是否满足要求。如此表所示,许多语言 有多种排序顺序。
中文拼音排序顺序
拼音(更正式的名称为“汉语拼音”)使用罗马字母来表示标准中文发 音系统。拼音包含一个转写为罗马字母的转写系统,用于不使用中文字 符阅读和书写普通话。拼音使用变音来表示普通话的四个音调。
Adaptive Server 的早期版本使用简体中文 (GB) 排序顺序(gbpinyin 和 gbpinyinocs),同时使用 Unilib 字符集,从而会对使用 GB 字符集的数 据库的性能产生很大影响。
Adaptive Server 15.0.3 版自动使用 gbpinyin 和 gbpinyinocs 排序顺序,从而 避免了处理步骤,并显著改善了性能。
在早期版本中,缺省 size of unilib cache 配置参数为 268 KB。在 15.0.3 版 中,缺省值已增加到 302 KB。
在访问 ASCII 和 gbpinyin 数据的查询中,性能得到了改善。但是,如果 数据集混用了其它字符,您可能看不到任何性能改善。
有关配置 Adaptive Server 以使用 gbpinyin 和 gbpinyinocs 排序顺序的信 息,请参见《系统管理指南》中的第 9 章“配置字符集、排序顺序和 语言”。
选择用于中文和日文字符集的不区分大小写的排序顺序
使用两个存储过程来选择不区分大小写的排序顺序:
• sp_helpsort
• sp_configure
sp_helpsort sp_helpsort 列出了不区分大小写的可用排序顺序。
sp_helpsort
-----------
Name ID
-------------------------
nocase_eucgb 52
nocase_cp936 52
nocase_gb18030 52
nocase_eucjis 52
nocase_sjis 52
nocase_deckanji 52
sp_configure 若要切换到不区分大小写的排序顺序,请输入:
sp_configure 'default sortorder id', 52
选择缺省 Unicode 排序顺序
缺省的 Unicode 排序顺序明显不同于服务器缺省字符集的排序顺序。这 个单独的配置参数是静态参数,如果它发生了变化,就需要重新启动服 务器并重新建立 unichar 数据的索引。此排序顺序使用字符串参数,而不 是数字参数,以确保排序顺序是唯一的。
表 10-6 列出了可用的缺省 Unicode 排序顺序。
表 10-6:缺省的 Unicode 排序顺序
名称 |
ID |
说明 |
defaultml |
20 |
缺省的 Unicode 多语言排序 |
thaidict |
21 |
泰语字典顺序 |
iso14651 |
22 |
按照每个 ISO14651 标准进行排序 |
utf8bin |
24 |
为与 UTF-8 二进制相匹配的 UTF-16 排序 |
binary |
25 |
二进制排序 |
altnoacc |
39 |
替代不区分变音 |
altdict |
45 |
替代字典排序 |
altnocsp |
46 |
替代不区分大小写且具有优先级 |
scandict |
47 |
斯堪的纳维亚语字典排序 |
scannocp |
48 |
斯堪的纳维亚语不区分大小写且具有优先级 |
bin_utf8 |
50 |
UTF-8 二进制排序顺序 |
dict |
51 |
通用字典顺序 |
nocase |
52 |
不区分大小写的通用字典顺序 |
nocasep |
53 |
通用的不区分大小写且具有优先级 |
noaccent |
54 |
通用的不区分变音的字典顺序 |
espdict |
55 |
西班牙字典顺序 |
espnocs |
56 |
不区分大小写的西班牙语字典顺序 |
espnoac |
57 |
不区分变音的西班牙语字典顺序 |
rusnocs |
59 |
不区分大小写的俄语字典顺序 |
cyrnocs |
64 |
不区分大小写的古斯拉夫语字典顺序 |
elldict |
65 |
希腊语字典顺序 |
hundict |
69 |
匈牙利语字典顺序 |
hunnoac |
70 |
不区分变音的匈牙利语字典顺序 |
hunnocs |
71 |
不区分大小写的匈牙利语字典顺序 |
turknoac |
73 |
不区分变音的土耳其语字典顺序 |
表 10-7 列出了可装载的排序顺序。
表 10-7:可装载的排序顺序
名称 (Name) |
ID |
说明 (Description) |
cp932bin |
129 |
与 CP932 的二进制排序相匹配的顺序 |
dynix |
130 |
中文拼音排序 |
gb3213bn |
137 |
与 GB2312 的二进制排序相匹配的顺序 |
cyrdict |
140 |
通用古斯拉夫语字典顺序 |
turdict |
155 |
土耳其语字典顺序 |
euckscbn |
161 |
与 EUCKSC 的二进制排序相匹配的顺序 |
gbpinyin |
163 |
中文拼音排序 |
rusdict |
165 |
俄文字典排序 |
sjisbin |
179 |
与 SJIS 的二进制排序相匹配的顺序 |
eucjisbn |
192 |
与 EUCJIS 的二进制排序相匹配的顺序 |
big5bin |
194 |
与 BIG5 的二进制排序相匹配的顺序 |
若要在 Adaptive Server 中查看此排序顺序列表,请使用 sp_helpsort。请 参见《参考手册:过程》。
可使用 $SYBASE/collate/Unicode 目录中的外部文件来添加排序顺序。名 称与归类 ID 存储在 syscharsets 中。在设置缺省 Unicode 排序顺序之前, 外部 Unicode 排序顺序名称不必在 syscharsets 中。
注释 外部 Unicode 排序顺序由 Sybase 提供。不要尝试创建外部
Unicode 排序顺序。
与 Unicode 数据相关联的排序顺序完全独立于与传统字符数据相关联的 排序顺序。所有涉及 Unicode 数据类型的关系表达式都将使用 Unicode 排序顺序执行。这包括涉及 Unicode 和非 Unicode 数据的混合模式表达 式。例如,在下面的查询中,varchar 字符常量“Mü”将隐式转换为 unichar,并且将依据 Unicode 排序顺序执行比较:
select * from authors where unicode_name > 'Mü'
对于所有其它比较运算符以及并置运算符“+”、运算符“in”和运算 符“between”也都一样。同样,其目的是为了保持与现有数据库应用 程序的兼容性。
基于等同性的表连接(等同连接)需要特别说明。服务器通常会优化这 些连接以利用在参与列上定义的索引。连接 unichar 列和 char 列时,后者 需要进行转换,并且由于字符排序顺序和 Unicode 排序顺序不同,因此 优化程序将忽略 char 列上的索引。
在 Adaptive Server 12.5.1 版及更高版本中,如果服务器的缺省字符集配 置为 UTF-8,则可将服务器的缺省排序顺序(对于 char 数据)配置为以 上任意排序顺序。在此前的版本中,二进制排序顺序“bin_utf8” (ID=50) 是唯一适用于 UTF-8 的排序顺序。虽然不要求这样做,但可以 为 UTF-8 中的 char 数据选择一种排序顺序,使其与 unichar 数据的排序 顺序相对应。
在为 Unicode 选择哪种二进制排序顺序的问题上,存在潜在的混淆。名为 “binary”的排序顺序对 unichar 数据 (UTF-16) 的效率最高,因此它是缺 省排序顺序。该顺序基于 Unicode 标量值,意味着所有 32 位代理对都放 在所有 16 位 Unicode 值之后。名为“utf8bin”的排序顺序用于匹配
UTF-8 char 数据的缺省(效率最高)二进制顺序,也就是“bin_utf8”。 因此,建议使用的匹配组合为:unichar 使用“binary”,UTF-8 char 也 使用“binary”;或 unichar 使用“utf8bin”,UTF-8 char 使用 “bin_utf8”。前一种组合偏向于优化 unichar 的效率,而后一种组合偏 向于优化 char 的效率。避免对 UTF-8 char 使用“utf8bin”,因为它与“ bin_utf8”等同,但效率较低。
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------