Collection Contents 上一页 下一页 PDF

SQL Anywhere Studio 安全指南

限制和其它安全问题

撤消 DBA 权限


本页介绍了如何以等效于 C2 安全认证配置的方式对 Adaptive Server Anywhere 进行操作。它不提供有关此主题的一般信息。

由于引擎通常不允许在用户连接到数据库时撤消用户的 DBA 权限,因此撤消 DBA 权限最简单的方法就是只需等待用户断开连接,然后发出 REVOKE DBA 语句。

但是,在当前连接到数据库的用户有机会执行其它任务之前,可能有必要立即撤消该用户的 DBA 权限。在本例中,假定您正尝试撤消用户 Fred 的 DBA 权限。

从已连接的用户撤消 DBA 权限:

  1. 以具有 DBA 权限的另一个 用户的身份连接到同一数据库。

    例如,使用 Fred 以外的用户 ID。

  2. 通过执行以下语句来禁止到服务器的连接:

    CALL sa_server_option('ConnsDisabled', 'ON')

    这会禁止 Fred 在其现有连接断开之后再次连接。

  3. 通过执行以下语句列出到该数据库的所有连接:

    CALL sa_conn_info( )
  4. 记下 Userid 列中包含 Fred 的每一行中 Number 列的值。

  5. 对于在第 4 步中记下的每个连接号,执行以下语句:

    DROP CONNECTION number

    这样就会立即断开每个连接,并回退任何未提交的事务。注意,在执行 DROP 语句之前由 fred 提交的任何事务以及 fred 执行的任何 DDL 均不会回退,必须手工撤消。

  6. 执行以下 SQL 语句:

    REVOKE DBA FROM fred
  7. 通过执行以下语句重新启用到服务器的连接:

    CALL sa_server_option('disable_connections', 'OFF')

Collection Contents 上一页 下一页 PDF