DROP SERVER ROLE (Transact-SQL)
Удаляет определяемую пользователем роль сервера.
Определяемые пользователем роли сервера впервые появились в 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 ;
См. также
Справочник
Хранимая процедура sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)