Partilhar via


ALTER PAPEL (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Adiciona ou remove membros de ou para uma função de banco de dados ou altera o nome de uma função de banco de dados definida pelo usuário.

Note

Para adicionar ou eliminar membros de funções no Azure Synapse Analytics and Analytics Platform System (PDW), utilize sp_addrolemember (Transact-SQL) e sp_droprolemember (Transact-SQL).

Transact-SQL convenções de sintaxe

Syntax

Sintaxe para SQL Server (a partir de 2012), Instância Gerenciada 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 do SQL Server anterior a 2012.

-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Arguments

role_name
Aplica-se a: SQL Server (a partir de 2008), Banco de Dados SQL do Azure, Instância Gerenciada do SQL do Azure

Especifica a função de banco de dados a ser alterada.

ADICIONAR database_principal MEMBRO
Aplica-se a: SQL Server (a partir de 2012), Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure

Especifica para adicionar a entidade de banco de dados à associação de uma função de banco de dados.

  • database_principal é um usuário de banco de dados ou uma função de banco de dados definida pelo usuário.

  • database_principal não pode ser uma função de banco de dados fixa ou uma entidade de servidor.

DROP MEMBRO database_principal
Aplica-se a: SQL Server (a partir de 2012), Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure

Especifica para remover uma entidade de banco de dados da associação de uma função de banco de dados.

  • database_principal é um usuário de banco de dados ou uma função de banco de dados definida pelo usuário.

  • database_principal não pode ser uma função de banco de dados fixa ou uma entidade de servidor.

COM NOME = new_name
Aplica-se a: SQL Server (a partir de 2008), Banco de Dados SQL do Azure, Instância Gerenciada do 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.

Alterar o nome de uma função de banco de dados não altera o número de ID, o proprietário ou as permissões da função.

Permissions

Para executar este comando, você precisa de 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.

Metadata

Essas exibições do sistema contêm informações sobre funções e entidades de banco de dados.

Examples

A. Alterar o nome de uma função de banco de dados

Aplica-se a: SQL Server (a partir de 2008), Banco de Dados SQL do Azure, Instância Gerenciada do 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 (a partir de 2012), Banco de Dados SQL do Azure, Instância Gerenciada SQL do Azure

Este exemplo cria uma função de banco de dados chamada Sales. Ele adiciona um usuário de banco de dados chamado Barry à associação e, em seguida, mostra como remover o membro Barry. 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 SQL no banco de dados mestre virtual, cria um usuário de banco de dados relacionado a esse logon de servidor e adiciona o usuário do banco de dados como membro da função dbmanagerespecial. O exemplo permite que as permissões de usuário criem e soltem 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;

Ver também

CRIAR FUNÇÃO (Transact-SQL)
Principais (Motor de Base de Dados)
PAPEL DE DESISTÊNCIA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)