Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sin importar cual sea el objetivo de nuestra base de datos ya sea educativo,
ventas, finanzas, o gobierno, la seguridad de la DB debe ser siempre
prioritaria.
LeBlanc, 2013
TALLER DE BASE DE DATOS
Existen tres tipos de usuarios en un DBMS, los cuales se distinguen por el
modo como interactúan con el sistema:
LeBlanc, 2013
TALLER DE BASE DE DATOS
• USUARIOS INGENUOS: Usuarios que interactúan con el sistema poco
complejos que interactúan con el sistema llamando algunos de los
programas de aplicación permanentes escritos previamente.
LeBlanc, 2013
TALLER DE BASE DE DATOS
Habilitar la Autenticación de SQL
• Primero debemos abrir SQL Server Management Studio.
• Luego debemos conectarnos por Autenticación de Windows.
TALLER DE BASE DE DATOS
Nota: Existe un usuario creado por defecto en la
instalación con nombre de usuario: “sa”.
• Para administrar con facilidad los permisos en las bases de datos, SQL Server
proporciona varios roles, que son las entidades de seguridad que agrupan a
otras entidades de seguridad. Son como los grupos del sistema operativo
Microsoft Windows. Los roles de nivel de base de datos se aplican a toda la
base de datos en lo que respecta a su ámbito de permisos.
• Existen dos tipos de roles de nivel de base de datos en SQL Server: los roles
fijos de base de datos, que están predefinidos en la base de datos, y los roles
flexibles de base de datos, que pueden crearse.
TALLER DE BASE DE DATOS
Tipos de Roles
Nombre de rol de nivel
Descripción
de base de datos
Los miembros del rol fijo de base de datos db_owner pueden realizar todas las actividades de configuración y
db_owner mantenimiento en la base de datos y también pueden eliminar la base de datos.
Los miembros del rol fijo de base de datos db_securityadmin pueden modificar la pertenencia a roles y
db_securityadmin administrar permisos. Si se agregan entidades de seguridad a este rol, podría habilitarse un aumento de
privilegios no deseado.
Los miembros del rol fijo de base de datos db_accessadmin pueden agregar o quitar el acceso a la base de
db_accessadmin datos para inicios de sesión de Windows, grupos de Windows e inicios de sesión de SQL Server.
Los miembros del rol fijo de base de datos db_backupoperator pueden crear copias de seguridad de la base de
db_backupoperator datos.
Los miembros del rol fijo de base de datos db_ddladmin pueden ejecutar cualquier comando del lenguaje de
db_ddladmin definición de datos (DDL) 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.
Los miembros del rol fijo de base de datos db_denydatareader no pueden leer datos de las tablas de usuario
db_denydatareader dentro de una base de datos.
TALLER DE BASE DE DATOS
Roles de la BD msdb
Nombre de rol de msdb Descripción
db_ssisadmin Los miembros de estos roles de base de datos pueden administrar y utilizar SSIS. Las instancias de
SQL Server que se actualizan desde una versión anterior podrían contener una versión anterior del
db_ssisoperator rol cuya denominación se realizaba utilizando Servicios de transformación de datos (DTS) en lugar de
db_ssisltduser SSIS. Para obtener más información, vea Roles de Integration Services (servicio SSIS).
dc_admin
Los miembros de estos roles de base de datos pueden administrar y utilizar el recopilador de datos.
dc_operator
Para obtener más información, vea Recopilación de datos.
dc_proxy
Los miembros del rol de base de datos db_PolicyAdministratorRole pueden realizar todas las
actividades de mantenimiento y configuración en las condiciones y directivas de Administración
PolicyAdministratorRole
basada en directivas. Para obtener más información, vea Administrar servidores mediante
administración basada en directivas.
ServerGroupAdministrat
orRole Los miembros de estos roles de base de datos pueden administrar y utilizar grupos de servidores
registrados.
ServerGroupReaderRole
Se crea en la base de datos msdb cuando se registra la primera base de datos en el Monitor de
dbm_monitor creación de reflejo de la base de datos. El rol dbm_monitorno tiene miembros hasta que un
administrador del sistema asigna usuarios al rol.
TALLER DE BASE DE DATOS
CREATE ROLE (Transact-SQL)
Sintaxis
CREATE ROLE role_name [ AUTHORIZATION owner_name ]
Argumentos
• role_nameEs el nombre del rol que se va a crear.
• AUTHORIZATION owner_nameEs el usuario o el rol de base de datos que
será propietario del nuevo rol. Si no se especifica un usuario, el rol será
propiedad del usuario que ejecute CREATE ROLE.
TALLER DE BASE DE DATOS
Ejemplos:
USE AdventureWorks2012;
CREATE ROLE buyers AUTHORIZATION BenMiller;
GO
TALLER DE BASE DE DATOS
B. Crear un rol de base de datos que es propiedad de un rol fijo de base de
datos
• Una vista es una tabla virtual cuyo contenido está definido por una consulta.
• Una vista es sencillamente un objeto de base de datos que presenta datos
de tablas. Se trata de una consulta SQL que está permanentemente
almacenada en la Base de datos y a la que se le asigna un nombre, de modo
que los resultados de la consulta almacenada son visibles a través de la vista,
y SQL permite acceder a estos resultados como si fueran de hecho una tabla
real en la base de datos.
• Las tablas y las vistas comparten el mismo espacio de nombres en la base de
datos, por lo tanto, una base de datos no puede contener una tabla y una
vista con el mismo nombre.
TALLER DE BASE DE DATOS
Usos de las Vistas
• Las vistas se pueden utilizar para realizar particiones de datos y para mejorar
el rendimiento cuando se copian, se importan y se exportan datos.
TALLER DE BASE DE DATOS
• Mediante vistas es posible presentar datos de distintos servidores. Por
ejemplo, para combinar datos de distintos servidores remotos o en un
servidor de múltiples procesadores, cada uno de los cuales almacenan datos
para una región distinta de su organización, puede crear consultas
distribuidas o paralelas aumentando la eficiencia de las consultas.
Sintaxis:
USE AdventureWorks2012 ;
GO
CREATE VIEW hiredate_view AS SELECT p.FirstName, p.LastName,
e.BusinessEntityID, e.HireDate
FROM HumanResources.Employee e
JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ;
GO
TALLER DE BASE DE DATOS
Modificación de una Vista
Si queremos, modificar la definición de nuestra vista podemos utilizar la
sentencia ALTER VIEW, de forma muy parecida a como lo hacíamos con las
tablas. En este caso queremos colocar un alias a los campos de nuestra vista:
Sintaxis:
DROP VIEW nombre_vista
Ejemplo 1:
DROP VIEW vista_prestamos
TALLER DE BASE DE DATOS
Ejercicios; utilizando la BD AdventureWorks2012:
• Genere una vista que muestre los 10 productos más vendidos en el
año 2007
• Genere una vista que muestre
TALLER DE BASE DE DATOS
Bibliografía Consultada
Patrick LeBlanc, Microsoft SQL Server 2012 Step by Step. O’Reilly Media
Inc. Sebastopol, CA, USA. 2013. (Traducción realizada por José A.
Sandoval Acosta).
Pratt Philip J., Last Mary Z. SQL, 1ra. Edición. Anaya Multimedia. Madrid,
España. 2009.
Adam Jorgersen, Microsoft SQL Server 2012 Bible. John Wiley & Sons, Inc.
Indianapolis, Indiana. 2012.