GRANT语句(系统权限)
GRANT语句的这种形式授予系统权限。
GRANT(系统权限)的语法
GRANT(系统权限)描述
- ACCESSCTRL
- 授予ACCESSCTRL权限。 ACCESSCTRL允许用户授予除系统DBADM、DATAACCESS、ACCESSCTRL以及安全相关对象权限外的所有权限和特权。
如果在授予此权限时指定了“带授权选项”,则会发出警告。
ACCESSCTRL不能授予PUBLIC。
- ARCHIVE
- 授予使用ARCHIVE LOG和SET LOG命令的权限。
- BINDADD
- 使用BIND子命令和ADD选项创建计划和套餐。
- 粘合剂
- FL 500 允许代表授权人发出 BIND、FREE PACKAGE 或 REBIND 命令,以及 DROP PACKAGE 语句。 该特权还允许持有人代表设保人复制和替换计划和方案。
如果在授予此权限时指定了“带授权选项”,则会发出警告。
当使用SECADM权限授予BINDAGENT时,它授予通过指定任何所有者来为计划和包发出BIND或REBIND命令的权限。
SECADM授予BINDAGENT的权限不允许以下操作:- 重新绑定包裹或计划,无需指定OWNER关键字
- 免费套餐或免费计划
- 复制包
- DROP PACKAGE

使用SECADM权限,无法将BINDAGENT权限授予PUBLIC。
如果在使用SECADM权限授予此权限时指定了“带授权选项”,则该选项将被忽略。
- BSDS
- 授予发出恢复BSDS命令的权限。
- 创建别名
- 授予使用CREATE ALIAS语句的权限。
- CREATEDBA
- 授予发布CREATE DATABASE语句的权限,并获得对这些数据库的DBADM权限。
- 创建于BC
- 授予发布CREATE DATABASE语句的权限,并获得对这些数据库的DBCTRL权限。
- CREATESG
- 授予创建新存储组的权限。
- 创建时间表
- 授予使用CREATE GLOBAL TEMPORARY TABLE语句的权限。
- CREATE_SECURE_OBJECT
- 授予创建安全对象的权限。
- DATAACCESS
授予数据访问权限。 DATAACCESS允许用户访问 Db2 子系统中所有用户表、视图、具体化查询表和全局变量的数据,并允许用户执行计划、包、函数和过程以及使用序列。
DATAACCESS权限隐式包含对所有目录表的SELECT权限,并隐式包含对可更新目录表的INSERT、DELETE和UPDATE权限,但 SYSIBM.SYSAUDITPOLICIES 目录表除外。
如果在授予此权限时指定了“带授权选项”,则会发出警告。
数据访问权限不能授予公众。

- DBADM
- 授予DBADM权限。 DBADM允许用户管理 Db2 子系统中的所有对象,但安全对象除外。
如果在授予此权限时指定了“带授权选项”,则会发出警告。
DBADM 不得授予 PUBLIC。
- WITH ACCESSCTRL
- 指定ACCESSCTRL权限与系统DBADM权限同时授予。 ACCESSCTRL允许系统DBADM授予除系统DBADM、DATAACCESS、ACCESSCTRL权限和特权以外的所有权限和特权,以及与安全相关的对象。 ACCESSCTRL可以使用BY子句来撤销权限。
默认值为ACCESSCTRL。
- WITHOUT ACCESSCTRL
- 指定系统DBADM权限不授予ACCESSCTRL权限。
- WITH DATAACCESS
- 指定DATAACCESS权限与系统DBADM权限同时授予。 DATAACCESS允许系统DBADM访问 Db2 子系统中所有用户表、视图和具体化查询表中的数据,并允许用户执行计划、包、函数和过程。
默认值为“数据访问”。
- WITHOUT DATAACCESS
- 指定系统DBADM权限不授予DATAACCESS权限。
- 显示
授予发出DISPLAY命令的权限,但以下情况除外:- 显示动态捕捉
- 显示ML
- 显示概要文件
- 显示限制
DISPLAY UTILITY命令无需授权。

