DROP SERVER ROLE (Transact-SQL)

Удаляет определяемую пользователем роль сервера.

Определяемые пользователем роли сервера впервые появились в SQL Server 2012.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2012 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

DROP SERVER ROLE role_name

Аргументы

  • role_name
    Задает определяемую пользователем роль сервера для удаления с сервера.

Замечания

Определяемые пользователем роли сервера, владеющие защищаемыми объектами, не могут быть удалены с сервера. Чтобы удалить определяемую пользователем роль сервера, владеющую защищаемыми объектами, необходимо сначала передать эти объекты другому владельцу или удалить их.

Определяемые пользователем роли сервера, у которых есть члены, нельзя удалить. Для удаления определяемой пользователем роли сервера с членами необходимо сначала удалить члены из роли с помощью инструкции ALTER SERVER ROLE.

Предопределенные роли сервера нельзя удалять.

Можно просмотреть сведения о членстве в роли путем запроса к представлению каталога sys.server_role_members.

Разрешения

Необходимо разрешение CONTROL для роли сервера или разрешение ALTER ANY SERVER ROLE.

Примеры

А.Удаление роли сервера

В следующем примере удаляется роль сервера purchasing.

DROP SERVER ROLE purchasing;
GO

Б.Просмотр членства в роли

Чтобы просмотреть членство в роли, воспользуйтесь страницей Роль сервера (Члены) в среде Среда SQL Server Management Studio или выполните следующий запрос:

SELECT SRM.role_principal_id, SP.name AS Role_Name, 
SRM.member_principal_id, SP2.name  AS Member_Name
FROM sys.server_role_members AS SRM
JOIN sys.server_principals AS SP
    ON SRM.Role_principal_id = SP.principal_id
JOIN sys.server_principals AS SP2 
    ON SRM.member_principal_id = SP2.principal_id
ORDER BY  SP.name,  SP2.name

В.Просмотр членства в роли

Чтобы определить, принадлежит ли роли сервера другая роль сервера, выполните следующий запрос:

SELECT SP1.name AS RoleOwner, SP2.name AS Server_Role
FROM sys.server_principals AS SP1
JOIN sys.server_principals AS SP2
    ON SP1.principal_id = SP2.owning_principal_id 
ORDER BY SP1.name ;

См. также

Справочник

ALTER ROLE (Transact-SQL)

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

EVENTDATA (Transact-SQL)

Хранимая процедура sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Основные понятия

Участники (компонент Database Engine)