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を使用しています。)