Все еще существует несколько системных процедур, которые вы должны использовать, если вам нужно добавлять или удалять членов определенных пользователем ролей:
♦ sp_addroleitiember;
♦ sp_droprolemember;
♦ sp_helprole.
После того как вы добавили роль в текущую базу данных, вы можете использовать системную процедуру sp_addrolemember для добавления членов в эту роль. Членом роли может быть любой правильный логин, учетная запись пользователя или группа Windows либо другая роль. Только члены базы данных ролей db_owner могут выполнять эту системную процедуру. Владельцы роли могут также выполнять процедуру sp_addrolemember для добавления членов в любую роль, которой они владеют.
Системная процедура sp_droproiemember удаляет существующего члена из роли. Эту системную процедуру невозможно использовать для удаления существующей учетной записи пользователя Windows из группы Windows.
Системная процедура spheiprole отображает информацию (идентификатор и имя роли) о конкретной роли или обо всех ролях в текущей базе данных, если имя роли не указано. Только члены ролей dbowner или dbsecurityadmin могут выполнять эту системную процедуру.
В примере 12.10 показано, как можно создать определенную пользователем роль и добавить в нее членов.
В примере 12.10 вначале создается определенная пользователем роль с именем marketing, а затем при использовании системной процедуры spaddroiemember в эту роль добавляются два члена: peter и тагу.
Управление определенными пользователем ролями с помощью Management Studio
Для создания определенной пользователем роли с помощью SQL Server Management Studio разверните сервер, разверните папку Databases, а затем - вашу базу данных и ее узел Security. Щелкните правой кнопкой мыши по узлу Roles, выберите пункт New | New Database Role. В диалоговом окне Database Role (рис. 12.5) введите имя новой роли. Щелкните по кнопке Add для добавления членов в новую роль. Выберите членов (пользователей и/или другие роли) для новой роли и щелкните по кнопке ОК.