sp_addapprole (Transact-SQL)
Agrega una función de aplicación de 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 de la nueva función 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 funciones de aplicación pueden contener entre 1 y 128 caracteres, y pueden incluir letras, símbolos y números. Los nombres de funciones no pueden contener una barra diagonal inversa (\) ni ser NULL ni una cadena vacía ('').
- [ @password = ] 'password'
Es la contraseña requerida para activar la función de aplicación. password es de tipo sysname y no tiene valor predeterminado. password no puede ser NULL.
Notas
En versiones anteriores de SQL Server, los usuarios (y funciones) no se distinguían completamente de los esquemas. En SQL Server 2005, los esquema se distinguen completamente de las funciones. Esta nueva arquitectura se refleja en el comportamiento de CREATE APPLICATION ROLE. Esta instrucción sustituye a sp_addapprole. Para obtener más información, vea Separación de esquemas de usuario.
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 la función de aplicación, se creará dicho esquema. El nuevo esquema será propiedad de la función de aplicación y será el esquema predeterminado de la función de aplicación.
- Si ya existe un esquema con el mismo nombre que la función 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 de la función 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 la nueva función, también se requiere el permiso CREATE SCHEMA en la base de datos.
Valores de código de retorno
0 (correcto) o 1 (error)
Ejemplos
En el siguiente ejemplo se agrega la nueva función de aplicación SalesApp
con la contraseña x97898jLJfcooFUYLKm387gf3
en la base de datos actual.
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO
Vea también
Referencia
CREATE APPLICATION ROLE (Transact-SQL)
Otros recursos
Separación de esquemas de usuario