sp_addrole (Transact-SQL)
Se aplica a: SQL Server
Crea un rol de base de datos nuevo en la base de datos actual.
Importante
sp_addrole
se incluye para la compatibilidad con versiones anteriores de SQL Server y es posible que no se admita en una versión futura. Use CREATE ROLE en su lugar.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_addrole
[ @rolename = ] N'rolename'
[ , [ @ownername = ] N'ownername' ]
[ ; ]
Argumentos
[ @rolename = ] N'rolename'
Nombre del nuevo rol de base de datos. @rolename es sysname, sin ningún valor predeterminado. @rolename debe ser un identificador válido y no debe existir en la base de datos actual.
[ @ownername = ] N'ownername'
Propietario del nuevo rol de base de datos. @ownername es sysname, con un valor predeterminado del usuario en ejecución actual. @ownername debe ser un usuario de base de datos o un rol de base de datos en la base de datos actual.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
Los nombres de los roles de base de datos de SQL Server pueden contener de 1 a 128 caracteres, incluidas 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
o una cadena vacía (''
).
Después de agregar un rol de base de datos, use sp_addrolemember para agregar entidades de seguridad al rol. Cuando GRANT
se usan instrucciones , DENY
o REVOKE
para aplicar permisos al rol de base de datos, los miembros del rol de base de datos heredan esos permisos como si los permisos se aplicaran directamente a sus cuentas.
Nota:
No se pueden crear nuevos roles de servidor. Los roles solo pueden crearse en las bases de datos.
sp_addrole
no se puede usar dentro de una transacción definida por el usuario.
Permisos
Debe tener el permiso CREATE ROLE
para la base de datos. Si crea un esquema, requiere CREATE SCHEMA
en la base de datos. Si @ownername se especifica como un usuario o grupo, requiere IMPERSONATE
en ese usuario o grupo. Si @ownername se especifica como un rol, requiere ALTER
permiso para ese rol o en un miembro de ese rol. Si el propietario se especifica como rol de aplicación, requiere ALTER
permiso para 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';