Curso sql server_administracion

Post on 03-Jul-2015

2.335 views 0 download

description

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

Transcript of Curso sql server_administracion

SQL Server 2005

Salvador Ramos

webmaster@helpdna.net

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