Permisos de los roles fijos de base de datos (motor de base de datos) Los roles fijos de base de datos se pueden asignar a permisos más detallados que se incluyen en SQL Server. Los roles fijos de base de datos se proporcionan por comodidad y también por mantener la compatibilidad con las versiones anteriores. Siempre que sea posible asigne permisos más específicos. La tabla siguiente describe la asignación de roles fijos de base de datos a permisos.
Rol fijo de base de datos
Permiso en la base de datos
Se le conceden: L!"# $% &S"#' (#"!" S()"* db_accessadmin Se le concede con la opción +#$!: (,$$"(!
Permiso en el servidor
Se le concede: -"/ $% 0! 0!1 1S" S"
db_backupoperator
Se le conceden: concede n: 1(2&3 0!1S"' 0!1S"' 1(2&3 L,+' ()"(23,$!
Se le concede: -"/ $% 0! 0!1 1S" S"
db_datareader
Se le concede: S"L"(!
Se le concede: -"/ $% 0! 0!1 1S" S"
db_datawriter
Se le conceden: concede n: 0"L"!"' $S"#!' &30!" &30!"
Se le concede: -"/ $% 0! 0!1 1S" S"
db_ddladmin
Se le conceden c onceden:: L!"# $% SS"*1L%' SS"*1L%' L!"# L!"# $% S%**"!#( 2"%' L!"# $% ("#!4(!"' L!"# $% (,$!#(!' L!"# $% 0!1S" 00L !#++"#' L!"# $% 0!1S" "-"$!' $,!4(!,$' L!"# $% 0!S3("' L!"# $% 4&LL!"5! (!L,+' L!"# $% *"SS+" !%3"' L!"# $% #"*,!" Se le concede: -"/ S"#-(" 1$0$+' L!"# L!"# $% #,&!"' L!"# $% S()"*' $% 0! 0!1 1S" S" L!"# L!"# $% $% S"#-("' S"#-("' L!"# L!"# $% S%**"!#( S%**"!#( 2"%' 2"%' ()"(23,$! ()"(23,$!'' (#"!" ++#"+!"' (#"!" 0"4&L!' (#"!" 4&$(!,$' (#"!" 3#,("0"' (#"!" Q&"&"' (#"!" #&L"' (#"! (#" !" " S%$,$%*' (#"!" !1L"' !1L"' (#"!" !%3"' (#"!" -"/' (#"! (#" !" " 5*L S()"* (,LL"(!,$' #"4"#"$("S
db_denydatareader
Se le deniega: S"L"(!
db_denydatawriter
Se le deniegan: deniega n: 0"L"!"' $S"#!' &30!"
db_owner
Se le concede con la opción +#$!: (,$!#,L
Se le concede: -"/ $% 0! 0!1 1S" S"
Se le concede: -"/ $% 0! 0!1 1S" S"
db_securityadmin
Se le conceden: L!"# $% 33L(!,$ #,L"' L!"# $% #,L"' Se le concede: -"/ (#"!" S()"*' -"/ 0"4$!,$ $% 0!1S"
Se le concede: -"/ para el estado más reciente en el *onitor de creación de reflejo de la base de datos dbm_monitor
Se le concede: -"/ Importante $% 0!1S" "l rol fijo de la base de datos dbm_monitor se crea en la base de datos msdb cuando se registra la primera base de datos en el *onitor de creación de reflejo de la base de datos. "l nuevo rol dbm_monitor no tiene miembros 6asta que un administrador del sistema asigne usuarios al rol.
Los roles fijos de base de datos no son equivalentes a su permiso de nivel de base de datos. 3or ejemplo' el rol fijo de base de datos db_owner tiene el permiso (,$!#,L 0!1S". 3ero la concesión del permiso (,$!#,L 0!1S" no convierte a un usuario en miembro del rol fijo de base de datos db_owner . Los miembros del rol fijo de base de datos db_owner se identifican como el usuario dbo en las bases de datos' pero los usuarios con el permiso (,$!#,L 0!1S"' no.
Roles fijos de Nivel de Servidor "n la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.
Rol fijo de nivel de servidor
Descripcin
sysadmin
Los miembros del rol fijo de servidor sysadmin pueden reali7ar cualquier actividad en el servidor.
serveradmin
Los miembros del rol fijo de servidor serveradmin pueden cambiar las opciones de configuración del servidor y apagarlo. Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. dministran los permisos de servidor +#$!' 0"$% y #"-,2". !ambién pueden administrar los permisos de nivel de base de datos +#$!' 0"$% y #"-,2" si tienen acceso a una base de datos. simismo' pueden restablecer las contrase8as para los inicios de sesión de SQL Server.
securityadmin Nota de se!uridad La capacidad de conceder acceso a *otor de base de datos y configurar los permisos de usuario permite que el administrador de seguridad asigne la mayoría de los permisos de servidor. "l rol securityadmin se debe tratar como equivalente al rol sysadmin.
processadmin
Los miembros del rol fijo de servidor processadmin pueden finali7ar los procesos que se ejecuten en una instancia de SQL Server.
setupadmin
Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados mediante instrucciones !ransact9SQL. Se necesita la pertenencia a sysadmin cuando se utili7a *anagement Studio;.
bul
Los miembros del rol fijo de servidor bul
dis
"l rol fijo de servidor dis
dbcreator
Los miembros del rol fijo de servidor dbcreator pueden crear' modificar' quitar y restaurar cualquier base de datos.
public
(ada inicio de sesión de SQL Server pertenece al rol de servidor public. (uando a una entidad de seguridad de servidor no se le 6an concedido ni denegado permisos específicos para un objeto protegible' el usuario 6ereda los permisos concedidos al rol public para ese objeto. Solo asigne permisos p=blicos en cualquier objeto cuando desee que el objeto esté disponible para todos los usuarios. $o puede cambiar la pertenencia en public. Nota public se implementa de manera diferente que otros roles. Sin embargo' se pueden conceder' denegar o revocar permisos desde public.
Roles de nivel de base de datos "n la tabla siguiente se muestran los roles fijos de nivel de base de datos y sus capacidades. "stos roles e>isten en todas las bases de datos.
Nombre de rol de nivel de base de datos
Descripcin
db_owner
Los miembros del rol fijo de base de datos db_owner pueden reali7ar todas las actividades de configuración y mantenimiento en la base de datos y también pueden quitar la base de datos.
db_securityadmin
Los miembros del rol fijo de base de datos db_securityadmin pueden modificar la pertenencia a roles y administrar permisos. Si se agregan entidades de seguridad a este rol' podría 6abilitarse un aumento de privilegios no deseado.
db_accessadmin
Los miembros del rol fijo de base de datos db_accessadmin pueden agregar o quitar el acceso a la base de datos para inicios de sesión de /indo?s' grupos de /indo?s e inicios de sesión de SQL Server.
db_backupoperator
Los miembros del rol fijo de base de datos db_backupoperator pueden crear copias de seguridad de la base de datos.
db_ddladmin
Los miembros del rol fijo de base de datos db_ddladmin pueden ejecutar cualquier comando del lenguaje de definición de datos 00L; en una base de datos.
db_datawriter
Los miembros del rol fijo de base de datos db_datawriter pueden agregar' eliminar o cambiar datos en todas las tablas de usuario.
db_datareader
Los miembros del rol fijo de base de datos db_datareader pueden leer todos los datos de todas las tablas de usuario.
db_denydatawriter
Los miembros del rol fijo de base de datos db_denydatawriter no pueden agregar' modificar ni eliminar datos de tablas de usuario de una base de datos.
db_denydatareader
Los miembros del rol fijo de base de datos db_denydatareader no pueden leer datos de las tablas de usuario dentro de una base de datos.
Roles de msdb
SQL Server ntegration Services 9 SSS;
La base de datos msdb contiene los roles con fines especiales que se muestran en la tabla siguiente.
Nombre de rol de msdb
Descripcin
db_ssisadmin db_ssisoperator db_ssisltduser
Los miembros de estos roles de base de datos pueden administrar y utili7ar SSS. Las instancias de SQL Server que se actuali7an desde una versión anterior podrían contener una versión anterior del rol cuya denominación se reali7aba utili7ando Servicios de transformación de datos 0!S; en lugar de SSS.
dc_admin dc_operator dc_pro"y
Los miembros de estos roles de base de datos pueden administrar y utili7ar el recopilador de datos.
Policy#dministratorRole
Los miembros del rol de base de datos db_Policy#dministratorRole pueden reali7ar todas las actividades de mantenimiento y configuración en las condiciones y directivas de dministración basada en directivas.
Server$roup#dministratorRole Los miembros de estos roles de base de datos pueden administrar y utili7ar grupos de Server$roupReaderRole servidores registrados.
dbm_monitor
Se crea en la base de datos msdb cuando se registra la primera base de datos en el *onitor de creación de reflejo de la base de datos. "l rol dbm_monitor no tiene miembros 6asta que un administrador del sistema asigna usuarios al rol.
%rabajar con roles de nivel de base de datos "n la tabla siguiente se e>plican los comandos' las vistas y las funciones que se usan para trabajar con los roles de nivel de base de datos.
&aracter'stica
%ipo
Descripcin
sp@6elpdbfi>edrole !ransact9 SQL;
*etadatos 0evuelve la lista de los roles fijos de base de datos.
sp@dbfi>edrolepermission !ransact9SQL;
*etadatos *uestra los permisos de un rol fijo de base de datos.
sp@6elprole !ransact9SQL;
*etadatos
0evuelve información acerca de los roles de la base de datos actual.
sp@6elprolemember !ransact9 SQL;
*etadatos
0evuelve información acerca de los miembros de un rol de la base de datos actual.
sys.database@role@members !ransact9SQL;
*etadatos
0evuelve una fila por cada miembro de cada rol de base de datos.
S@*"*1"# !ransact9SQL;
ndica si el usuario actual es miembro del grupo de *icrosoft *etadatos /indo?s o del rol de base de datos de SQL Server especificados.
(#"!" #,L" !ransact9SQL;
(omando (rea un nuevo rol de base de datos en la base de datos actual.
L!"# #,L" !ransact9SQL;
(omando (ambia el nombre de un rol de base de datos.
0#,3 #,L" !ransact9SQL;
(omando Quita un rol de la base de datos.
sp@addrole !ransact9SQL;
(omando (rea un nuevo rol de base de datos en la base de datos actual.
sp@droprole !ransact9SQL;
(omando Quita un rol de base de datos de la base de datos actual.
sp@addrolemember !ransact9
(omando grega un usuario de base de datos' un rol de base de datos'
un inicio de sesión de /indo?s o un grupo de /indo?s a un rol de base de datos en la base de datos actual.
SQL;
sp@droprolemember !ransact9 SQL;
(omando
Quita una cuenta de seguridad de un rol de SQL Server de la base de datos actual.
Permisos de nivel de servido r Solo se pueden agregar a los roles de servidor definidos por el usuario los permisos de nivel de servidor. 3ara enumerar los permisos de nivel de servidor' ejecute la instrucción siguiente. Los permisos de nivel de servidor son: AB!ransact9SQLBA S"L"(! B 4#,* sys.fn@builtin@permissionsCS"#-"#C; ,#0"# 1% permission@nameD %rabajar con roles de nivel de servidor "n la tabla siguiente se e>plican los comandos' las vistas y las funciones que se pueden utili7ar para trabajar con roles de nivel de servidor.
&aracter'stica
%ipo
Descripcin
sp@6elpsrvrole !ransact9SQL; *etadatos 0evuelve una lista de roles de nivel de servidor.
sp@6elpsrvrolemember !ransact9SQL;
*etadatos
0evuelve información acerca de los miembros de un rol de nivel de servidor.
sp@srvrolepermission !ransact9 *etadatos *uestra los permisos de un rol de nivel de servidor. SQL;
S@S#-#,L"*"*1"# !ransact9SQL;
*etadatos
ndica si un inicio de sesión de SQL Server es miembro del rol de nivel de servidor especificado.
sys.server@role@members !ransact9SQL;
*etadatos
0evuelve una fila por cada miembro de cada rol de nivel de servidor.
sp@addsrvrolemember !ransact9SQL;
(omando
grega un inicio de sesión como miembro de un rol de nivel de servidor. 0esusado. &tilice L!"# S"#-"# #,L" en su lugar.
sp@dropsrvrolemember !ransact9SQL;
Quita un inicio de sesión de SQL Server o un usuario o grupo de (omando /indo?s de un rol de nivel de servidor. 0esusado. &tilice L!"# S"#-"# #,L" en su lugar.
(#"!" S"#-"# #,L" !ransact9SQL;
(omando (rea un rol de servidor definido por el usuario.
L!"# S"#-"# #,L"
(omando (ambia la pertenencia de un rol de servidor o cambia el nombre
!ransact9SQL;
de un rol de servidor definido por el usuario.
0#,3 S"#-"# #,L" !ransact9SQL;
(omando Quita un rol de servidor definido por el usuario.
S@S#-#,L"*"*1"# !ransact9SQL;
4unción
0etermina la pertenencia del rol de servidor.
"jemplos
"n los ejemplos de esta sección se muestra cómo se recupera la información sobre permisos. . 0evolver la lista completa de los permisos que pueden concederse. La siguiente instrucción devuelve todos los permisos de *otor de base de datos mediante la función fn@builtin@permissions. 3ara obtener más información' vea sys.fn@builtin@permissions !ransact9 SQL;. S"L"(! B 4#,* fn@builtin@permissionsdefault;D +,
1. 0evolver los permisos de una clase de objetos concreta "n el ejemplo siguiente se usa fn@builtin@permissions para ver todos los permisos que están disponibles para una categoría de elemento protegible. "l ejemplo devuelve permisos de ensamblados. S"L"(! B 4#,* fn@builtin@permissionsCassemblyC;D +,
(. 0evolver los permisos de un objeto concedidos a la entidad de seguridad que se ejecuta "n el ejemplo siguiente se usa fn@my@permissions para devolver una lista de los permisos efectivos que son retenidos por la entidad de seguridad de la llamada sobre un elemento protegible específico. "l ejemplo devuelve los permisos de un objeto denominado ,rdersEE. 3ara obtener más información' vea sys.fn@my@permissions !ransact9SQL; . S"L"(! B 4#,* fn@my@permissionsC,rdersEEC' CobjectC;D +,
0. 0evolver los permisos aplicables a un objeto especificado "l ejemplo siguiente devuelve los permisos aplicables a un objeto denominado %ttrium. ,bserve que la función integrada ,1F"(!@0 se utili7a para recuperar el identificador del objeto %ttrium. S"L"(! B 4#,* sys.database@permissions /)"#" major@id G ,1F"(!@0C%ttriumC;D +,