sp_addapprole (Transact-SQL)
Se aplica a: SQL Server
Agrega un rol de aplicación a la base de datos actual.
Importante
Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use CREATE APPLICATION ROLE en su lugar.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_addapprole
[ @rolename = ] N'rolename'
, [ @password = ] N'password'
[ ; ]
Argumentos
[ @rolename = ] N'rolename'
Nombre del nuevo rol de aplicación. @rolename es sysname, sin ningún valor predeterminado. @rolename debe ser un identificador válido y aún no puede existir en la base de datos actual.
Los nombres de roles de aplicación pueden contener entre 1 y 128 caracteres, y pueden incluir letras, símbolos y números. Los nombres de rol no pueden contener una barra diagonal inversa (\
) ni ser NULL
ni una cadena vacía ("").
[ @password = ] N'password'
Contraseña necesaria para activar el rol de aplicación. @password es sysname, sin ningún valor predeterminado. @password no puede ser NULL
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
En versiones anteriores de SQL Server, los usuarios (y los roles) no son totalmente distintos de los esquemas. A partir de SQL Server 2005 (9.x), los esquemas son totalmente distintos de los roles. Esta arquitectura se refleja en el comportamiento de CREATE APPLICATION ROLE
. Esta instrucción reemplaza sp_addapprole
a .
Para mantener la compatibilidad con versiones anteriores de SQL Server, sp_addapprole
realiza las siguientes comprobaciones:
Si aún no existe un esquema con el mismo nombre que el rol de aplicación, se crea el esquema. El nuevo esquema es propiedad del rol de aplicación y es el esquema predeterminado del rol de aplicación.
Si ya existe un esquema con el mismo nombre que el rol de aplicación, se produce un error en el procedimiento.
sp_addapprole
no comprueba la complejidad de la contraseña. La complejidad de la contraseña se comprueba medianteCREATE APPLICATION ROLE
.
El parámetro @password se almacena como un hash unidireccional.
El sp_addapprole
procedimiento almacenado no se puede ejecutar desde dentro de una transacción definida por el usuario.
Importante
SqlClient no admite la opción ODBC encrypt
de Microsoft. Cuando pueda, pida a los usuarios que escriban las credenciales del rol de aplicación en tiempo de ejecución. No guarde las credenciales en un archivo. Si debe conservar las credenciales, cífrelas con las funciones CryptoAPI.
Permisos
Requiere el permiso ALTER ANY APPLICATION ROLE en la base de datos. Si aún no existe un esquema con el mismo nombre y propietario que el nuevo rol, también requiere el permiso CREATE SCHEMA en la base de datos.
Ejemplos
En el ejemplo siguiente se agrega el nuevo rol SalesApp
de aplicación con la contraseña x97898jLJfcooFUYLKm387gf3
a la base de datos actual.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3';
GO