sp_addapprole (Transact-SQL)

Adiciona uma função de aplicativo ao banco de dados atual.

Observação importanteImportante

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use CREATE APPLICATION ROLE.

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

Sintaxe

sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password'

Argumentos

  • [ @rolename = ] 'role'
    É o nome da nova função de aplicativo. role é sysname, sem nenhum padrão. role deve ser um identificador válido e não pode já existir no banco de dados atual.

    Os nomes de função de aplicativo podem conter de 1 até 128 caracteres, inclusive cartas, símbolos e números. Os nomes de função não podem conter uma barra invertida (\) nem podem ser NULL ou uma cadeia de caracteres vazia (").

  • [ @password = ] 'password'
    É a senha necessária para ativar a função de aplicativo. password é sysname, sem nenhum padrão. password não pode ser NULL.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

Em versões anteriores de SQL Server, os usuários (e as funções) não são completamente distintos de esquemas. Começando com SQL Server 2005, os esquemas são completamente distintos de funções. Esta nova arquitetura é refletida no comportamento de CREATE APPLICATION ROLE. Esta instrução substitui sp_addapprole. Para obter mais informações, consulte Separação do esquema de usuário.

Para manter a compatibilidade com versões anteriores de SQL Server, sp_addapprole fará o seguinte:

  • Se um esquema de nome igual ao da função de aplicativo ainda não existir, tal esquema será criado. O novo esquema será de propriedade da função de aplicativo e será o esquema padrão da função de aplicativo.

  • Se um esquema de nome igual ao da função de aplicativo já existir, o procedimento falhará.

  • A complexidade da senha não é verificada por sp_addapprole. Mas a complexidade da senha é verificada por CREATE APPLICATION ROLE.

O parâmetro password é armazenado como um hash unidirecional.

O procedimento armazenado sp_addapprole não pode ser executado a partir de uma transação definida pelo usuário.

Observação sobre segurançaObservação sobre segurança

Não há suporte à opção encrypt do Microsoft ODBC pelo SqlClient. Quando possível, solicite que os usuários insiram as credenciais de função de aplicativo no momento da execução. Evite armazenar credenciais em um arquivo. Se precisar manter as credenciais, criptografe-as usando as funções CryptoAPI.

Permissões

Requer a permissão ALTER ANY APPLICATION ROLE no banco de dados. Se um esquema com nome e proprietário iguais aos da nova função ainda não existir, isso também exigirá a permissão CREATE SCHEMA no banco de dados.

Exemplos

O exemplo a seguir acrescenta a nova função de aplicativo SalesApp com a senha x97898jLJfcooFUYLKm387gf3 ao banco de dados atual.

EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO