sp_addrole (Transact-SQL)

Crea una función de base de datos nueva en la base de datos actual.

Nota importanteImportante

sp_addrole se incluye por razones de compatibilidad con versiones anteriores de Microsoft SQL Server y puede que no sea compatible en una versión futura. Utilice CREATE ROLE en su lugar.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] 

Argumentos

  • [ @rolename = ] 'role'
    Es el nombre de la nueva función de base de datos. role es de tipo sysname y no tiene valor predeterminado. role debe ser un identificador (Id.) válido y no tiene que existir previamente en la base de datos actual.

  • [ @ownername =] 'owner'
    Es el propietario de la nueva función de base de datos. owner es de tipo sysname y su valor predeterminado es el usuario actual. owner debe ser un usuario o función de base de datos en la base de datos actual.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

Los nombres de las funciones de base de datos de SQL Server pueden contener de 1 a 128 caracteres, incluidos letras, símbolos y números. Los nombres de las funciones de base de datos no pueden contener un carácter de barra diagonal inversa (\), ser NULL ni ser una cadena vacía ('').

Tras agregar una función de base de datos, utilice sp_addrolemember (Transact-SQL) para agregar entidades de seguridad a esta función. Cuando se utilizan las instrucciones GRANT, DENY o REVOKE para aplicar permisos a la función de base de datos, los miembros de esta función heredan estos permisos como si se aplicaran directamente a sus cuentas.

Nota

No se pueden crear funciones de servidor nuevas. Las funciones sólo pueden crearse en las bases de datos.

sp_addrole no se puede utilizar en una transacción definida por el usuario.

Permisos

Requiere el permiso CREATE ROLE en la base de datos. Si crea un esquema, es necesario el permiso CREATE SCHEMA en la base de datos. Si se especifica owner como un usuario o grupo, es necesario el permiso IMPERSONATE en ese usuario o grupo. Si se especifica owner como una función, es necesario el permiso ALTER en esa función o en un miembro de la misma. Si se especifica owner como una función de aplicación, es necesario el permiso ALTER en esa función de aplicación.

Ejemplos

En el ejemplo siguiente se agrega una nueva función llamada Managers a la base de datos actual.

EXEC sp_addrole 'Managers'