sp_addrole (Transact-SQL)

Crea un rol de base de datos nuevo 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 temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

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

  • [ @ownername =] 'owner'
    Es el propietario del nuevo rol de base de datos. owner es de tipo sysname y su valor predeterminado es el usuario actual. owner debe ser un usuario o rol 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 los roles de base de datos de SQL Server pueden contener de 1 a 128 caracteres, incluidos letras, símbolos y números. Los nombres de los roles de base de datos no pueden contener un carácter de barra diagonal inversa (\), ser NULL ni ser una cadena vacía ('').

Tras agregar un rol de base de datos, utilice sp_addrolemember (Transact-SQL) para agregar entidades de seguridad a este rol. Cuando se utilizan las instrucciones GRANT, DENY o REVOKE para aplicar permisos al rol de base de datos, los miembros de este rol heredan estos permisos como si se aplicaran directamente a sus cuentas.

[!NOTA]

No se pueden crear roles de servidor nuevos. Los roles solo 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 un rol, es necesario el permiso ALTER en ese rol o en un miembro del mismo. Si se especifica owner como rol de aplicación, es necesario el permiso ALTER en ese rol de aplicación.

Ejemplos

En el ejemplo siguiente se agrega un nuevo rol llamado Managers a la base de datos actual.

EXEC sp_addrole 'Managers'

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)

Procedimientos almacenados de seguridad (Transact-SQL)

CREATE ROLE (Transact-SQL)