好的..我正在使用sql server 2008 ...我想要一个sql查询来查找由特定登录用户创建的不同数据库???例如。假设user1已经创建了数据库db1和db2。和user2创建数据库db3和db4 ..比查询应该给出结果db1,db2 for user1和db3,db4 for user2 ...
我也希望查询获取特定用户的权限???
答案 0 :(得分:0)
我能想到的最接近的是当前所有者,它通常是数据库的创建者。你可以查询:
select db.name
, l.name
from sys.databases db
join sys.syslogins l
on db.owner_sid = l.sid
要查询每个用户的逗号分隔列表,请尝试:
select l.name
, stuff(db.list,len(db.list),1,'')
from sys.syslogins l
cross apply
(
select db.name + ','
from sys.databases db
where db.owner_sid = l.sid
for xml path('')
) db(list)
where db.list is not null
答案 1 :(得分:0)
我不知道为什么你需要查询每个数据库的用户所有者 但我希望这可以帮助你: SELECT名称,SUSER_SNAME(owner_sid) 来自sys.databases
SUSER_SNAME()退出用户名