Partilhar via


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

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

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

Transact-SQL convenções de sintaxe

Sintaxe

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

Argumentos

application_role_name

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

PASSWORD = 'palavra-passe'

Especifica a senha que os usuários do banco de dados usarão para ativar a função do aplicativo. Deve sempre utilizar palavras-passe fortes. password deve atender aos requisitos de diretiva de senha do Windows do computador que está executando a instância do SQL Server.

DEFAULT_SCHEMA = schema_name

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

Observações

Importante

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

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

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

Observação

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

A partir do SQL Server 2012 (11.x), o SQL Server e o Banco de Dados SQL do Azure usavam um hash SHA-512 combinado com um sal aleatório e exclusivo de 32 bits. Este método tornou estatisticamente inviável para os atacantes deduzir senhas.

O SQL Server 2025 (17.x) introduz um algoritmo de hash iterado, RFC2898, também conhecido como função de derivação de chaves baseada em palavra-passe (PBKDF). Este algoritmo ainda usa SHA-512, mas hashes a senha várias vezes (100.000 iterações), retardando significativamente os ataques de força bruta. Essa alteração melhora a proteção por senha em resposta à evolução das ameaças à segurança e ajuda os clientes a cumprir as diretrizes do NIST SP 800-63b. Esta melhoria de segurança utiliza um algoritmo de hash mais forte, que pode aumentar ligeiramente o tempo de login para os logins de autenticação SQL. O impacto é geralmente menor em ambientes com pooling de ligações, mas pode ser mais notório em cenários sem pooling ou onde a latência de login é monitorizada de perto.

Permissões

Requer permissão ALTER ANY APPLICATION ROLE na base de dados.

Exemplos

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

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