提供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:

以下官方手册为SAP IQ 16.0 SP03中文版:

  1. SAP Sybase IQ 简介
  2. 新功能摘要
  3. IQ 发行公告(linux)
  4. IQ 快速入门(unix)
  5. 安装和配置指南(linux)
  6. 管理:备份、恢复和数据恢复
  7. 管理:数据库
  8. SAP Sybase IQ 错误消息
  9. 管理:全球化
  10. IQ 许可选项指南
  11. 管理:装载管理
  12. IQ 迁移
  13. 管理:Multiplex
  14. 性能和调优指南
  15. IQ 编程
  16. 参考:构件块、表和过程
  17. 参考:语句和选项
  18. 管理:内存行级版本控制
  19. 管理:空间数据
  20. IQ 非结构化数据分析
  21. 用户定义的函数
  22. 管理:用户管理和安全
  23. 实用程序指南

 


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

CREATE EVENT 语句

定义事件及其关联处理程序以自动执行预定操作。另外还定义了预定操作。 快速链接:

转至参数 (第 132 页) 转至示例 (第 134 页) 转至用法 (第 135 页)


转至标准 (第 136 页) 转至权限 (第 136 页)


语法

image

CREATE EVENT event-name

[ TYPE event-type

[ WHERE trigger-condition [ AND trigger-condition ], ...]

| SCHEDULE schedule-spec, ]

[ ENABLE | DISABLE ]

[ AT { CONSOLIDATED | REMOTE | ALL } ]

[ HANDLER

BEGIN

END ]


event-type - (back to Syntax)

BackupEnd

| Connect

| ConnectFailed

| DatabaseStart

| DBDiskSpace

| Disconnect

| GlobalAutoincrement

| GrowDB

| GrowLog

| GrowTemp

| IQMainDBSpaceFree

| IQTempDBSpaceFree

| LogDiskSpace

| RAISERROR

| ServerIdle

| TempDiskSpace


trigger-condition - (back to Syntax)

event_condition( condition-name )

{ =

| <

| >

| !=

| <=

| >= } value


schedule-spec - (back to Syntax) [ schedule-name ]

{ START TIME start-time | BETWEEN start-time AND end-time } [ EVERY period { HOURS | MINUTES | SECONDS } ]

[ ON { ( day-of-week, ) | ( day-of-month, ) } ]

[ START DATE start-date ]


参数

(返回顶部) (第 131 页)


event-name – 事件都有创建者,即创建事件的用户。事件处理程序只能在创建者 的许可下执行。这与存储过程的执行是一样的。无法创建其他用户所拥有的事件。 通过查询系统表 SYSEVENT 可以列出事件名称。例如:

image

SELECT event_id, event_name FROM SYS.SYSEVENT

event-type – 一组系统定义事件类型中的一种。事件类型不区分大小写。要指定该

event-type 触发事件的条件,请使用 WHERE 子句。

DiskSpace – 如果数据库包含 DiskSpace 类型之一的事件处理程序,则数据库 服务器每隔 30 秒对每一个与相关文件关联的设备上的可用空间进行检查。 如果数据库有多个 dbspace 位于不同的驱动器,则 DBDiskSpace 会检查每个驱 动器并根据最低的可用空间执行操作。

LogDiskSpace – 检查事务日志和任何事务日志镜像的位置,并根据最小的可 用空间进行报告。

Globalautoincrement – 当表的 GLOBAL AUTOINCREMENT 缺省值低于其范 围末尾的百分之一时触发。该处理程序的典型操作可能是为 GLOBAL_DATABASE_ID 子句请求新值。

对这种事件类型,可以使用以 RemainingValues 为参数的 EVENT_CONDITION 函 数。

ServerIdle – 如果数据库包含 ServerIdle 类型的事件处理程序,则服务器每隔 30

秒便会检查一次服务器的活动。

