Die Ausführung die folgende SQL:Wie bestimmen, ob ein Benutzer ein Mitglied einer nicht-feste Rolle SQL-Datenbank ist
USE [WSS_Content]
EXEC sp_helplogins
kehrt zwei Ergebnismengen und innerhalb der zweiten resultset ich mehrere Reihen bekommen, aber man insbesondere Das sieht so aus:
LoginName DBName UserName UserOrAlias
DEMO\SPUser SharePoint_Config SharePoint_Shell_Access MemberOf
Dies ist wie erwartet, und was ich sehen möchte. Doch die Ausführung der folgenden SQL:
EXEC sp_helprole 'SharePoint_Shell_Access'
gibt mir einen Fehler, der sagt: ‚SharePoint_Shell_Access‘ keine Rolle ist. Aber es ist! Ich kann sehen, dass es von SQL Server Management Studio kommt und es zeigt mir sogar die Mitglieder der Rolle von dort.
Ideal zu erreichen, was ich versuche, ist in der Lage, dies zu nutzen:
SELECT IS_MEMBER('SharePoint_Shell_Access')
aber natürlich, das den Wert null zurück, weil es denkt auch, dass keine gültige Rolle, wenn es definitiv ist. Was gibt und wie kann ich am besten abfragen, um festzustellen, ob ein bestimmter Benutzer (oder der aktuelle Benutzer) Mitglied dieser benutzerdefinierten Datenbankrolle ist?
Ich verwende SQL Server 2008 R2.