Compartilhar via


ALTER ROLE (Transact-SQL)

Altera o nome de uma função de banco de dados.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

ALTER ROLE role_name WITH NAME = new_name

Argumentos

  • role_name
    É o nome da função a ser alterada.

  • WITH NAME =new_name
    Especifica o novo nome da função. Esse nome ainda não deve existir no banco de dados.

Comentários

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.

As funções de banco de dados são visíveis nas exibições do catálogo sys.database_role_members and sys.database_principals.

Observação sobre cuidadosCuidado

A partir do SQL Server 2005, o comportamento de esquemas mudou. Como resultado, o código que pressupõe que esquemas sejam equivalentes a usuários de banco de dados pode não retornar mais resultados corretos. Exibições antigas do catálogo, incluindo sysobjects, não devem ser usadas em um banco de dados no qual uma das instruções DDL a seguir já tenha sido utilizada: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Nesses bancos de dados você deve usar as exibições do catálogo novas. As exibições do catálogo novas levam em conta a separação de entidades e esquemas apresentada no SQL Server 2005. Para mais informações sobre exibições do catálogo, consulte Exibições do catálogo (Transact-SQL).

Permissões

Exige a permissão ALTER ANY ROLE no banco de dados, ou a permissão ALTER na função ou a associação no db_securityadmin.

Exemplos

O exemplo a seguir altera o nome da função buyers para purchasing.

USE AdventureWorks2008R2;
ALTER ROLE buyers WITH NAME = purchasing;
GO