Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Esta instrucción cambia el nombre, la contraseña o el esquema predeterminado de un rol de aplicación.
Convenciones de sintaxis de Transact-SQL
Sintaxis
ALTER APPLICATION ROLE application_role_name
WITH <set_item> [ , ...n ]
<set_item> ::=
NAME = new_application_role_name
| PASSWORD = 'password'
| DEFAULT_SCHEMA = schema_name
Argumentos
application_role_name
Nombre del rol de aplicación que se va a modificar.
NAME = new_application_role_name
Especifica el nuevo nombre del rol de aplicación. Ninguna entidad de seguridad de la base de datos debe utilizar este nombre.
PASSWORD = 'contraseña'
Especifica la contraseña del rol de aplicación.
password
debe cumplir los requisitos de la directiva de contraseñas de Windows del equipo que ejecuta la instancia de SQL Server. Debe utilizar siempre contraseñas seguras.
DEFAULT_SCHEMA = schema_name
Especifica el primer esquema donde buscará el servidor cuando resuelva los nombres de objetos. schema_name puede ser un esquema que no existe en la base de datos.
Comentarios
Si el nuevo nombre de rol de aplicación ya existe en la base de datos, se produce un error en la instrucción . Cuando se cambia el nombre, la contraseña o el esquema predeterminado de un rol de aplicación, no se cambia el identificador asociado al rol.
Importante
La directiva de expiración de contraseñas no se aplica a las contraseñas de rol de aplicación. Por esta razón, debe extremar las precauciones y seleccionar contraseñas seguras. Las aplicaciones que invocan roles de aplicación deben almacenar sus propias contraseñas.
Los roles de aplicación están visibles en la vista de sys.database_principals
catálogo.
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. Para cambiar el esquema predeterminado, el usuario también tiene que cambiar el permiso en el rol de aplicación. Un rol de aplicación puede alterar su propio esquema predeterminado, pero no su nombre ni su contraseña.
Ejemplos
Un. Cambiar el nombre de un rol de aplicación
En el ejemplo siguiente, se cambia el nombre del rol de aplicación de weekly_receipts
a receipts_ledger
.
USE AdventureWorks2022;
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
WITH NAME = receipts_ledger;
GO
B. Cambiar la contraseña de un rol de aplicación
En el ejemplo siguiente, se cambia la contraseña del rol de aplicación receipts_ledger
.
ALTER APPLICATION ROLE receipts_ledger
WITH PASSWORD = '897yUUbv867y$200nk2i';
GO
C. Cambiar el nombre, la contraseña y el esquema predeterminado
En el ejemplo siguiente, se cambia el nombre, la contraseña y el esquema predeterminado del rol de aplicación receipts_ledger
en la misma operación.
ALTER APPLICATION ROLE receipts_ledger
WITH NAME = weekly_ledger,
PASSWORD = '897yUUbv77bsrEE00nk2i',
DEFAULT_SCHEMA = Production;
GO