2013-01-03 13 views
9

W Sql Server 2000, czy możliwe jest zwrócenie za pośrednictwem zapytania SQL pełnej listy ról bazy danych istniejących w danej bazie danych?Jak mogę zapytać o listę ról bazy danych w bazie danych SQL Server 2000?

Wiem, że można zobaczyć te role przez rozszerzenie węzłów Zabezpieczenia, Role i Role bazy danych w SQL Server Management Studio, ale chciałbym, aby je za pośrednictwem kwerendy, które można analizować programowo.

Screenshot of the nodes in question

Aby wyjaśnić, ja nie szukam listy użytkowników z ich rolami, ale po prostu lista samych ról.

Odpowiedz

16

Każda baza danych w SQL Server 2000 ma sysusers system table

Prawdopodobnie coś takiego

Use <MyDatabase> 

Select 
    [name] 
From 
    sysusers 
Where 
    issqlrole = 1 

rade

+0

Nie zdawałam sobie sprawy, że sysusers zawarte role, jak również użytkowników. Sprawdziłem twój kod i rzeczywiście zwraca on poprawne dane. Wielkie dzięki! –

+0

co za zabawne miejsce. – granadaCoder

+1

*** Uwaga *** 'sys.sysusers' jest przestarzałe. Od 2008 powinien używać ['sys.database_principles'] (https://msdn.microsoft.com/en-gb/library/ms187328.aspx). – Richard

Powiązane problemy