sp_addapprole (Transact-SQL)
Aplica-se: SQL Server
Adiciona uma função de aplicativo ao banco de dados atual.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Em vez disso, use CREATE APPLICATION ROLE .
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_addapprole
[ @rolename = ] N'rolename'
, [ @password = ] N'password'
[ ; ]
Argumentos
@rolename [ = ] N'nome da função'
O nome da nova função de aplicativo. @rolename é sysname, sem padrão. @rolename deve ser um identificador válido e ainda não pode 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 be NULL
ou uma cadeia de caracteres vazia ('').
@password [ = ] N'senha'
A senha necessária para ativar a função de aplicativo. @password é sysname, sem padrão. @password não pode ser NULL
.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Em versões anteriores do SQL Server, os usuários (e funções) não são totalmente distintos dos esquemas. A partir do SQL Server 2005 (9.x), os esquemas são totalmente distintos das funções. Essa arquitetura é refletida no comportamento do CREATE APPLICATION ROLE
. Esta declaração substitui sp_addapprole
.
Para manter a compatibilidade com versões anteriores do SQL Server, sp_addapprole
faça as seguintes verificações:
Se um esquema com o mesmo nome da função de aplicativo ainda não existir, o esquema será criado. O novo esquema pertence à função de aplicativo e é o esquema padrão da função de aplicativo.
Se já existir um esquema com o mesmo nome da função de aplicativo, o procedimento falhará.
sp_addapprole
não verifica a complexidade da senha. A complexidade da senha é verificada porCREATE APPLICATION ROLE
.
O parâmetro @password é armazenado como um hash unidirecional.
O sp_addapprole
procedimento armazenado não pode ser executado de dentro de uma transação definida pelo usuário.
Importante
A opção ODBC encrypt
da Microsoft não é compatível com SqlClient. Quando possível, solicite que os usuários insiram as credenciais de função de aplicativo no momento da execução. Evite armazenar as 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 o mesmo nome e proprietário da nova função ainda não existir, também exigirá a permissão CREATE SCHEMA no banco de dados.
Exemplos
O exemplo a seguir adiciona a nova função SalesApp
de aplicativo com a senha x97898jLJfcooFUYLKm387gf3
ao banco de dados atual.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3';
GO