在 Sql Server 2000 中,是否可以通过 SQL 查询返回给定数据库中存在的数据库角色的完整列表?
我知道可以通过扩展 SQL Server Management Studio 中的安全、角色和数据库角色节点来查看这些角色,但我想通过可以以编程方式解析的查询来获取它们。
澄清一下,我不是在寻找具有角色的用户列表,而只是寻找角色本身的列表。
在 Sql Server 2000 中,是否可以通过 SQL 查询返回给定数据库中存在的数据库角色的完整列表?
我知道可以通过扩展 SQL Server Management Studio 中的安全、角色和数据库角色节点来查看这些角色,但我想通过可以以编程方式解析的查询来获取它们。
澄清一下,我不是在寻找具有角色的用户列表,而只是寻找角色本身的列表。
SQL Server 2000 中的每个数据库都有一个sysusers 系统表
大概是这样的
Use <MyDatabase>
Select
[name]
From
sysusers
Where
issqlrole = 1
会成功的
使用我们的 SQL Server 2016 这对我有用
Use Sandbox
Select
name, principal_id
From
sys.database_principals
Where
type = 'R' and principal < 16384
其中 Sandbox 是我的数据库的名称。(我在 ESRI ArcGIS Enterprise 10.6 中使用 SQL。)