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 サーバ SQL リファレンス » ビュー » 互換ビュー


SYSUSERPERM 互換ビュー (旧式)

SYSUSERPERM ビューの各ローは 1 つのユーザ ID を表します。このビューのデータを表示するには、SELECT ANY TABLE システム権限が必要です。

前のバージョンで使用できる権限とパーミッションが表示されるだけなので、このビューは使用されなくなりました。SYSROLEGRANTS 統合ビューを使用するようにアプリケーションを変更してください。

ビューを構成するテーブルとカラムは、以下の SQL 文で示されます。特定のテーブルまたはカラムの詳細については、以下のビュー定義にあるリンクを参照してください。

  as select b.user_id,
    if AA.resourceauth is not null and AA.resourceauth > 0 then
      'Y' else 'N' endif as resourceauth,
    if AA.dbaauth is not null and AA.dbaauth > 0 then
      'Y' else 'N' endif as dbaauth,
    'N' as scheduleauth,
    if exists(select * from SYS.ISYSOPTION as opt
      where opt."option" like '%db_publisher%' and opt.setting not like '%-1'
      and b.user_id = cast(opt.setting as integer)) then
      'Y' else 'N' endif as publishauth,
    if AA.remotedbaauth is not null and AA.remotedbaauth > 0 then
      'Y' else 'N' endif as remotedbaauth,
    if b.user_type = (0x02|0x04|0x08) or b.user_name in( 'SYS','PUBLIC','diagnostics','SYS_SPATIAL_ADMIN_ROLE','rs_systabgroup','SA_DEBUG','dbo' ) then
      'Y' else 'N' endif as user_group,
    from SYS.ISYSUSER as b
      left outer join SYS.ISYSREMARK as r on(b.object_id = r.object_id)
      left outer join(select sum(if sp_auth_sys_role_info.auth = 'RESOURCE' then 1 else 0 endif) as resourceauth,
        sum(if sp_auth_sys_role_info.auth = 'DBA' then 1 else 0 endif) as dbaauth,
        sum(if sp_auth_sys_role_info.auth = 'REMOTE DBA' then 1 else 0 endif) as remotedbaauth,
        from SYS.ISYSROLEGRANT natural join dbo.sp_auth_sys_role_info()
        where ISYSROLEGRANT.grant_type <> (0x02|0x04)
        and sp_auth_sys_role_info.auth in( 'DBA','RESOURCE','REMOTE DBA' ) 
        group by ISYSROLEGRANT.grantee) as AA
      on(AA.grantee = b.user_id)