Выполнение следующего sql:
USE [WSS_Content]
EXEC sp_helplogins
возвращает два набора результатов, и во втором наборе результатов я получаю несколько строк, но в частности одну, которая выглядит следующим образом:
LoginName DBName UserName UserOrAlias
DEMO\SPUser SharePoint_Config SharePoint_Shell_Access MemberOf
Это как и ожидалось, и то, что я хочу увидеть. Однако, выполняя следующий sql:
EXEC sp_helprole 'SharePoint_Shell_Access'
выдает ошибку: «SharePoint_Shell_Access» - это не роль. Но это так! Я вижу, что это из SQL Server Management Studio и даже показывает мне членов роли прямо здесь.
В идеале я пытаюсь использовать это:
SELECT IS_MEMBER('SharePoint_Shell_Access')
но, конечно, это возвращает ноль, потому что он также думает, что это недопустимая роль, когда это наиболее определенно. Что дает и как мне лучше всего узнать, является ли данный пользователь (или текущий пользователь) членом этой пользовательской роли базы данных?
Я использую SQL Server 2008 R2.