Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 数据库维护 » 使用调度和事件自动完成任务 » 系统事件

 

系统事件类型

  • BackupEnd   您可以使用 BackupEnd 事件类型在备份结束时执行操作。

  • 连接事件   在建立连接时 (Connect) 或连接尝试失败时 (ConnectFailed)。为安全起见,您可能希望使用这些事件。作为连接事件处理程序的替代方法,可能要考虑使用登录过程。请参见login_procedure 选项

  • DatabaseStart   您可以使用 DatabaseStart 事件类型在启动数据库时执行操作。

  • Deadlock   您可以使用 Deadlock 事件在发生死锁时执行操作。事件处理程序可以使用 sa_report_deadlocks 过程以获得有关导致死锁的条件的信息。使用 Deadlock 事件时,应配置数据库服务器以便通过将 log_deadlocks 选项设置为 On 来捕获死锁信息,并且通过使用 sa_server_option 或 -zl 服务器选项来启用 RememberLastStatement 功能。

    连接死锁和线程死锁触发 Deadlock 事件。Deadlock 事件仅能提供可通过 sa_report_deadlocks 系统过程获得的信息。但是,通过使用此事件可及时地对死锁发生作用。由于数据库服务器能够保留的与死锁相关的信息量是有限的,所以快速响应会非常重要。请参见:

  • Disconnect   您可以使用 Disconnect 事件在用户或应用程序断开连接时执行操作。

  • 可用磁盘空间   跟踪数据库文件 (DBDiskSpace)、日志文件 (LogDiskSpace) 或临时文件 (TempDiskSpace) 所在设备的可用磁盘空间。此系统事件在 Windows Mobile 上不可用。

    在磁盘空间不足时,您可能希望使用磁盘空间事件来提醒管理员。

    您可以在启动数据库服务器时指定 -fc 选项,以在数据库服务器出现文件系统已满时执行回调函数。请参见-fc 数据库服务器选项

  • 文件大小   文件达到指定的大小。可以将此事件用于数据库文件 (GrowDB)、事务日志 (GrowLog) 或临时文件 (GrowTemp)。

    您可能希望使用文件大小事件来跟踪对数据库的异常操作或监控批量操作。

  • GlobalAutoincrement   当用 GLOBAL AUTOINCREMENT 定义的列的剩余值数目不足其范围的百分之一时,就会触发 GlobalAutoincrement 事件。基于表和提供给此事件作为参数的剩余值数目,可使用此事件为 global_database_id 选项请求新值。要获得事件中表的其余值,请使用具有 RemainingValues 参数和 TableName 参数的 EVENT_PARAMETER 函数。RemainingValues 将会返回可为该列生成的剩余值的数量,而 TableName 则会返回含有 GLOBAL AUTOINCREMENT 列(此列接近其范围末尾)的表。请参见EVENT_PARAMETER 函数 [System]

  • RAISERROR 错误   当执行一个 RAISERROR 语句时,您可以使用 RAISERROR 事件类型来执行操作。通过使用 EVENT_CONDITION 函数,可在事件处理程序中确定在 RAISERROR 语句中使用的错误号(例如,EVENT_CONDITION( 'ErrorNumber' ))。

  • 空闲时间   数据库服务器已经空闲了指定的时间 (ServerIdle)。您可能希望使用此事件类型在安静期间执行例行的维护操作。

  • 数据库镜像系统事件类型   数据库镜像支持以下系统事件:

    • MirrorFailover   每当数据库服务器取得镜像数据库的所有权时便会触发此事件。例如,在服务器初次启动并确定其将会具有数据库时,便会触发该事件。当以前起镜像作用的服务器确定主服务器已关闭,并在与仲裁服务器协商之后确定其应拥有所有权时,也会触发该事件。

    • MirrorServerDisconnect   当主服务器与镜像服务器或仲裁服务器之间失去连接时,将会触发 MirrorServerDisconnect 事件。在此事件的处理程序中,EVENT_PARAMETER( 'MirrorServerName' ) 的值是失去连接的服务器的名称。此事件只会在主服务器上触发。