数据库级访问权限影响对数据库的访问。仅个别用户,而不是角色,可持有数据库权限。
当您以 CREATE DATABASE 语句创建数据库时,您是所有者并自动地收到所有数据库级权限。
数据库对所有其他用户保持为不可访问,直到您,作为 DBA,将数据库权限授予他们。
作为数据库所有者,您还自动地收到对该数据库中所有表的表级权限。要获取关于表级权限的更过信息,请参阅
表级权限。
建议: 仅用户 gbasedbt 可直接地修改系统目录表。然而,除了在数据库服务器文档中特别说明的之外,请勿直接地使用 DML 语句来插入、删除或更新系统目录表的行,因为修改这些表中的数据可损坏数据库的完整性。
当数据库级权限与表级权限冲突时,限制性更大的特权优先。
从最低至最高,数据库访问级别为 Connect、Resource 和 DBA。请使用相应的关键字来授予访问权限的级别。
权限 |
作用 |
CONNECT |
让您查询和修改数据
您可修改数据库模式,如果您拥有想要修改的数据库对象。任何有 Connect
权限的用户都可执行下列操作:
- 以 CONNECT 语句或另一连接语句连接到该数据库
- 执行SELECT、INSERT、UPDATE 和 DELETE 语句,如果用户有必要的表级权限
- 创建视图,如果用户有对底层表的 Select 权限
- 创建同义词
- 创建临时表及创建临时表上的索引
- 改变或删除表或索引,如果用户拥有该表或索引(或有该表上的 Alter、Index 或 References 权限)
- 授予表或视图的权限,如果该用户拥有该表(或已经由 WITH GRANT OPTION 关键字被授予对表的权限)
|
RESOURCE |
让您扩展数据库的结构。除了 Connect 权限的能力之外,Resource 权限的持有者可执行下列功能:
- 创建新标
- 创建新索引
- 创建新 UDR
- 创建新数据类型
|
DBA |
有 Resource 权限的所有能力,且可执行下列附加的操作:
- 将任何数据库级权限授予另一用户,包括 DBA 权限
- 将任何表级权限授予另一用户或角色
- 将角色授予用户或授予另一角色
- 取消权限,您在 REVOKE 语句的 AS 子句中将其 grantor 指定为 revoker
- 当注册 UDR 时,限制 DBA 的 Execute 权限
- 执行 SET SESSION AUTHORIZATION 语句
- 创建任何数据库对象
- 创建表、视图和索引,指定另一用户为这些对象的所有者
- 改变、删除或重命名数据库对象,不管谁拥有它们
- 执行 UPDATE STATISTICS 语句的 DROP DISTRIBUTIONS 选项
- 执行 DROP DATABASE 和 RENAME DATABASE 语句
|
用户 gbasedbt 有改变系统目录表所需的权限,包括 systables 表。
下列示例使用 PUBLIC 关键字来将当前活动的数据库的 Connect 权限授予任何用户:
GRANT CONNECT TO PUBLIC;
您不可将数据库级权限授予一个角色。仅个别的用户或 PUBLIC 可持有数据库级权限。