SQL Server 2005 vs. 2008

25/05/2010 - 18:17 von Markus Baechler | Report spam
Hallo NG,

wir stellen gerade unsere Projeke auf SQL Server 2008 um. Nun haben wir
festgestellt, dass die schöne Funktion sp_helpgroup [TESTROLE] in
der Version 2008 R2 nicht mehr existiert, sondern dies
über sys.database_principals funktioniert.

Aber wie muss die View aussehen, so dass ich alle User einer
bestimmten DB-Rolle auflisten kann?


Vielen Dank.

Gruß,
Markus
 

Lesen sie die antworten

#1 Christoph Muthmann
26/05/2010 - 09:06 | Warnen spam
Markus Baechler wrote:
Hallo NG,

wir stellen gerade unsere Projeke auf SQL Server 2008 um. Nun haben
wir festgestellt, dass die schöne Funktion sp_helpgroup [TESTROLE] in
der Version 2008 R2 nicht mehr existiert, sondern dies
über sys.database_principals funktioniert.

Aber wie muss die View aussehen, so dass ich alle User einer
bestimmten DB-Rolle auflisten kann?




Hallo Markus,
das folgende SQL liefert Dir die Rollen mit ihren Usern und dazugehörigen
Logins.

SELECT rm.role_name, rm.member_principal_name, rm.principal_type_desc,
rm.login
FROM (
select dp.type_desc as principal_type_desc,
user_name(member_principal_id) as member_principal_name,
user_name(role_principal_id) as role_name, sp.name as login
from sys.database_role_members rm
INNER JOIN sys.database_principals dp ON rm.member_principal_id =
dp.principal_id
left Join sys.server_principals sp on dp.sid = sp.sid
) rm
where rm.role_name ='db_datareader'
order by 1, 2, 3, 4;

Falls Du noch mehr willst, schau mal hier vorbei:
http://www.insidesql.org/beitraege/...5-anzeigen
Berechtigungen im SQLServer 2005 anzeigen

http://www.insidesql.org/berechtigu...itgliedern
Berechtigung und Rollen von Windows Gruppen und ihren Mitgliedern

Einen schönen Tag noch,
Christoph
Microsoft SQL Server MVP
http://www.insidesql.org

Ähnliche fragen