我想对数据库中的一个库 通过SQL SERVER语句把所有登陆用户的授权情况 全部查出来。以下是我写得SQL 语句。select s.name loginname,u.name userame,r.name rolename,u.default_schema_name
from sys.database_principals u join sys.server_principals s on u.sid=s.sid join sys.database_role_members m on u.principal_id=m.member_principal_id join sys.database_principals r on m.role_principal_id=r.principal_id
where u.type= 's'
此语句还是无法将 安全对像 罗列出来。有没有哪个高手遇到过这样的问题。sql server 2012数据库sql server
from sys.database_principals u join sys.server_principals s on u.sid=s.sid join sys.database_role_members m on u.principal_id=m.member_principal_id join sys.database_principals r on m.role_principal_id=r.principal_id
where u.type= 's'
此语句还是无法将 安全对像 罗列出来。有没有哪个高手遇到过这样的问题。sql server 2012数据库sql server
解决方案 »
- MS-Sql数据库中OLTP和OLAP分别是什么?
- 请教:如何将用变量表示的字段值,赋值给另一个变量?谢谢!
- SELECT中怎么去比较2个日期之间的差是否>某一个小时数
- *** 请问怎么把数据库里的表的结构打印出来?
- 数据备份恢复问题,送分题,可是小弟不会,呜呜。。。。
- 动态IP数据库同步服务,请求订阅失败的问题
- sql语句中插入与自动增长同样的数
- 高分求msde2000的下载地址
- 在创建表时用了DEFAULT定义列值,请问能删除该列吗????
- 一个关于TRIGGER的小问题
- MSSQL数据类型的定义与输出
- 一个考试成绩表TableA,有如下字段 学号ID,科目ID,分数,考试时间,如何用SQL查询每科考试的时间差(精确到月)
select s.name loginname,u.name userame,r.name rolename,u.default_schema_name ,u.type
from sys.database_principals u join sys.server_principals s on u.sid=s.sid
join sys.database_role_members m on u.principal_id=m.member_principal_id
join sys.database_principals r on m.role_principal_id=r.principal_id -- where u.type= 's' --这是我本机查询结果
/*
loginname userame rolename default_schema_name type
DEVELOP01\Administrator dbo db_owner dbo U
*/
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
where sql_user= DBC_O