用户要运行同步,必须被授予 SYS_RUN_REPLICATION_ROLE 系统角色。SYS_RUN_REPLICATION_ROLE 授予用户系统特权,但这些特权仅在用户通过验证工具(如 dbmlsync 或 SQL Remote)登录时使用。这与 REMOTE DBA 的工作方式类似。
缺省情况下,SYS_RUN_REPLICATION_ROLE 系统角色包括 SYS_AUTH_DBA_ROLE 系统角色。不过,可以从 YS_RUN_REPLICATION_ROLE 系统角色撤消 SYS_AUTH_DBA_ROLE 系统角色。SYS_AUTH_DBA_ROLE 系统角色是唯一能够从 SYS_RUN_REPLICATION_ROLE 系统角色撤消的权限。
SYS_AUTH_DBA_ROLE 系统角色具有的权限通常比同步所需的权限多。要想设置更为安全的同步环境,请使用以下方法之一:
从 SYS_RUN_REPLICATION_ROLE 系统角色撤消 SYS_AUTH_DBA_ROLE,然后授予以下系统特权:
此方法的优点是:简单,并且符合以下事实:用户只有通过验证工具(如 dbmlsync 或 SQL REMOTE)建立连接时,才能使用这些系统级特权。此方法的缺点是:与严格按照同步所需的特权进行授权相比,SYS_RUN_REPLICATION_ROLE 系统角色会被授予更多的特权。该系统角色将被授予对所有表的 INSERT、UPDATE、DELETE 和 ALTER 特权以及对所有过程的 EXECUTE 特权,而它只需要对几个表和过程具有这些特权。
从 SYS_RUN_REPLICATION_ROLE 系统角色撤消 SYS_AUTH_DBA_ROLE,创建具有 SYS_RUN_REPLICATION_ROLE 系统角色的用户扩展角色,并将该用户扩展角色授予任何您希望能同步数据库的用户。将以下对象级特权授予用户扩展角色:
此方法的优点是:您可以对要授予用户的特权进行非常精确的控制。但是,不管用户通过什么方式进行登录,授予用户的特权都可供用户使用。用户不只是局限于通过 dbmlsync 和 SQL Remote 建立连接的用户。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |