ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Изменяет членство в роли сервера или изменяет имя определяемой пользователем роли сервера.Changes the membership of a server role or changes name of a user-defined server role. Предопределенные роли сервера нельзя переименовывать.Fixed server roles cannot be renamed.

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

СинтаксисSyntax

-- Syntax for SQL Server  
  
ALTER SERVER ROLE server_role_name   
{  
    [ ADD MEMBER server_principal ]  
  | [ DROP MEMBER server_principal ]  
  | [ WITH NAME = new_server_role_name ]  
} [ ; ]  
-- Syntax for Parallel Data Warehouse  
  
ALTER SERVER ROLE  server_role_name  ADD MEMBER login;  
  
ALTER SERVER ROLE  server_role_name  DROP MEMBER login;  

АргументыArguments

server_role_nameserver_role_name
Имя роли сервера, подлежащей изменению.Is the name of the server role to be changed.

ADD MEMBER server_principalADD MEMBER server_principal
Добавляет указанный сервер-участник к роли сервера.Adds the specified server principal to the server role. Аргумент server_principal может быть именем входа или определяемой пользователем ролью сервера.server_principal can be a login or a user-defined server role. Аргумент server_principal не может быть предопределенной ролью сервера, ролью базы данных или sa.server_principal cannot be a fixed server role, a database role, or sa.

DROP MEMBER server_principalDROP MEMBER server_principal
Удаляет указанный сервер-участник из роли сервера.Removes the specified server principal from the server role. Аргумент server_principal может быть именем входа или определяемой пользователем ролью сервера.server_principal can be a login or a user-defined server role. Аргумент server_principal не может быть предопределенной ролью сервера, ролью базы данных или sa.server_principal cannot be a fixed server role, a database role, or sa.

WITH NAME = new_server_role_nameWITH NAME =new_server_role_name
Задает новое имя определяемой пользователем роли сервера.Specifies the new name of the user-defined server role. Это имя не должно быть занято на сервере.This name cannot already exist in the server.

RemarksRemarks

Изменение имени определяемой пользователем роли сервера не изменяет идентификационный номер, владельца или разрешения роли.Changing the name of a user-defined server role does not change ID number, owner, or permissions of the role.

Для изменения членства в роли, ALTER SERVER ROLE replaces sp_addsrvrolemember и sp_dropsrvrolemember.For changing role membership, ALTER SERVER ROLE replaces sp_addsrvrolemember and sp_dropsrvrolemember. Эти хранимые процедуры являются устаревшими.These stored procedures are deprecated.

Для просмотра ролей сервера выполните запрос к представлениям каталога sys.server_role_members и sys.server_principals.You can view server roles by querying the sys.server_role_members and sys.server_principals catalog views.

Чтобы изменить владельца определяемой пользователем роли сервера, воспользуйтесь инструкцией ALTER AUTHORIZATION (Transact-SQL).To change the owner of a user-defined server role, use ALTER AUTHORIZATION (Transact-SQL).

РазрешенияPermissions

Требует разрешения ALTER ANY SERVER ROLE на сервере для изменения имени определяемой пользователем роли сервера.Requires ALTER ANY SERVER ROLE permission on the server to change the name of a user-defined server role.

Предопределенные роли сервераFixed server roles

Для добавления нового члена в предопределенную роль сервера пользователь должен быть членом этой предопределенной роли сервера или членом роли сервера sysadmin.To add a member to a fixed server role, you must be a member of that fixed server role, or be a member of the sysadmin fixed server role.

Примечание

Разрешения CONTROL SERVER и ALTER ANY SERVER ROLE недостаточны для выполнения инструкции ALTER SERVER ROLE с предопределенной ролью сервера, а разрешение ALTER не может быть предоставлено для предопределенной роли сервера.The CONTROL SERVER and ALTER ANY SERVER ROLE permissions are not sufficient to execute ALTER SERVER ROLE for a fixed server role, and ALTER permission cannot be granted on a fixed server role.

Определяемые пользователем роли сервераUser-defined server roles

