Compartilhar via


CRIAR FUNÇÃO DE APLICAÇÃO (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

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

Convenções de sintaxe de Transact-SQL

Sintaxe

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

Argumentos

application_role_name

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

SENHA = 'senha'

Especifica a senha que os usuários de banco de dados usam para ativar a função do aplicativo. Você sempre deve usar senhas fortes. password deve atender aos requisitos de política de senha do Windows do computador que está executando a instância do SQL Server.

DEFAULT_SCHEMA = schema_name

Especifica o primeiro esquema que é pesquisado pelo servidor quando ele resolve os nomes de objetos para essa função. Se DEFAULT_SCHEMA for deixado indefinido, a função de aplicativo será usada dbo como seu esquema padrão. schema_name pode ser um esquema que não existe no banco de dados.

Comentários

Importante

A complexidade de Senha é verificada quando as senhas de função de aplicativo são definidas. Os aplicativos que invocam funções de aplicativo devem armazenar suas senhas. As senhas de função de aplicativo devem sempre ser criptografadas ao serem armazenadas.

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

Para obter informações sobre como usar funções de aplicativo, veja Funções de aplicativo.

Observação

Esquemas não são equivalentes a usuários de banco de dados. Use as exibições do catálogo do sistema para identificar as diferenças entre os usuários do banco de dados e os esquemas.

A partir do SQL Server 2012 (11.x), o SQL Server e o BD SQL do Azure usaram um hash SHA-512 combinado com um sal aleatório de 32 bits e um sal exclusivo. Esse método tornou estatisticamente inviável que os invasores deduzissem senhas.

O SQL Server 2025 (17.x) introduz um algoritmo de hash iterado, RFC2898, também conhecido como PBKDF ( função de derivação de chave baseada em senha ). Esse algoritmo ainda usa SHA-512, mas hashes a senha várias vezes (100.000 iterações), diminuindo significativamente os ataques de força bruta. Essa alteração aprimora a proteção por senha em resposta às ameaças de segurança em evolução e ajuda os clientes a cumprir as diretrizes do NIST SP 800-63b. Esse aprimoramento de segurança usa um algoritmo de hash mais forte, que pode aumentar ligeiramente o tempo de logon para logons de Autenticação do SQL. O impacto geralmente é menor em ambientes com pool de conexões, mas pode ser mais perceptível em cenários sem pool ou em que a latência de logon é monitorada de perto.

Permissões

Requer a permissão ALTER ANY APPLICATION ROLE no banco de dados.

Exemplos

O exemplo a seguir cria uma função de aplicativo chamada weekly_receipts que tem a senha 987Gbv876sPYY5m23 e Sales como esquema padrão.

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO