Date post: | 03-Jul-2015 |
Category: |
Technology |
Upload: | salvador-ramos |
View: | 2,331 times |
Download: | 0 times |
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
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
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
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
Servicios
Motor Cliente / Servidor
Servicios
Componentes (2005)
SQL Server 2005
Relational Database Engine
.NET CLR
Analysis Services
Native HTTP Support
Service Broker Replication
Reporting Services Full-Text Search
Notification Services
Integration Services
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
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
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
BBDD del sistema
Master
Model
Msdb
Tempdb
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 ***
Herramientas
Demo
– “Manos a la obra, veamos las herramientas”
– Propiedades del servidor (desde el SQL Server Management Studio)
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
Objetos de BBDD
Diagramas
Esquemas (2005)
Tablas
– Constraints
– Triggers (DML y DDL -2005-)
– Indices
Clustered (agrupados)
Non Clustered (no agrupados)
Objetos de BBDD
Vistas
Procedimientos almacenados
Funciones Definidas por el Usuario
Usuarios (Users)
Funciones (Roles)
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”
Tipos de datos (v. BOL)
bigint int smallint tinyint bit decimal - numeric float Real Money / smallmoney datetime smalldatetime
char / nchar varchar / nvarchar text / ntext binary varbinary image cursor sql_variant table timestamp uniqueidentifier
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
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
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
Arquitectura de seguridad
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‟
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
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
Stored Procedures - login
CREATE/ALTER/DROP LOGIN
– sp_addlogin / sp_grantlogin
– sp_revokelogin / sp_denylogin
– sp_droplogin
sp_depends
sp_changeobjectowner / sp_changedbowner
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)
Fixed Server Roles sp_addsrvrolemember / sp_dropsrvrolemember
Sysadmin Serveradmin
Setupadmin Securityadmin
Processadmin Dbcreator Diskadmin Bulkadmin
Puede hacer cualquier tarea Cambiar configuración del
servidor, y apagarlo Configurar servidores vinculados Administrar logins, CREATE
DATABASE, error log y passwords
Manejar procesos en ejecución Crear, modificar y eliminar BBDD Administrar discos (ubic. Ficheros Ejecutar tareas de Bulk Insert
Fixed Database Roles sp_addrolemember / sp_droprolemember
Public
Db_owner Db_accessadmin Db_securityadmin
db_ddladmin
Db_backupoperator Db_datareader Db_datawriter Db_denydatareader Db_denydatawriter
Se le pueden dar/quitar privilegios Lo utilizan todos los usuarios
Realizar cualquier tarea Dar y quitar permisos de acceso Administrar permisos, propietarios
de objetos, y roles Todas las instrucciones DDL, menos
GRANT, REVOKE y DENY (DCL) BACKUP, DBCC y CHECKPOINT Leer cualquier tabla Escribir en cualquier tabla No puede leer ninguna tabla No puede escribir en ninguna tabla
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
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
Permisos sobre objetos
Se otorgan a un usuario sobre
– Tablas
– Vistas
– Procedimientos almacenados
– Funciones
Tipos
– Select, Insert, Update, Delete
– References
– Execute
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
Permisos sobre objetos
Tipos de permisos
– GRANT
– DENY
– REVOKE
Permisos sobre objetos
Para ver los permisos
– sp_helprotect
Permisos sobre un objeto
– sp_helprotect „NbObjeto‟
Permisos de un usuario
– sp_helprotect NULL, „NbUsuario‟
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
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
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”
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... --“ ???
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
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 !!!
Tipos de copias
Completa
Diferencial
Log de transacciones
Archivo o grupo de archivos
Alta disponibilidad
– Mirroring (2005)
– Replicación
– Log Shipping (trasvase de registros)
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
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.
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
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
URLs
www.microsoft.com/spanish/msdn/cursos/sqlserver2000.asp
www.helpdna.net www.sqlserverymicrosoft.net www.portalsql.com www.solidqualitylearning.com www.siquelnet.com www.callsql.com www.sqlmax.com www.sqlserverbyexample.com
www.microsoft.com/spain/servidores www.microsoft.com/spain/technet www.microsoft.com/latam/technet www.microsoft.com/technet www.microsoft.com/spanish/msdn www.microsoft.com/msdn
URLs (english)
www.windowsitpro.com/SQLServer/ www.sqlservercentral.com www.sqldev.com www.sqlmag.com www.sqldts.com www.sqlis.com www.sqlpass.org www.sql-server-performance.com www.sswug.org www.sqlsecurity.com www.swynk.com www.tsqlsolutions.com www.sqlserver.com