2013-01-03 10 views
9

In Sql Server 2000, è possibile restituire, tramite query SQL, un elenco completo dei ruoli del database esistenti in un determinato database?Come posso interrogare l'elenco dei ruoli del database in un database SQL Server 2000?

So che è possibile vedere questi ruoli espandendo i nodi Security, Roles e Database Roles in SQL Server Management Studio, ma mi piacerebbe farli passare attraverso una query che posso analizzare a livello di programmazione.

Screenshot of the nodes in question

Per chiarire, io non sono alla ricerca di un elenco di utenti con i loro ruoli, ma solo l'elenco dei ruoli stessi.

risposta

16

Ogni database in SQL Server 2000 dispone di un sysusers system table

probabilmente qualcosa come

Use <MyDatabase> 

Select 
    [name] 
From 
    sysusers 
Where 
    issqlrole = 1 

farà il trucco

+0

non mi ero reso conto che sysusers inclusi i ruoli così come gli utenti. Ho controllato il tuo codice e in effetti restituisce i dati corretti. Grazie molto! –

+0

che posto divertente metterlo. – granadaCoder

+1

*** NB *** 'sys.sysusers' è deprecato. Dal 2008 dovrebbe usare ['sys.database_principles'] (https://msdn.microsoft.com/en-gb/library/ms187328.aspx). – Richard

Problemi correlati