You are on page 1of 33

ADMINISTRACIÓN

DE LA SEGURIDAD
Ing. Betty Suárez Torres
REGISTRO DE SERVIDORES
Colocar el nombre del
equipo donde está
ejecutándose el Servidor
SQL Server, tanto si es local
como si es remoto o bien la
dirección IP de dicho
equipo.

Se usa nombre de servidor


registrado cuando el
nombre del servidor es una
dirección IP
TRANSACT - SQL
--Agrega un servidor
sp_addlinkedserver @server = N'LizPC', @srvproduct=N'SQL
Server'

--Agrega un servidor EXEC sp_addserver 'new_server_name',


'local'
sp_addserver 'lizi', 'local'

--Visualiza servidores instalados


sp_helpserver

--Elimina un servidor
sp_dropserver 'Liz-PC'
--El siguiente código prueba la conexión al servidor vinculado
--En este ejemplo se devuelven los nombres de las bases de datos
del servidor vinculado.
SELECT name FROM [LizPC].master.sys.sysdatabases

--Propiedades
SELECT SERVERPROPERTY('ProductVersion') AS
'Versión del producto', SERVERPROPERTY('ProductLevel')
AS 'Nivel del producto', SERVERPROPERTY('Edition') AS Edición,
SERVERPROPERTY('EngineEdition') AS 'Edición del motor',
SERVERPROPERTY('InstanceName') AS 'Nombre de la instancia',
SERVERPROPERTY('MachineName') AS 'Nombre de la PC',
SERVERPROPERTY('ServerName') AS 'Nombre del servidor'
--Devuelve una lista de todos los inicios de sesión del servidor local
--y sus inicios de sesión coincidentes en el servidor vinculado
SELECT local.name AS LocalLogins, vinculado.name AS
LinkedLogins FROM master.sys.server_principals AS local
LEFT JOIN [LIZPC].master.sys.server_principals AS vinculado
ON local.name = 'Liz-PC'

SELECT local.name AS LocalLogins FROM


master.sys.server_principals AS local

SELECT vinculado.name AS LinkedLogins FROM


LIZPC.master.sys.server_principals AS vinculado

--Todos los inicios de sesión en el servidor local se conectan a


través del servidor vinculado
sp_addlinkedsrvlogin 'LizPC'
MANEJO DE SCHEMAS
• Los esquemas permiten un manejo mucho mas dinámico en
comparación con los usuarios de versiones anteriores
• Permite la creación de estructuras jerárquicas y agrupar
tablas bajo un mismo nombre
• Permite un manejo granular de los permisos sobre los
objetos
Beneficios
• Los esquemas facilitan un espacio de nombres (namespace),
por lo que también nos permitirán organizar y agrupar
nuestros objetos y también facilitan la configuración de
seguridad (GRANT, DENY, REVOKE) al poder conceder
permisos sobre todos los objetos contenidos en un esquema
mediante una única instrucción.
SINTAXIS DE CREACIÓN DE SCHEMAS
--Creamos esquemas
create schema ventas authorization dbo
create schema compras authorization dbo
create schema rrhh authorization dbo
--Listar esquemas
select * from sys.schemas where principal_id=1
--Verificar el esquema al que pertenece una tabla
select * from information_schema.columns
where table_name='cliente'
APLICACIÓN DE SCHEMAS

--Asignarle uno de los esquemas creados a las tablas


alter schema ventas transfer cliente
alter schema rrhh transfer empleado
--Verificar el esquema asignado a la tabla cliente
select * from ventas.information_schema.columns where
table_name='cliente'
--Crear tabla usando schema
create table [rrhh].beneficios(
idbeneficio int primary key,
desbeneficio varchar(30) not null)
INICIOS DE SESIÓN
FUNCIONES FIJAS DEL SERVIDOR
Función Finalidad
bulkadmin Administrar las operaciones de BCP y Bulk Insert
dbcreator Crear bases de datos
diskadmin Administrar los recursos en disco
processadmin Administrar las conexiones e inicia/detiene una instancia

securityadmin Crear, modificar y eliminar inicios de sesión, pero no puede


modificar contraseña. No puede administrar inicios de
sesión que sean miembros de la función sysadmin

serveradmin Realiza las mismas operaciones que diskadmin y


processadmin, pero además administra extremos, modifica
los ajustes de configuración de la instancia y cierra la
instancia
setupadmin Administrar servidores vinculados
sysadmin Puede realizar cualquier acción dentro de la instancia
--Crear un inicio de sesión
CREATE LOGIN ejemplo WITH PASSWORD =
'123‘, CHECK_POLICY=ON, CHECK
EXPIRATION=ON
--Cambiar contraseña de un inicio de sesión
ALTER LOGIN ejemplo WITH PASSWORD = '111‘
--Cambiar nombre de inicio de sesión
ALTER LOGIN ejemplo WITH NAME =
ejemplo_prueba
--Eliminar un inicio de sesión
DROP LOGIN ejemplo
USUARIOS Y GRUPOS DE USUARIOS