- 调试
- 授予将调试客户端附加到当前应用程序进程连接的权限,从而能够对会话中执行的本机 SQL 或 Java™ 过程进行客户端应用程序调试。
- EXPLAIN
- 授予无需执行语句所需的权限即可发布以下内容的权限:
- EXPLAIN语句选项:
- PLAN
- 全部
- PREPARE 语句
- 描述表语句
- 解释在特殊寄存器CURRENT EXPLAIN MODE下执行的动态SQL语句,当CURRENT EXPLAIN MODE = EXPLAIN时
- 绑定选项:EXPLAIN(ONLY)和SQLERROR(CHECK)
EXPLAIN(ONLY)允许对语句进行解释。
SQLERROR(CHECK)对绑定SQL语句进行语法和语义检查。
- EXPLAIN语句选项:
- MONITOR1
- 授予获取IFC数据的权限,这些数据被归类为可用性数据、统计、会计和其他不包含潜在安全数据的性能数据。
- MONITOR2
- 授予获取IFC数据的权限,这些数据被归类为包含潜在敏感数据,例如SQL语句文本和审计数据。 拥有 MONITOR2 权限的用户也拥有 MONITOR1 权限。
- 恢复
- 授予发出“恢复怀疑”命令的权限。
- SQLADM
- 授权无需任何额外权限即可执行以下操作:
- 描述表语句
- EXPLAIN语句,有以下选项:
- PLAN
- 全部
- STMTCACHE 全部
- STMTID
- STMTTOKEN
- 监控的STMTS
- PREPARE 语句
- 解释在特殊寄存器CURRENT EXPLAIN MODE下执行的动态SQL语句,当CURRENT EXPLAIN MODE = EXPLAIN时
- 绑定选项:EXPLAIN(ONLY)和SQLERROR(CHECK)
EXPLAIN(ONLY)允许对语句进行解释。
SQLERROR(CHECK)对绑定SQL语句进行语法和语义检查。
启动 DYNQUERYCAPTURE 命令
启动ML命令
START PROFILE 命令
START TRACE 命令
STOP DYNQUERYCAPTURE 命令
STOP ML 命令
STOP PROFILE 命令
STOP TRACE 命令
显示 DYNQUERYCAPTURE 命令
显示ML命令
- 显示配置文件命令
- 在任何数据库中执行RUNSTATS实用程序和MODIFY STATISTICS实用程序。
- MONITOR2 有权获取被列为包含潜在敏感数据的IFC数据,例如SQL语句文本和审计数据,以及被列为可用性数据、统计、会计和其他性能数据的IFC数据。
- STOPALL
- 授予发出STOP DB2 命令。
- STOSPACE
- 授予使用STOSPACE实用程序的权限。
- SYSADM
- 授予所有 Db2 权限,但安装SYSADM权限保留的少数权限除外。 用户可以授予的权限包括系统管理员权限本身。 用户缺少的权限限制了用户可以对目录和目录进行操作。 在授予SYSADM权限时使用“带授权选项”是多余的,但有效。 有关 SYSADM 和安装 SYSADM 权限的更多信息,请参阅管理管理权限。
- SYSCTRL
- 授予系统控制权限,允许用户拥有系统管理员的大部分权限,但不包括读取或更改用户数据的权限。 在授予SYSCTRL时使用WITH GRANT OPTION是多余的,但有效。 有关 SYSCTRL 权限的更多信息,请参阅 SYSCTRL 管理权限。
- 系统管理员
- 授予系统操作员权限。
- 跟踪
- 授予发出修改跟踪、开始跟踪和停止跟踪命令的权限。
- ON SYSTEM
- 标识系统特权已授予整个 Db2 子系统。
- TO
- 请参阅 GRANT语句 ,了解TO子句的说明。
- WITH GRANT OPTION
- 如果您授予 SYSADM 或 SYSCTRL 系统权限,则 WITH GRANT OPTION 选项有效但并非必要。 这是不必要的,因为无论谁获得了 SYSADM 或 SYSCTRL 权限,都拥有该权限及其附带的所有特权,并带有 GRANT 选项。
GRANT(系统权限)示例
- 示例 1
- 向用户LUTZ授予显示权限。
GRANT DISPLAY TO LUTZ; - 示例 2
- 使用“带授权选项”功能,向用户PARKER和SETRIGHT授予BSDS和RECOVER权限。
GRANT BSDS,RECOVER TO PARKER,SETRIGHT WITH GRANT OPTION; - 示例 3
- 为所有本地用户授予TRACE权限。
GRANT TRACE TO PUBLIC; - 示例 4
- 为角色授予ARCHIVE权限 ROLE1:
GRANT ARCHIVE TO ROLE ROLE1; - 示例 5
- SECADM Linda授予Steve创建安全对象的权限:
GRANT CREATE_SECURE_OBJECT TO STEVE; - 示例 6
- 授权系统 DBADM,带有 ACCESSCTRL 和 DATAACCESS,角色为 ADMINROLE,授权为 SALLY。 由于GRANT系统DBADM默认授予ACCESSCTRL和DATAACCESS权限,因此无需明确指定WITH ACCESSCTRL和WITH DATAACCESS子句。
GRANT DBADM ON SYSTEM TO ROLE ADMINROLE; GRANT DBADM, ACCESSCTRL, DATAACCESS ON SYSTEM TO SALLY; - 示例 7
- 将没有ACCESSCTRL和DATAACCESS的Grant系统DBADM授予John。 需要明确指定“无访问控制”和“无数据访问”子句。
GRANT DBADM WITHOUT ACCESSCTRL WITHOUT DATAACCESS ON SYSTEM TO JOHN;
