好..我正在使用SQL Server 2008 ...我想要一个SQL查询来查找由特定的登录用户创建不同的数据库?例如。可以说user1已经创建了数据库db1和db2。和user2创建数据库的db3和db4 ..比查询应该给结果db1,db2的user1和db3,db4的user2 ...查询数据库和特权
我还想要查询获取特定用户的权限?
好..我正在使用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
好,我不知道为什么你需要查询每一个用户所有者数据库 但我希望这可以帮助您: SELECT名字,SUSER_SNAME(owner_sid) FROM sys.databases中
SUSER_SNAME()以及retireve用户名
感谢您的答复...但这将给所有的数据库的dbowner名称....但我想所有的数据库创建的特定用户? PLZ给我这个查询...也查询用户的权限。 – naitik333 2011-03-12 14:20:48
常见....有人帮助我....告诉我如何找到特定用户的权限? PLZ帮助我... – naitik333 2011-03-14 13:22:42