随着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
- 安全性管理指南
- 实用程序指南
raiserror
说明 在用户屏幕上输出用户定义的错误消息并设置系统标记来记录发生了错 误这一情况。
语法 raiserror error_number
[{ format_string | @local_variable}] [, arg_list] [with errordata restricted_select_list]
参数 error_number
是值大于 17,000 的局部变量或整数。如果 error_number 介于 17,000 和 19,999 之间,并且 format_string 缺失或为空 (""),则 Adaptive Server 从 master 数据库的 sysmessages 表中检索错误消息文本。这些错误消息 主要供系统过程使用。
如果 error_number 等于或大于 20,000,且 format_string 缺失或为空,则 raiserror 从最初发出该查询或存放该存储过程的数据库中的 sysusermessages 表中检索消息文本。 Adaptive Server 尝试用 @@langid 的当前设置所定义的语言从 sysmessages 或 sysusermessages 检索消息。
format_string
是一个最大长度为 1024 字节的字符串。可以选择用局部变量声明
format_string,并在 raiserror 中使用该变量 (请参见 @local_variable)。
raiserror 可识别要输出的字符串中的占位符。格式字符串最多可包含 20 个任意顺序的唯一占位符。将消息文本发送到客户端时,使用 format_string 后接参数的格式化内容替换这些占位符。
为了在用其它语法结构将格式字符串转换为某种语言时,可以对参数 重新排序,要对占位符进行编号。参数所用占位符的显示形式如下: “%nn!”— 一个百分比符号 (%),后接一个 1 到 20 之间的整数,后面 再接一个感叹号 (!)。整数表示参数列表中字符串中的参数编号。 “%1!”“%1!”是原始版本中的第一个参数,“%2!”是第二个参数, 依此类推。
用这种方法指示参数的位置可以使转换正确,即使参数出现在目标语 言中的顺序与其在原始语言中的顺序不同也是如此。
例如,假定以下是一条英文消息:
%1! is not allowed in %2!.
此消息的德语版本是:
此消息的日语版本是:
在此示例中,“ %1!”在所有三种语言中都表示同一参数,“%2!”也 是如此。此示例显示了翻译格式中有时需要对参数重新排序。
@local_variable
是一个包含 format_string 值的局部变量。它必须是 char 或 varchar 类 型,且必须在使用它的批处理或过程中予以声明。
arg_list
是一系列由逗号分隔的变量或常量。 arg_list 是可选的,除非提供了包 含“% nn !”形式的占位符的格式字符串。参数可以是除 text 和 image 以外的任何数据类型;在出现在最终的字符串中之前,它将被转换为 char 数据类型。
如果参数求值结果为 NULL, Adaptive Server 会将它转换成零长度的
char 字符串。
with errordata
为 Client-Library™ 程序提供扩展错误数据。
restricted_select_list
包含一个或多个下列项目:
• “*”,表示按 create table 顺序排列的所有列。
• 按您希望的查看顺序排列的列名称列表。当选择现有的 IDENTITY 列时,可使用由表名限定的 syb_identity 关键字在必要 的地方替代实际的列名。
• 向结果表中添加新 IDENTITY 列的规范:
column_name = identity (precision)
• 缺省列标题 (列名)的替代内容,格式如下:
column_heading = column_name column_name column_heading
column_name as column_heading
在所有这些格式中,都可以将列标题用引号引起来。如果标题不 是有效的标识符 (即标题是保留字、标题以特殊字符开始或者标 题包含空格或标点符号),就必须用引号引起来。
• 表达式 (列名、常量、函数、任何由算术运算符或逐位运算符连 接起来的列名、常量和函数的组合,也可以是子查询)。
• 内置函数或集合。
• 上面所列项目的任意组合。
restricted_select_list 也可以按如下形式执行变量赋值:
@variable = expression
[, @variable = expression ...]
restricted_select_list 的限制包括:
• 不能将变量赋值与任何其它 restricted_select_list 选项合并。
• 不能在 restricted_select_list 中使用 from、where 或其它 select 子句。
• 不能在 restricted_select_list 中使用 “*”表示所有列。 请参见 《Transact-SQL 用户指南》。
示例 示例 1 如果没有找到用 @ tabname 参数提供的表,则该示例存储过程将 返回一个错误:
create procedure showtable_sp @tabname varchar (18) as
if not exists (select name from sysobjects where name = @tabname)
begin
raiserror 99999 "Table %1! not found.",
@tabname
end else
begin
select sysobjects.name, type, crdate, indid from sysindexes, sysobjects
where sysobjects.name = @tabname and sysobjects.id = sysindexes.id
end
示例 2 本示例在 sysusermessages 中添加一条消息,然后使用 raiserror 测 试该消息,并提供替换参数:
sp_addmessage 25001,
"There is already a remote user named '%1!'
for remote server '%2!'."
raiserror 25001, jane, myserver
示例 3 本示例使用 with errordata 选项将扩展错误数据 column 和 server 返 回给客户端应用程序,以说明涉及的列和所用的服务器:
raiserror 20100 "Login must be at least 5 characters long" with errordata "column" = "login", "server" = @@servername
用法 • 用户定义的消息可以即席生成 (如示例 1 和示例 3),或者可以将 其添加到系统表 sysusermessages 中供所有应用程序使用 (如示例 2)。可使用 sp_addmessage 将消息添加到 sysusermessages 中;使用 sp_getmessage 检索消息以供 print 和 raiserror 使用。
• 用户定义的错误消息的错误号必须大于 20,000。最大值为 2,147,483,647 (231 -1)。
• 所有用户定义错误消息的严重级都是 16。这表示用户已经犯了非致 命错误。
• 替换后, format_string 加上所有参数的最大输出字符串长度是
1024 个字节。
• 如果在格式字符串中使用占位符,请记住:对于字符串中的每个占 位符 n,占位符 1 到 n-1 也必须存在于同一字符串中,不过它们不必 以数值顺序出现。例如,不允许将占位符 1 和 3 放在一个格式字符
串中,却不把占位符 2 也放在此字符串中。如果在格式字符串中省 略了一个数字,则执行 raiserror 时会生成错误消息。
• 如果相对于 format_string 中的占位符来说参数太少,Adaptive Server 会显示一条错误消息并中止当前执行的语句,但不中止任何打开的 事务。但是,如果此错误发生在存储过程中, Adaptive Server 会继 续在名为 raiserror 的行执行下一个语句,任何打开的事务仍然打 开。如果此过程发生在 SQL 代码批处理中, Adaptive Server 会中止 该批处理,任何打开的事务仍然打开。
• 若要在错误消息中包括实际的百分号,请在 format_string 中使用两 个百分号 (“%%”)。如果 format_string 中包括不是用作占位符的 单个百分号 (“%”), Adaptive Server 将返回错误消息。
• 如果参数求值结果为 NULL,它将被转换成零长度的 char 字符串。 如果不希望输出中出现零长度字符串,可使用 isnull 函数。
• 当执行 raiserror 时,错误号放置在全局变量 @@error 中,该变量存 储系统最新生成的错误号。
• 如果希望将错误号存储在 @@error 中,请使用 raiserror,而不要使 用 print。
• 若要在 raiserror 中包括 arg_list,请在 error_number 后加一个逗号,或 者在第一个参数前加上 format_string。若要包括扩展错误数据,请用 空格 (不是逗号)将 extended_value 与 error_number、 format_string 或 arg_list 隔开。
标准 符合 ANSI SQL 的级别Transact-SQL 扩展。
权限 使用 raiserror 无需任何权限。
系统过程 sp_addmessage, sp_getmessage.
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------