WHERE 子句 – 此触发条件确定在什么情况下触发事件。例如,如果希望在含有 事务日志的磁盘上有 80% 以上已满时执行操作,请使用以下触发条件:

image

...

WHERE event_condition( 'LogDiskSpacePercentFree' ) < 20

...

EVENT_CONDITION 函数的参数必须对该事件类型有效。可以使用多个 AND 条 件来构成 WHERE 子句,但不能使用 OR 条件或其它条件。

SCHEDULE – 指定调度操作发生的时间。时间序列充当事件处理程序中定义的 关联操作的一组触发条件。可以为给定事件及其关联的处理程序创建多个调度。 这样可以实现复杂的调度。存在多个调度时必须提供调度名称,而只有一个调度 时,调度名称的提供是可选的。

通过查询系统表 SYSSCHEDULE,可以列出调度名称。例如:

image

SELECT event_id, sched_name FROM SYS.SYSSCHEDULE

每个事件都具有唯一的事件 ID。可使用 SYSEVENT SYSSCHEDULE event_id 列将事件与关联的调度匹配。

在非反复出现的调度事件已过去之后,将删除其调度,但不删除事件处理程序。

调度事件的时间从调度创建时开始计算,并在事件处理程序完成执行时重新计算。 调度事件的时间从调度创建时开始计算,并在事件处理程序完成执行时重新计算。 如果指示事件处理程序在 9:00 5:00 之间每隔一小时运行一次,并且它需要 65


分钟来执行,则它将分别在 9:0011:001:003:00 5:00 运行。如果要重叠执 行,则必须创建多个事件。

以下是调度定义的子句:

START DATE – 调度事件开始发生的日期。缺省为当前日期。

START TIME – 调度事件的每天中的最初调度时间。如果指定了 START DATE, 则 START TIME 引用该日期。如果未指定 START DATE,则 START TIME 在 当天(除非该时间已经过去)和随后的每一天。

BETWEEN AND – 一天中的一段时间,在该时间段之外,没有调度的时间。 如果指定了 START DATE ,则调度的时间直到该日期才存在。

EVERY – 连续调度事件之间的间隔。调度的事件仅在当天的 START TIME 之 后或在 BETWEEN...AND 指定的范围内发生。

ON – 调度事件发生日的列表。缺省值为每天。事件发生日可指定为周内某日 或月内某日。

周内某日是周一、周二等等。也可以使用日期的简写形式,如 MonTue 等 等。数据库服务器可以识别以 SAP Sybase IQ 支持的所有语言表示的完整日期 名和简写日期名。

月内某日是从 0 31 的整数。0 值表示任何月的最后一天。 每当调度事件的处理程序完成后,都会计算下次调度时间和日期。

如果使用了 EVERY 子句,则查看下次调度时间是否在当天,以及是否在 BETWEEN...AND 范围结束之前。如果是,即为下次调度时间。

如果下一个调度时间不在当天,请查找下一个执行事件的日期。

查找此日期的 START TIME,或 BETWEEN...AND 范围的开始时间。

ENABLE | DISABLE – 缺省情况下,启用事件处理程序。指定 DISABLE 后,即 使是在调度时间内或满足触发条件时,事件处理程序也不会执行。但是,TRIGGER EVENT 语句不会导致已禁用的事件处理程序被执行

AT – 要在 SQL Remote 设置中的远程数据库或统一数据库上执行事件,请使用此 子句来限制在哪一个数据库中处理事件。缺省情况下,所有数据库均执行该事件。

HANDLER – 每个事件都有一个处理程序。与存储过程的主体一样,处理程序是 一个复合语句。但这两者间存在一些差异:您可以在复合语句中使用 EXCEPTION 子句处理错误,但不能使用存储过程中提供的 EXCEPTION RESUME 子句。


示例

(返回顶部) (第 131 页)

示例 1 – 指示数据库服务器每天 1 a.m. 执行自动增量备份:

image

CREATE EVENT IncrementalBackup SCHEDULE

