sp_addapprole (Transact-SQL)
Agrega un rol de aplicación a la base de datos actual.
Importante |
---|
Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, use CREATE APPLICATION ROLE. |
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password'
Argumentos
[ @rolename = ] 'role'
Es el nombre del nuevo rol de aplicación. role es de tipo sysname y no tiene valor predeterminado. role debe ser un identificador válido y no puede ser un identificador que ya exista 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 roles no pueden contener una barra diagonal inversa (\) ni ser NULL ni una cadena vacía ('').
[ @password = ] 'password'
Es la contraseña necesaria para activar el rol de aplicación. password es de tipo sysname y no tiene valor predeterminado. password no puede ser NULL.
Valores de código de retorno
0 (correcto) o 1 (error)
Comentarios
En versiones anteriores de SQL Server, los usuarios (y roles) no se distinguían completamente de los esquemas. A partir de SQL Server 2005, los esquemas son totalmente distintos de los roles. Esta nueva arquitectura se refleja en el comportamiento de CREATE APPLICATION ROLE. Esta instrucción sustituye a sp_addapprole.
Para mantener la compatibilidad con versiones anteriores de SQL Server, sp_addapprole hará lo siguiente:
Si no existe un esquema con el mismo nombre que el rol de aplicación, se creará dicho esquema. El nuevo esquema será propiedad del rol de aplicación y será el esquema predeterminado del rol de aplicación.
Si ya existe un esquema con el mismo nombre que el rol de aplicación, el procedimiento generará un error.
sp_addapprole no comprueba la complejidad de la contraseña. La complejidad de la contraseña la comprueba CREATE APPLICATION ROLE.
El parámetro password se almacena como un hash de un sentido.
El procedimiento almacenado sp_addapprole no se puede ejecutar en una transacción definida por el usuario.
Nota de seguridad |
---|
SqlClient no admite la opción de encrypt de Microsoft ODBC. 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 de esquema y propietario que el nuevo rol, también se requiere el permiso CREATE SCHEMA en la base de datos.
Ejemplos
En el siguiente ejemplo se agrega el nuevo rol de aplicación SalesApp con la contraseña x97898jLJfcooFUYLKm387gf3 en la base de datos actual.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO