Curso de administración de SQL Server, incluye temas como backup y restore, infraestructura de seguridad, programación de tareas, servicios, instalar SQL Server y otros. Accede a estas slides para ver todo el detalle
2. Agenda
Visión general del producto
Administración
Implementación (T-SQL)
3. Agenda (administración)
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
4. Agenda (implementación)
Introducción
Elementos de Transact SQL
– DDL, DCL y DML
– Procedimientos almacenados (SP)
– Funciones definidas por el usuario (UDF)
– Triggers (desencadenadores)
– Mejora del rendimiento
5. Agenda
Visión general del producto
Administración
Implementación (T-SQL)
6. Servicios
Motor Cliente / Servidor
Servicios
7. Componentes (2005)
Integration Services
Analysis Services Notification Services
SQL Server 2005
Full-Text Search Relational Database Reporting Services
Engine
.NET CLR
Replication Service Broker
Native HTTP Support
8. Agenda
Visión general del producto
Administración
Implementación (T-SQL)
9. Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
10. Instalación
Recomendaciones generales
– No instalar las bases de datos en la
misma partición que el S.O.
– Personalizada
– Instalar último Service Pack
Ver documento de instalación
12. Herramientas
SQL Server Management Studio
Configuración de superficie (S.A.C.)
SQL Server Configuration Manager
SQL Server Profiler
Business Intelligence Dev. Studio BIDS
*** Libros en Pantalla ***
13. Herramientas
Demo
– “Manos a la obra, veamos las
herramientas”
– Propiedades del servidor (desde el SQL
Server Management Studio)
14. Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
15. Objetos de BBDD
Diagramas
Esquemas (2005)
Tablas
– Constraints
– Triggers (DML y DDL -2005-)
– Indices
Clustered (agrupados)
Non Clustered (no agrupados)
16. Objetos de BBDD
Vistas
Procedimientos almacenados
Funciones Definidas por el Usuario
Usuarios (Users)
Funciones (Roles)
17. Objetos de BBDD
Demo
– “Veamos estos objetos desde el SQL
Server Management Studio”
– “Veamos los archivos .mdf, .ndf y .ldf
desde el explorador de windows”
18. Tipos de datos (v. BOL)
bigint char / nchar
int varchar / nvarchar
smallint text / ntext
tinyint binary
bit varbinary
decimal - numeric image
float cursor
Real sql_variant
Money / smallmoney table
datetime timestamp
smalldatetime uniqueidentifier
19. Desbordamiento 8Kb
Máxima longitud de fila 8060 bytes
Restricción menos estricta en 2005
– Varchar, nvarchar, varbinary, sql_variant pueden
superar la restricción
– Hasta 8000bytes por columna
– Unidad de asignación ROW_OVERFLOW_DATA
en lugar de IN_ROW_DATA
– No se pueden incluir columnas que produzcan
este desbordamiento en índices clustered
20. Ejercicios
Creación de una base de datos
Creación de tablas de ejemplo
Creación de Restricciones (PK, not null, …)
Creación del diagrama de base de datos
Implementación de lntegridad Referencial
Declarativa
Generar secuencia de comandos SQL
21. Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
23. Conceptos básicos
Inicios de sesión (Logins)
– Acceso al servidor
Usuarios (Users)
– Acceso a la base de datos
Autenticación
– Windows (por defecto)
– Mixta (SQL y Windows)
El „SA‟
24. Autenticación
Windows vs. SQL
Ventajas Windows
– Mayor seguridad
– Atributos password windows (longitud)
– Auditoría (desde el s.o.)
– Bloqueo de cuentas por reintentos
– Kerberos
25. Autenticación
Windows vs. SQL
Desventajas Windows
– De no haber un controlador de dominio
disponible no se podrá conectar
– Sólo usuarios del dominio
– Los cambios en la seguridad tendrán
efecto al iniciar una sesión
– El DBA necesita derechos en el servidor
para hacer estos cambios
27. Conceptos básicos - roles
Roles fijos de servidor
(Fixed Server Roles)
Roles fijos de base de datos
(Fixed Database Roles)
Roles de base de datos definidos por
el usuario
(user-defined database roles)
Roles de aplicación (aplication roles)
28. Fixed Server Roles
sp_addsrvrolemember / sp_dropsrvrolemember
Sysadmin Puede hacer cualquier tarea
Serveradmin Cambiar configuración del
servidor, y apagarlo
Setupadmin Configurar servidores vinculados
Securityadmin Administrar logins, CREATE
DATABASE, error log y
passwords
Processadmin Manejar procesos en ejecución
Dbcreator Crear, modificar y eliminar BBDD
Diskadmin Administrar discos (ubic. Ficheros
Bulkadmin Ejecutar tareas de Bulk Insert
29. Fixed Database Roles
sp_addrolemember / sp_droprolemember
Public Se le pueden dar/quitar privilegios
Lo utilizan todos los usuarios
Db_owner Realizar cualquier tarea
Db_accessadmin Dar y quitar permisos de acceso
Db_securityadmin Administrar permisos, propietarios
de objetos, y roles
db_ddladmin Todas las instrucciones DDL, menos
GRANT, REVOKE y DENY (DCL)
Db_backupoperator BACKUP, DBCC y CHECKPOINT
Db_datareader Leer cualquier tabla
Db_datawriter Escribir en cualquier tabla
Db_denydatareader No puede leer ninguna tabla
Db_denydatawriter No puede escribir en ninguna tabla
30. User-defined database roles
Es a nivel de base de datos
Es el único tipo de roles que pueden
ser creados por el usuario
Sirven para agrupar usuarios y darles
una serie de privilegios
CREATE/ALTER/DROP ROLE
– Sp_addrole
– Sp_droprole
31. Application Roles
Sirven para asignar privilegios a una
aplicación
No se puede desactivar, hay que
cerrar la aplicación
No se pueden asignar a un usuario
Sp_setapprole sirve para activarlos
Ejemplo en www.algoritmodigital.com
32. Permisos sobre objetos
Se otorgan a un usuario sobre
– Tablas
– Vistas
– Procedimientos almacenados
– Funciones
Tipos
– Select, Insert, Update, Delete
– References
– Execute
33. Permisos sobre objetos
Predefinidos
– Se adquieren por pertenecer a un role de
servidor o de base de datos
Implícitos
– Se adquieren por ser propietario del
objeto, permiten control total sobre él
35. Permisos sobre objetos
Para ver los permisos
– sp_helprotect
Permisos sobre un objeto
– sp_helprotect „NbObjeto‟
Permisos de un usuario
– sp_helprotect NULL, „NbUsuario‟
36. dbo
Los objetos pertenecen al dbo si los crean:
– Miembros de Sysadmin
– El „SA‟
– El propietario de la BBDD
– Si se indica explícitamente „dbo.NbObjeto‟
Dbo debería ser propietario de todos los
objetos (sólo para 2000 y anteriores)
– Evita problemas de ruptura de la cadena de
propiedad
– Evita problemas en implantaciones en otros
servidores
37. Guest (invitado)
Este usuario es utilizado por todos los
accesos que no tengan usuario en
dicha BBDD
Se recomienda deshabilitarlo en las
BBDD de usuario y en Model
38. Otras medidas de seguridad
Restringir el acceso a las tablas
Conceder acceso a:
– Vistas
– Procedimientos almacenados
– Funciones definidas por el usuario
Evitar la inserción de código SQL
“SQL Injection”
39. SQL Injection (artículos)
http://www.programacion.com/asp/articulo/sqlinjection/
http://dotnetjunkies.com/WebLog/vbpuntonet/archive/2004/12/
07/35437.aspx
http://www.securiteam.com/securityreviews/5DP0N1P76E.html
http://www.nextgenss.com/papers/advanced_sql_injection.pdf
http://www.windowsitpro.com/SQLServer/
(y buscar “sql injection”)
Cadena = “SELECT * FROM AUTHORS WHERE Id = „” + MiVar
+ “‟”
– Si Mivar = “Pepe‟ OR 1=1 --” ???
– Si MiVar = “Pepe‟ OR 1=1; DROP Table... --“ ???
40. Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
41. Copias de seguridad
Nuestra información ha de estar a salvo
Debemos plantear una estrategia de copia y
recuperación
– Frecuencia
– Tipos de copias
– Quién las hace
– Qué bases de datos se copian
Y PROBARLA !!!
42. Tipos de copias
Completa
Diferencial
Log de transacciones
Archivo o grupo de archivos
Alta disponibilidad
– Mirroring (2005)
– Replicación
– Log Shipping (trasvase de registros)
43. Copias con T-SQL
BACKUP DATABASE NombreBBDD
TO Dispositivo [WITH DIFFERENTIAL]
sp_adddumpdevice
BACKUP LOG NombreBBDD
TO Dispositivo
RESTORE DATABASE NombreBBDD
FROM Dispositivo
RESTORE LOG NombreBBDD
FROM Dispositivo
44. Proceso de restauración
En función de la estrategia de copia
No se debe dejar la base de datos
disponible para los usuarios hasta el
final del proceso de restauración.
45. Administración
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
46. SSIS y programación de
tareas, mto. y control
Demo
– Veamoslo desde el SQL Server
Management Studio
Asistente para importación/exportación
Programación
Asistente para planes de mantenimiento