Sql 查询数据库和权限
好的。。我正在使用sql server 2008。。。我想要一个sql查询来查找由特定登录用户创建的不同数据库???例如,假设user1创建了数据库db1和db2。user2是由数据库db3和db4创建的。。然后,查询应该给出结果db1,db2代表user1,db3,db4代表user2Sql 查询数据库和权限,sql,database,sql-server-2008,nsuserdefaults,privileges,Sql,Database,Sql Server 2008,Nsuserdefaults,Privileges,好的。。我正在使用sql server 2008。。。我想要一个sql查询来查找由特定登录用户创建的不同数据库???例如,假设user1创建了数据库db1和db2。user2是由数据库db3和db4创建的。。然后,查询应该给出结果db1,db2代表user1,db3,db4代表user2 此外,我还需要查询以获取特定用户的权限???我能想到的最接近的是当前所有者,它通常是数据库的创建者。您可以这样查询: select db.name , l.name from sys.dat
此外,我还需要查询以获取特定用户的权限???我能想到的最接近的是当前所有者,它通常是数据库的创建者。您可以这样查询:
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
我不知道为什么需要查询每个数据库的用户所有者 但我希望这能帮助你: 选择名称,SUSER\U SNAMEowner\U sid 从sys.databases
SUSER_SNAME将用户名注销感谢您的回复。。。但这将为所有数据库提供dbowner名称。。。。但是我想要由特定用户创建的所有数据库???请给我这个问题。。。还可以查询查找用户的权限…很好。。。。。但是你能修改你的查询吗?这样我就可以得到某个特定用户在不同行中创建的所有数据库,并且只得到该用户创建的数据库,而不是所有的数据库…谢谢你的回复。。。但这将为所有数据库提供dbowner名称。。。。但是我想要由特定用户创建的所有数据库???请给我这个问题。。。还查询查找用户的权限。公用。。。。有人帮我。。。。告诉我如何找到特定用户的权限???请帮我。。。