Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询数据库和权限_Sql_Database_Sql Server 2008_Nsuserdefaults_Privileges - Fatal编程技术网

Sql 查询数据库和权限

Sql 查询数据库和权限,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

好的。。我正在使用sql server 2008。。。我想要一个sql查询来查找由特定登录用户创建的不同数据库???例如,假设user1创建了数据库db1和db2。user2是由数据库db3和db4创建的。。然后,查询应该给出结果db1,db2代表user1,db3,db4代表user2


此外,我还需要查询以获取特定用户的权限???

我能想到的最接近的是当前所有者,它通常是数据库的创建者。您可以这样查询:

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名称。。。。但是我想要由特定用户创建的所有数据库???请给我这个问题。。。还查询查找用户的权限。公用。。。。有人帮我。。。。告诉我如何找到特定用户的权限???请帮我。。。