sql语句判断用户是否是DBA?

renfangyong05 2007-06-29 09:48:13
请问在SQL server以及Oracle库里,用sql语句判断用户是否为dba,该怎样写?看了不少书,好象没发现,特来请教。
...全文
1050 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
renfangyong05 2007-07-04
  • 打赏
  • 举报
回复
大侠们,怎么没有人回了啊??
renfangyong05 2007-07-03
  • 打赏
  • 举报
回复
Oracle 中的2是具有SYSDBA角色登陆进去,还总是报“未选定行“;另外,sql server中你那个语句也是判断用户是否是服务器角色中的'sysadmin',而不是判断它是否为数据库管理员。
pbsql 2007-07-02
  • 打赏
  • 举报
回复
if SYSTEM_USER = 'DBA'
...
renfangyong05 2007-07-02
  • 打赏
  • 举报
回复
不好意思现在才回阿,前段时间出去了。我刚刚试了下, oracle中的 2.判断特定用户是否是dba的语句总是报“未选定行“,请问这是什么意思?另外sql server 2000的sql 语句怎么判断??
clarkchiang 2007-07-02
  • 打赏
  • 举报
回复
Oracle 中的2是需要具有SYSDBA角色登陆进去,才能做判断的.普通用户是没有权限判定自己或是他人是否具有DBA权限的.你肯定进去的时候是用NORMAL角色进去的.SQLServer 如果采用 is_srvrolemember('sysadmin')语句判断的话,是指明当前的用户登录是否是指定的服务器角色的成员.而我那个语句是根据你维护的用户,判断哪些用户具有SA权限,仅此而已.
ivan_ren 2007-06-29
  • 打赏
  • 举报
回复
楼上正解
alipaymate 2007-06-29
  • 打赏
  • 举报
回复
sqlserver : is_srvrolemember('sysadmin')
clarkchiang 2007-06-29
  • 打赏
  • 举报
回复
--oracle:

1.判断当前连接的用户是否是dba

select userenv('isdba') from dual; //TRUE为是dba

2.判断特定用户是否是dba

select decode(username,'SYS','TRUE','SYSTEM','TRUE','FALSE') from dba_users where username ='您要判断的用户名';

--MSSQL

select mark= case when user_name(uid) = 'dbo' then 'true' else 'false' end from sysusers where status >0

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