web-dev-qa-db-ja.com

SQL Server 2000データベースのデータベースロールのリストをクエリするにはどうすればよいですか?

Sql Server 2000では、SQLクエリを介して、特定のデータベースに存在するデータベースロールの完全なリストを返すことは可能ですか?

SQL Server Management Studioで[セキュリティ]、[ロール]、および[データベースロール]ノードを展開することでこれらのロールを表示できることはわかっていますが、プログラムで解析できるクエリを介してそれらを取得したいと思います。

Screenshot of the nodes in question

明確にするために、私は役割を持つユーザーのリストではなく、役割自体のリストだけを探しています。

11
Warrior Bob

SQL Server 2000のすべてのデータベースには sysusersシステムテーブル があります

おそらく次のようなもの

Use <MyDatabase>

Select 
  [name]
From
  sysusers
Where
  issqlrole = 1

トリックを行います

18
Laurence

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

0
Brian H Wilson