USUARIOS ADMINISTRATIVOS
Estos usuarios disfrutan de un novel de acceso
especial respecto del ámbito de acceso.
Los miembros de la función db_owner son
administradores de la base de datos, los miembros
de la función sysadmin son administradores de la
instancia al completo.
Si el usuario pertenece a la función db_owner ,
SQL deja de comprobar los permisos dentro de la
base de datos.
Se puede
insertar datos?
FUNCIONES DE LA BASE DE DATOS
Función Finaldad

Db_accessadmin Agrega o elimina usuarios en la base de datos

Db_backuoperator Crea copias de seguridad de la base de datos. No puede restaurar una base de
datos no ver información contenida en la misma

Db_datareader Emite una declaración SELECT para todas las tablas, vistas y funciones dentro
de la base de datos
Db_datawriter Emite instrucciones INSERT, UPDATE, DELETE y MERGE para todas las tablas
de la base de datos. Los miembros de esta función deben además ser miembros
de la función db_datareader

Db_ddladmin Ejecuta declaraciones DDL

Db_denydatareade Deniega instrucciones SELECT sobre tablas, vistas y funciones de la base de


r datos
Db_owner Propietaria de la base de datos. Tiene pleno control sobre la base de datos y
todos los objetos contenidos de la misma
Db_securityadmin Administra la pertenencia a las funciones y permisos asociados. No puede
administrar la pertenencia a la función db_owner

public Grupo por defecto al que pertenecen todos los usuarios en cualquier base de
datos
--Usuario sin login
create user ejemplousuario without
login

--Usuario con login asignado


create login ejemplo2 with
password='123'
create user usuarioprueba1 for login
ejemplo2
COPIAS DE SEGURIDAD DE
BASES DE DATOS
COPIAS DE SEGURIDAD
Los miembros de la función sysadmin pueden
crear copias de seguridad de cualquier base de
datos.
Los miembros de la función db_owner pueden
crear copias de seguridad de sus propias bases de
datos.
Los miembros de la función db_backupoperator
pueden crear copias de seguridad de la base de
datos al mismo tiempo que se impide cualquier
otro tipo de acceso a la misma.
TIPOS DE COPIA DE SEGURIDAD
1. Completa
Copia que captura todas las páginas de una base de
datos que contienen datos. Esta copia es obligatoria
antes de utilizar una copia diferencial o del registro
de transacciones. Las dos únicas operaciones no
permitidas durante la creación de la copia de
seguridad completa son la adición o eliminación de
un archivo de la base de datos y la reducción de una
base de datos:
backup database VENTAS to disk=‘ventas_copia.bak’
b. backup database ventas to disk=‘ventas_copia1.bak‘ mirror to
disk=‘ventas_copia2.bak‘ with compression, init, format, checksum,
stop_on_error
Donde:
Mirror to: ofrece la posibilidad de crear 4 copias simultáneas de una
sola copia de seguridad
Init/Noinit: controlan si un archivo de copia de seguridad existente se
ha sobreescrito o si se ha anexado algo al mismo tiempo.
Checksum: verifica el valor de la suma de la página antes de escribir la
página en la copia de seguridad.
Stop_on_error: comportamiento por defecto para los errores
encontrados durante la creación de una copia.
Continue_past_error: ignora el error y crea copias de seguridad de
tantas páginas como sea posible.
TIPOS DE COPIA DE SEGURIDAD …
2. Diferencial
Esta copia captura las extensiones que han cambiado desde la
creación de la última copia de seguridad completa.
backup database ventas to disk=‘ventas_copiad.dif' mirror to
disk='ventas_copiad1.dif‘ with differential, compression, init,
format, checksum, stop_on_error
3. Del registro de transacciones
Las copias de este tipo sólo pueden contener los cambios
realizados dentro del registro de transacciones. Es necesario una
copia de seguridad completa para crear una copia de seguridad
del registro de transacciones.
Esta copia también recibe el nombre de copia de seguridad
incremental
RESTAURAR COPIAS DE SEGURIDAD
• Restaurar una copia de seguridad en estado de
recuperación
restore database ventas from disk=‘ventas_copia.bak‘ with
standby ='C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\venta
s_copia.bak'
Donde:
Standby permite usar la instrucción SELECT mientras se
sigue haciendo restauraciones diferenciales o de registro de
transacciones adicionales.
• Restaurar una copia de seguridad completa
restore database ventas from copia

You might also like