START TIME '1:00AM' EVERY 24 HOURS HANDLER

BEGIN


image

BACKUP DATABASE INCREMENTAL

TO 'backups/daily.incr' END

示例 2 – 指示数据库服务器每 10 minutes 调用一次系统存储过程 sp_iqspaceused,然后在表中存储返回的当前日期和时间、当前数据库连接数以 及关于主 IQ 存储库和临时 IQ 存储库使用情况的当前信息:

image

CREATE TABLE mysummary(dt DATETIME, users INT, mainKB UNSIGNED BIGINT, mainPC UNSIGNED INT,

tempKB UNSIGNED BIGINT, tempPC UNSIGNED INT) ;

image

CREATE EVENT mysummary SCHEDULE sched_mysummary

START TIME '00:01 AM' EVERY 10 MINUTES HANDLER

BEGIN

DECLARE mt UNSIGNED BIGINT; DECLARE mu UNSIGNED BIGINT; DECLARE tt UNSIGNED BIGINT; DECLARE tu UNSIGNED BIGINT;

DECLARE conncount UNSIGNED INT;


SET conncount = DB_PROPERTY('ConnCount'); CALL SP_IQSPACEUSED(mt,mu,tt,tu);


INSERT INTO mysummary VALUES( NOW(),

conncount, mu, (mu*100)/mt, tu, (tu*100)/tt );

END;

示例 3 – 当含有事务日志文件的设备中的可用磁盘空间小于 30% 时,在服务器日 志中张贴一条消息,但执行处理程序的频率不超过每 300 秒一次。

image

CREATE EVENT LowTxnLogDiskSpace TYPE DBDiskSpace

WHERE event_condition( 'DBFreePercent' ) < 30 AND event_condition( 'Interval' ) >= 300 HANDLER

BEGIN

message 'Disk space for Transaction Log is low.'; END;


用法

(返回顶部) (第 131 页)

事件定义包括两个截然不同的方面。触发器条件可以是一个事件,如磁盘使用超出了 定义的阈值。调度是一组时间,其中每个时间充当一个触发器条件。当满足触发器条 件时,执行事件处理程序。事件处理程序包含一个或多个在复合语句 (BEGIN... END) 内指定的操作。


如果未提供触发条件或调度说明,则只有显式 TRIGGER EVENT 语句才能触发事件。 在开发过程中,您可能要使用 TRIGGER EVENT 来开发和测试事件处理程序,并可能 要在测试完成后添加调度或 WHERE 子句。

任何事件错误都会记录到数据库服务器控制台中。 触发事件处理程序后,服务器通过使用 EVENT_PARAMETER 函数,来使上下文信息

(例如,导致事件被触发的连接 ID)可供事件处理程序使用。

image

注意: 虽然事件中不允许包含返回结果集的语句,但您可以允许事件调用存储过程 并将过程结果插入临时表中。

image

副作用:

自动提交。

如果在执行期间未检测到任何错误,则将提交事件处理程序的操作。如果检测到 错误,将回退。


标准

(返回顶部) (第 131 页)

• SQL - ISO/ANSI SQL 语法的服务商扩充。

• SAP Sybase 数据库产品 - 不受 Adaptive Server 支持。


权限

(返回顶部) (第 131 页) 需要以下特权之一:

• MANAGE ANY EVENT 系统特权。

• CREATE ANY OBJECT 系统特权。

事件处理程序以事件所有者特权在一个单独的连接上执行。要使用 MANAGE ANY EVENT 系统特权以外的其它特权进行执行,可以在事件处理程序内部调用过程:使 用过程所有者的权限执行过程。此单独连接不计入个人数据库服务器只能有 10 个连 接的限制中。


另请参见

• ALTER EVENT 语句 (第 17 页)

• BEGIN END 语句 (第 89 页)

• COMMENT 语句 (第 103 页)

• DROP 语句 (第 266 页)

• TRIGGER EVENT 语句 (第 474 页)




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

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