我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊

我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊,第1张

对于 Oracle 数据库,要查询全部表的话,需要这么写

GRANT SELECT ANY TABLE TO 数据库用户;

对于 SQL Server 数据库,要查询 某个数据库的全部表的话,需要这么写

USE 指定的数据库

GO

然后

GRANT SELECT TO 数据库用户

GO

这样, 这个数据库用户 就可以 SELECT 指定的数据库下的所有的表

GRANT:

在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的 Transact-SQL 语句

1 例子:授予语句权限

下面的示例给用户 Mary 和 John 授予多个语句权限。

GRANT CREATE DATABASE, CREATE TABLE TO Mary, John

授予全部语句权限给用户Rose

GRANT ALL to Rose

2 例子:授予对象权限

GRANT SELECT ON authors TO public

GRANT INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom

DENY:

在安全系统中创建一项,以拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角色成员资格继承权限。

1 例子:拒绝语句权限

下例对多个用户拒绝多个语句权限。用户不能使用 CREATE DATABASE 和 CREATE TABLE 语句

DENY CREATE DATABASE, CREATE TABLE TO Mary, John

对用户Rose拒绝全部语句权限

DENY ALL to Rose

2 例子:拒绝对象权限

DENY INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom

REVOKE:

删除以前在当前数据库内的用户上授予或拒绝的权限。

1 废除类似于拒绝,但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。因此,如果废除用户查看表的权限,不一定能防止用户查看该表,因为已将查看该表的权限授予了用户所属的角色。

2 角色是权限的一个集合,可以指派给用户或其它角色。这样只对角色进行权限设置便可以实现对多个用户权限的设置

3 举例:DENY与REVOKE区别

例如,从 HumanResources 角色中删除 Employees 表上的 SELECT 访问权限将废除该权限,从而使 HumanResources 不能再使用该表。如果 HumanResources 是 Administration 角色的成员。如果以后将 Employees 上的 SELECT 权限授予了 Administration,则 HumanResources 的成员可以通过 Administration 中的成员资格看到该表。但是,如果对 HumanResources 拒绝SELECT权限,则即使以后向 Administration 授予权限,HumanResources 也不会继承该权限

4 例子: 废除授予用户帐户的语句权限

下例废除已授予用户 Joe 的 CREATE TABLE 权限。它删除了允许 Joe 创建表的权限。不过,如果已将 CREATE TABLE 权限授予给了包含 Joe 的任何角色,那么 Joe 仍可创建表。

REVOKE CREATE TABLE FROM Joe

5 例子: 废除授予多个用户帐户的多个权限

下例废除授予多个用户的多个语句权限。

REVOKE CREATE TABLE, CREATE INDEX FROM Mary, John

6 例子: 废除拒绝的权限

用户 Mary 是 Budget 角色的成员,已给该角色授予了对 Budget_Data 表的 SELECT 权限。已对 Mary 使用 DENY 语句以防止 Mary 通过授予 Budget 角色的权限访问 Budget_Data 表

下例删除对 Mary 拒绝的权限,并通过适用于 Budget 角色的 SELECT 权限,允许 Mary 对该表使用 SELECT 语句。

REVOKE SELECT ON Budget_Data TO Mary

sql的grant与rock命令属于数据库保护中的完整性控制

数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。

以上就是关于我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊全部的内容,包括:我sql语句这样写: GRANT SELECT TO 数据库用户 该数据库用户是不是就可以查阅所有表了啊、grant all 与grant select 有什么区别、sql的grant与rock命令属于数据库保护中的什么控制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9393362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存