• 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
  • 首页
  • 作文
  • 散文
  • 故事
  • 古诗
  • 短文
  • 语录
  • 写作
  • 诗歌
  • 百科
  • 知识
首页 » 生活常识 » 查看表可以被哪些用户使用方法(sqlserver查看当前表或者数据库的用户)

查看表可以被哪些用户使用方法(sqlserver查看当前表或者数据库的用户)

分类:生活常识 日期:2022-09-18 00:27 浏览:3 次

1.sql server 查看当前表或者数据库的用户

--当前库下面的表

select

u.name,

o.name,

(select convert(varchar(8000), value) from ::fn_listextendedproperty(NULL, 'user', u.name, 'table', o.name, null, null) where name = 'MS_Description') as coln

from

sys.sysobjects o

join sys.schemas u on (u.schema_id = o.uid)

where

o.type in ('U')

order by 1, 2

--当前库下面的用户

select * from sysusers

where gid = 0

and hasdbaccess = 1

and islogin = 1

and issqluser = 1

--当前库下面的用户

EXEC sp_helprotect @username ='用户名'

--语法格式

sp_helprotect [ [ @name = ] 'object_statement' ]

[ , [ @username = ] 'security_account' ]

[ , [ @grantorname = ] 'grantor' ]

[ , [ @permissionarea = ] 'type' ]

密码不可见。

2.mysql数据库查询数据库都有哪些用户的命令

查看用户权限

show grants for 你的用户

比如:

show grants for root@'localhost';

mysql> use mysql;

Database changed

mysql> select user,host from user;

+———+———————–+

| user | host |

+———+———————–+

| root | 127.0.0.1 |

| | localhost |

| root | localhost |

| | localhost.localdomain |

| root | localhost.localdomain |

+———+———————–+

7 rows in set (0.00 sec)

mysql> show grants for root@'localhost';

+———————————————————————+

| Grants for root@localhost |

+———————————————————————+

| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |

+———————————————————————+

1 row in set (0.00 sec)

mysql>

mysql> select db,user ,host from db;

+———+——+————–+

| db | user | host |

+———+——+————–+

| test | | % |

| test\_% | | % |

| db | test | 172.20.1.124 |

+———+——+————–+

3 rows in set (0.00 sec)

mysql>

Grant 用法

mysql> GRANT ON

-> TO [IDENTIFIED BY ""]

-> [WITH GRANT OPTION];

例如:GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '123456′;

参数说明:

是一个用逗号分隔的你想要赋予的权限的列表。你可以指定的权限可以分为三种类型:

数据库/数据表/数据列权限:

Alter: 修改已存在的数据表(例如增加/删除列)和索引。

Create: 建立新的数据库或数据表。

Delete: 删除表的记录。

Drop: 删除数据表或数据库。

INDEX: 建立或删除索引。

Insert: 增加表的记录。

Select: 显示/搜索表的记录。

Update: 修改表中已存在的记录。

全局管理权限:

file: 在MySQL服务器上读写文件。

PROCESS: 显示或杀死属于其它用户的服务线程。

RELOAD: 重载访问控制表,刷新日志等。

SHUTDOWN: 关闭MySQL服务。

特别的权限:

ALL: 允许做任何事(和root一样)。

USAGE: 只允许登录–其它什么也不允许做。

3.如何查询一个用户下的所有表

只要将用户1下所有表的查询权限赋给用户2即可。但是,用户1下可能有很多表,如果一条一条地写grant语句很不现实,这里介绍一种便捷的方法:通过查询语句得到grant赋权限脚本,执行一下就可以了。

SQL> show user

USER 为"SYS"

SQL> create user tt

2 identified by tt;

用户已创建

SQL> grant create session to tt;

授权成功。

SQL> select 'grant select on '||owner||'.'||object_name|| ' to user1;'

2 from dba_objects

3 where object_type='TABLE' and wner='SCOTT';

'GRANTSELECTON'||OWNER||'.'||OBJECT_NAME||'TOUSER1;'

------------------------------------------------------------------------------

grant select on SCOTT.BONUS to user1;

grant select on SCOTT.CC to user1;

grant select on SCOTT.CC1 to user1;

grant select on SCOTT.DEPT to user1;

grant select on SCOTT.EMP to user1;

grant select on SCOTT.SALGRADE to user1;

grant select on SCOTT.T1 to user1;

grant select on SCOTT.T2 to user1;

grant select on SCOTT.TT to user1;

已选择9行。

复制上面的查询结果执行一下就可以了。如果查询结果太多的话,可以将这样做:

set pages 999;

set heading off;

spool run_grant.sql

select 'grant select on '||owner||'.'||object_name|| ' to user1;'

from dba_objects

where object_type='TABLE' and wner='SCOTT';

spool off;

@run_grant

这是一种很方便高效的方法,可以使工作事半功倍。

把所有表的查询权限赋给另一个用户

grant select any table to QUERY;

4.ORACLE用户常用数据字典的查询使用方法

查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables; 显示用户信息(所属表空间) select default_tablespace,temporary_tablespace from dba_users where username='GAME'; 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 显示当前会话所具有的权限 SQL>select * from session_privs; 显示指定用户所具有的系统权限 SQL>select * from dba_sys_privs where grantee='GAME'; 显示特权用户 select * from v$pwfile_users; 显示用户信息(所属表空间) select default_tablespace,temporary_tablespace from dba_users where username='GAME'; 显示用户的PROFILE select profile from dba_users where username='GAME';2、表 查看用户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在ORACLE的内存区里的表 SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name'); 4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences; 5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小 SQL>select text from user_views where view_name=upper('&view_name'); 6、同义词 查看同义词的名称 SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper('&plsql_name');。

5.Oracle怎么查看表被数据库中那些object使用

1.System/Sysdba用户,可以使用以下SQL查看:

select * from dba_dependencies where referenced_name =upper('emp') and owner=upper('tmd')

2.普通用户可以使用以下SQL查看:

select * from all_dependencies where referenced_name =upper('emp')

查看表可以被哪些用户使用方法

相关推荐:
  • 什么动物冬天不运动(冬天冬眠的动物有哪些)
  • 泡水瓷砖可以刷背胶吗不泡水吗(依诺美瓷砖背胶价格)
  • 没有硅胶刷可以用什么代替(刷硅胶底涂济的机器)
  • 鼓浪屿的地理位置介绍(厦门鼓浪屿位置)
  • 伊利纯牛奶小枕和伊利纯牛奶无菌枕小枕有什么区别吗
上一篇:远离校园欺凌高中作文(防止校园欺凌反对校园暴力800字作文) 下一篇:覆灭的反义词_词学习

相关推荐

什么动物冬天不运动(冬天冬眠的动物有哪些)
泡水瓷砖可以刷背胶吗不泡水吗(依诺美瓷砖背胶价格)
没有硅胶刷可以用什么代替(刷硅胶底涂济的机器)
鼓浪屿的地理位置介绍(厦门鼓浪屿位置)
伊利纯牛奶小枕和伊利纯牛奶无菌枕小枕有什么区别吗
沁县肉夹馍做法?
秋季晚上睡觉开窗好还是关窗好
半米有多长 半米的尺寸图片
食用碱的小妙用与功效用食用碱洗口
化妆初学者的正确化妆步骤(如何化妆?教你化妆的正确步骤)
潮流时尚 写作素材 创新创业
生活常识 策划方案 安全知识
自考专业 家居生活 三农创业
励志故事 时尚穿搭 星座知识
热门分类

声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
 蜀ICP备2020033479号-4  Copyright © 2016  学习鸟. 页面生成时间:3.023秒

返回顶部