ALTER ROLE (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric Banco de dados SQL no Microsoft Fabric
Adiciona membros a uma função de banco de dados ou remove membros dela, ou altera o nome de uma função de banco de dados definida pelo usuário.
Observação
Para adicionar ou remover as funções no Azure Synapse Analytics e no PDW (Analytics Platform System), use sp_addrolemember (Transact-SQL) e sp_droprolemember (Transact-SQL).
Convenções de sintaxe de Transact-SQL
Sintaxe
Sintaxe para SQL Server (a partir de 2012), Instância Gerenciada de SQL do Azure, Banco de Dados SQL do Azure e Microsoft Fabric.
ALTER ROLE role_name
{
ADD MEMBER database_principal
| DROP MEMBER database_principal
| WITH NAME = new_name
}
[;]
Sintaxe para SQL Server antes de 2012.
-- Change the name of a user-defined database role
ALTER ROLE role_name
WITH NAME = new_name
[;]
Argumentos
role_name
Aplica-se a: SQL Server (do 2008 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
Especifica a função de banco de dados a ser alterada.
ADD MEMBER database_principal
Aplica-se a: SQL Server (do 2012 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
Especifica para adicionar a entidade de segurança do banco de dados à associação de uma função de banco de dados.
database_principal é um usuário ou uma função de banco de dados definida pelo usuário.
O database_principal não pode ser uma função de banco de dados fixa nem uma entidade de segurança do servidor.
DROP MEMBER database_principal
Aplica-se a: SQL Server (do 2012 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
Especifica para remover uma entidade de segurança do banco de dados da associação a uma função de banco de dados.
database_principal é um usuário ou uma função de banco de dados definida pelo usuário.
O database_principal não pode ser uma função de banco de dados fixa nem uma entidade de segurança do servidor.
WITH NAME = new_name
Aplica-se a: SQL Server (do 2008 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
Especifica para alterar o nome de uma função de banco de dados definida pelo usuário. O novo nome ainda não deve existir no banco de dados.
A alteração do nome de uma função de banco de dados não altera o número da ID, o proprietário ou as permissões da função.
Permissões
Para executar esse comando, é necessário ter uma ou mais destas permissões ou associações:
- Permissão ALTER na função
- Permissão ALTER ANY ROLE no banco de dados
- Associação à função de banco de dados fixa db_securityadmin
Além disso, para alterar a associação em uma função de banco de dados fixa, você precisa:
- Associação à função de banco de dados fixa db_owner
Limitações e restrições
Não é possível alterar o nome de uma função de banco de dados fixa.
Metadados
Essas exibições do sistema contêm informações sobre as funções do banco de dados e entidades de segurança do banco de dados.
Exemplos
a. Alterar o nome de uma função de banco de dados
Aplica-se a: SQL Server (do 2008 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
O exemplo a seguir altera o nome da função buyers
para purchasing
. Este exemplo pode ser executado no banco de dados de exemplo AdventureWorks.
ALTER ROLE buyers WITH NAME = purchasing;
B. Adicionar ou remover membros da função
Aplica-se a: SQL Server (do 2012 em diante), Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure
Esse exemplo cria uma função de banco de dados chamada Sales
. Ele adiciona um usuário de banco de dados chamado Carlos à associação e, em seguida, mostra como remover o membro Carlos. Este exemplo pode ser executado no banco de dados de exemplo AdventureWorks.
CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;
C. Adicionar um membro de função a funções especiais para o Banco de Dados SQL do Azure
Aplica-se a: Banco de Dados SQL do Azure
Este exemplo cria um logon do SQL no banco de dados mestre virtual, cria um usuário do banco de dados relacionado a esse logon do servidor e adiciona o usuário do banco de dados como membro da função especial dbmanager
. O exemplo permite que as permissões de usuário criem e removam bancos de dados em um servidor lógico do Banco de Dados SQL do Azure. Execute o exemplo no banco de dados mestre virtual do servidor lógico do Banco de Dados SQL do 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;
Consulte Também
CREATE ROLE (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
DROP ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)