Для добавления члена в определяемую пользователем роль сервера пользователь должен быть членом предопределенной роли сервера sysadmin или иметь разрешение CONTROL SERVER или ALTER ANY SERVER ROLE.To add a member to a user-defined server role, you must be a member of the sysadmin fixed server role or have CONTROL SERVER or ALTER ANY SERVER ROLE permission. Либо иметь разрешение ALTER для этой роли.Or you must have ALTER permission on that role.

Примечание

В отличие от предопределенных ролей сервера, члены определяемой пользователем роли по сути не имеют разрешения на добавление членов в эту роль.Unlike fixed server roles, members of a user-defined server role do not inherently have permission to add members to that same role.

ПримерыExamples

A.A. Изменение имени роли сервераChanging the name of a server role

В следующем примере создается роль сервера с именем Product, затем имя роли сервера изменяется на Production.The following example creates a server role named Product, and then changes the name of server role to Production.

CREATE SERVER ROLE Product ;  
ALTER SERVER ROLE Product WITH NAME = Production ;  
GO  

Б.B. Добавление учетной записи домена к роли сервераAdding a domain account to a server role

В следующем примере к определяемой пользователем роли сервера с именем Production добавляется учетная запись домена с именем adventure-works\roberto0.The following example adds a domain account named adventure-works\roberto0 to the user-defined server role named Production.

ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;  

В.C. Добавление имени входа SQL Server к роли сервераAdding a SQL Server login to a server role

В следующем примере к предопределенной роли сервера diskadmin добавляется имя входа SQL ServerSQL Server Ted.The following example adds a SQL ServerSQL Server login named Ted to the diskadmin fixed server role.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

Г.D. Удаление учетной записи домена из роли сервераRemoving a domain account from a server role

В следующем примере учетная запись домена с именем adventure-works\roberto0 удаляется из определяемой пользователем роли сервера с именем Production.The following example removes a domain account named adventure-works\roberto0 from the user-defined server role named Production.

ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;  

Д.E. Удаление имени входа SQL Server из роли сервераRemoving a SQL Server login from a server role

В следующем примере имя входа Ted SQL ServerSQL Server удаляется из предопределенной роли сервера diskadmin.The following example removes the SQL ServerSQL Server login Ted from the diskadmin fixed server role.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

Е.F. Предоставление имени входа разрешения на добавление имен входа к определяемой пользователем роли сервераGranting a login the permission to add logins to a user-defined server role

В следующем примере пользователь Ted получает разрешение добавлять другие имена входа к определяемой пользователем роли сервера с именем Production.The following example allows Ted to add other logins to the user-defined server role named Production.

GRANT ALTER ON SERVER ROLE::Production TO Ted ;  
GO  

Ж.G. Просмотр членства в ролиTo view role membership

Чтобы просмотреть членство в роли, воспользуйтесь страницей Роль сервера (Члены) в среде SQL Server Management StudioSQL Server Management Studio или выполните следующий запрос:To view role membership, use the Server Role (Members) page in SQL Server Management StudioSQL Server Management Studio or execute the following query:

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  

Примеры: Параллельное хранилище данныхParallel Data WarehouseExamples: Параллельное хранилище данныхParallel Data Warehouse

З.H. Базовый синтаксисBasic Syntax

В следующем примере к роли сервера LargeRC добавляется имя входа Anna.The following example adds the login Anna to the LargeRC server role.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

И.I. Удаление имени входа из класса ресурсов.Remove a login from a resource class.

В следующем примере удаляется членство Анны из роли сервера LargeRC.The following example drops Anna's membership in the LargeRC server role.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

См. также:See Also

CREATE SERVER ROLE (Transact-SQL) CREATE SERVER ROLE (Transact-SQL)
DROP SERVER ROLE (Transact-SQL) DROP SERVER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL) ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL) DROP ROLE (Transact-SQL)
Хранимые процедуры безопасности (Transact-SQL) Security Stored Procedures (Transact-SQL)
Функции безопасности (Transact-SQL) Security Functions (Transact-SQL)
Участники (ядро СУБД) Principals (Database Engine)
sys.server_role_members (Transact-SQL) sys.server_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)sys.server_principals (Transact-SQL)