2013-01-03 79 views
9

在Sql Server 2000中,是否可以通过SQL查询返回给定数据库中存在的数据库角色的完整列表?如何查询SQL Server 2000数据库中的数据库角色列表?

我知道可以通过扩展SQL Server Management Studio中的安全性,角色和数据库角色节点来查看这些角色,但我希望通过可以通过编程方式解析的查询来获取这些角色。

Screenshot of the nodes in question

为了澄清,我不是在寻找用户与他们的角色列表,只是角色本身的列表。

回答

16

在SQL Server 2000中的每个数据库都具有sysusers system table

大概就像

Use <MyDatabase> 

Select 
    [name] 
From 
    sysusers 
Where 
    issqlrole = 1 

会做的伎俩

+0

我没有意识到的sysusers包括角色以及用户。我检查了你的代码,它确实返回了正确的数据。非常感谢! –

+0

这是个多么有趣的地方。 – granadaCoder

+1

***注意不要使用'sys.sysusers'。从2008年起应该使用['sys.database_principles'](https://msdn.microsoft.com/en-gb/library/ms187328.aspx)。 – Richard

相关问题