Compartir a través de


CREATE APPLICATION ROLE (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Agrega un rol de aplicación a la base de datos actual.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

application_role_name

Especifica el nombre del rol de aplicación. Ninguna entidad de seguridad de la base de datos debe utilizar este nombre.

PASSWORD = 'password'

Especifica la contraseña que utilizarán los usuarios de la base de datos para activar el rol de aplicación. Debe utilizar siempre contraseñas seguras. password debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL Server.

DEFAULT_SCHEMA = schema_name

Especifica el primer esquema donde buscará el servidor cuando resuelva los nombres de objetos de este rol. Si DEFAULT_SCHEMA se deja sin definir, el rol de aplicación usará dbo como esquema predeterminado. schema_name puede ser un esquema que no existe en la base de datos.

Comentarios

Importante

Al establecer las contraseñas de los roles de aplicación se comprueba la complejidad de la contraseña. Las aplicaciones que invocan roles de aplicación deben almacenar sus propias contraseñas. Las contraseñas de roles de aplicación deben almacenarse cifradas.

Puede ver los roles de aplicación en la vista de catálogo sys.database_principals.

Para saber más sobre cómo usar roles de aplicación, vea Roles de aplicación.

Nota:

Los esquemas no son equivalentes a los usuarios de la base de datos. Use vistas de catálogo del sistema para identificar las diferencias entre los usuarios y esquemas de la base de datos.

A partir de SQL Server 2012 (11.x), SQL Server y Azure SQL DB usaron un hash SHA-512 combinado con una sal aleatoria y única de 32 bits. Este método lo hizo estadísticamente inviable para que los atacantes deducen contraseñas.

SQL Server 2025 (17.x) Preview presenta un algoritmo hash iterado, RFC2898, también conocido como función de derivación de claves basada en contraseña (PBKDF). Este algoritmo sigue usando SHA-512, pero aplica hash a la contraseña varias veces (100 000 iteraciones), lo que ralentiza significativamente los ataques por fuerza bruta. Este cambio mejora la protección con contraseña en respuesta a las amenazas de seguridad en evolución y ayuda a los clientes a cumplir las directrices de NIST SP 800-63b.

Permisos

Requiere el permiso ALTER ANY APPLICATION ROLE en la base de datos.

Ejemplos

En el siguiente ejemplo se crea un rol de aplicación denominado weekly_receipts con la contraseña 987Gbv876sPYY5m23 y con el esquema predeterminado Sales.

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