ALTER APPLICATION ROLE (Transact-SQL)

Altera o nome, a senha ou o esquema padrão de uma função de aplicativo.

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

Sintaxe

ALTER APPLICATION ROLE application_role_name 
    WITH <set_item> [ ,...n ]

<set_item> ::= 
    NAME = new_application_role_name 
    | PASSWORD = 'password'
    | DEFAULT_SCHEMA = schema_name

Argumentos

  • application_role_name
    É o nome da função de aplicativo a ser modificada.

  • NAME = new_application_role_name
    Especifica o novo nome da função de aplicativo. Esse nome ainda não deve ser usado para referenciar qualquer entidade no banco de dados.

  • PASSWORD = 'password'
    Especifica a senha da função de aplicativo. A password deve atender aos requisitos da política de senha do Windows do computador que está executando a instância do SQL Server. Você sempre deve usar senhas fortes.

  • DEFAULT_SCHEMA = schema_name
    Especifica o primeiro esquema que será pesquisado pelo servidor durante a resolução de nomes de objetos. schema_name pode ser um esquema que não existe no banco de dados.

Comentários

Se o novo nome da função de aplicativo já existir no banco de dados, a instrução falhará. Quando o nome, a senha ou o esquema padrão de uma função de aplicativo é alterado, a ID associada à função não é alterada.

Observação importanteImportante

 A política de expiração de senha não é aplicada às senhas de função de aplicativo. Por esse motivo, tome muito cuidado ao selecionar senhas fortes. Os aplicativos que invocam funções de aplicativo devem armazenar suas senhas.

As funções de aplicativo são visíveis na exibição do catálogo sys.database_principals.

Observação sobre cuidadosCuidado

No SQL Server 2005, o comportamento de esquemas foi alterado em relação às versões anteriores do SQL Server. O código que pressupõe que esquemas são equivalentes a usuários de banco de dados pode não retornar resultados corretos. Exibições de catálogo antigas, 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. Em um banco de dados no qual qualquer uma dessas instruções tenha sido usada alguma vez, você deve usar as novas exibições do catálogo. As novas exibições do catálogo levam em conta a separação de entidades e esquemas introduzida no SQL Server 2005. Para obter mais informações sobre exibições do catálogo, consulte Exibições de catálogo (Transact-SQL).

Permissões

Requer a permissão ALTER ANY APPLICATION ROLE no banco de dados. Para alterar o esquema padrão, o usuário também precisa da permissão ALTER na função de aplicativo. Uma função de aplicativo pode alterar seu próprio esquema padrão, mas não seu nome ou senha.

Exemplos

A. Alterando o nome da função de aplicativo

O exemplo a seguir altera o nome da função de aplicativo weekly_receipts para receipts_ledger.

USE AdventureWorks2008R2;
CREATE APPLICATION ROLE weekly_receipts 
    WITH PASSWORD = '987Gbv8$76sPYY5m23' , 
    DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts 
    WITH NAME = receipts_ledger;
GO

B. Alterando a senha da função de aplicativo

O exemplo a seguir altera a senha da função de aplicativo receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger 
    WITH PASSWORD = '897yUUbv867y$200nk2i';
GO

C. Alterando o nome, a senha e o esquema padrão

O exemplo a seguir altera o nome, a senha e o esquema padrão da função de aplicativo receipts_ledger ao mesmo tempo.

ALTER APPLICATION ROLE receipts_ledger 
    WITH NAME = weekly_ledger, 
    PASSWORD = '897yUUbv77bsrEE00nk2i', 
    DEFAULT_SCHEMA = Production;
GO