Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureКонечная точка аналитики SQL в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Добавляет члены в роль базы данных или удаляет их из нее либо изменяет имя определяемой пользователем роли базы данных.
Note
Чтобы добавить или удалить члены из ролей в Azure Synapse Analytics и Analytics Platform System (PDW), используйте sp_addrolemember (Transact-SQL) и sp_droprolemember (Transact-SQL).
Соглашения о синтаксисе Transact-SQL
Syntax
Синтаксис ДЛЯ SQL Server (начиная с 2012), Управляемый экземпляр SQL Azure, База данных SQL Azure и Microsoft Fabric.
ALTER ROLE role_name
{
ADD MEMBER database_principal
| DROP MEMBER database_principal
| WITH NAME = new_name
}
[;]
Синтаксис для SQL Server до 2012 г.
-- Change the name of a user-defined database role
ALTER ROLE role_name
WITH NAME = new_name
[;]
Arguments
role_name
Область применения: SQL Server (начиная с 2008), База данных SQL Azure, Управляемый экземпляр SQL Azure.
Указывает роль базы данных, которую нужно изменить.
ДОБАВЛЕНИЕ DATABASE_PRINCIPAL УЧАСТНИКА
Область применения: SQL Server (начиная с 2012), База данных SQL Azure, Управляемый экземпляр SQL Azure.
Указывает на добавление участника базы данных к членству в роли базы данных.
database_principal является пользователем базы данных или ролью базы данных, определяемой пользователем.
database_principal не может быть предопределенной ролью базы данных или участником на уровне сервера.
ВЫБРОСИТЬ УЧАСТНИКА database_principal
Область применения: SQL Server (начиная с 2012), База данных SQL Azure, Управляемый экземпляр SQL Azure.
Указывает на удаление участника базы из членства в роли базы данных.
database_principal является пользователем базы данных или ролью базы данных, определяемой пользователем.
database_principal не может быть предопределенной ролью базы данных или участником на уровне сервера.
С НАЗВАНИЕМ = new_name
Область применения: SQL Server (начиная с 2008), База данных SQL Azure, Управляемый экземпляр SQL Azure.
Указывает на изменение имени определяемой пользователем роли базы данных. Новое имя еще не должно существовать в базе данных.
Изменение имени роли базы данных не изменяет идентификационный номер, владельца или разрешения роли.
Permissions
Для выполнения этой команды необходимо одно или несколько из указанных далее разрешений или членств.
- Разрешение ALTER для роли
- Разрешение ALTER ANY ROLE для базы данных
- Членство в предопределенной роли базы данных db_securityadmin
Кроме того, чтобы изменить членство в предопределенной роли базы данных, требуется:
- членство в предопределенной роли базы данных db_owner.
ограничения
Имя предопределенной роли базы данных изменить нельзя.
Metadata
Приведенные далее системные представления содержат сведения о ролях базы данных и участниках базы данных.
Examples
A. Изменение имени роли базы данных
Область применения: SQL Server (начиная с 2008), База данных SQL Azure, Управляемый экземпляр SQL Azure.
В следующем примере изменяется имя роли buyers на purchasing. Для этого примера используется образец базы данных AdventureWorks.
ALTER ROLE buyers WITH NAME = purchasing;
B. Добавление или удаление членов роли
Область применения: SQL Server (начиная с 2012), База данных SQL Azure, Управляемый экземпляр SQL Azure.
В этом примере создается роль базы данных с именем Sales. В нем показано добавление пользователя базы данных Barry в членство и затем демонстрируется удаление Barry. Для этого примера используется образец базы данных AdventureWorks.
CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;
C. Добавление участника роли в специальные роли для Базы данных SQL Azure
Область применения: База данных SQL Azure
В этом примере создается имя входа SQL в базе данных master, создается пользователь базы данных, связанный с этим именем входа на сервер, и добавляется пользователь базы данных в качестве участника специальной роли dbmanager. В этом примере пользователю предоставляются разрешения на создание и удаление баз данных на логическом сервере Базы данных SQL Azure. Запустите пример в виртуальной базе данных master на логическом сервере Базы данных SQL Azure.
CREATE LOGIN sqllogin_nlastname WITH password='aah3%#om1os';
CREATE USER sqllogin_nlastname FOR LOGIN sqllogin_nlastname
WITH DEFAULT_SCHEMA = master;
ALTER ROLE [dbmanager] add member sqllogin_nlastname;
См. также
СОЗДАТЬ РОЛЬ (Transact-SQL)
Субъекты (ядро СУБД)
РОЛЬ ДРОПА (Transact-SQL)
Хранимая процедура sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)