Microsoft
SQLServer 2008
• Novedades para DBAs
– Transparent Data Encryption, Auditoría, Gestión de Clave Externa,
Compresión de datos, Gestor de Recursos, Change data capture,
Database Mirroring mejorado, Clustering mejorado, replicación
P2P mejorada,...
• Novedades para Desarrolladores
– Nuevos tipos de datos Filestream, datos Geoespaciales, DATE &
TIME, ADO.NET Entity Framework, LINQ, rendimiento “Star Join
Query”, notificaciones de cambio en datos, MERGE, Table Valued
Parameters…
Microsoft SQLServer 2008
Microsoft SQLServer 2008 – Novedades para DBAs
Segura
EscalableDisponible
Microsoft SQLServer 2008 – Novedades para DBAs
SEGURA
• Transparent
Data Encryption
(TDE)
• Enterprise Key
Management
(EKM)
• Auditoría
• Declarative
Management
Framework
ESCALABLE
• Resource
Governor
• Compresión de
datos
• Congelado
planes
• Procesamiento
Particionado
DISPONIBLE
• Database
Mirroring
• Replicación
Peer to Peer
• Cambios en
clustering
• Performance
Studio
Microsoft SQLServer 2008 – Novedades para DBAs
SEGURA
• Transparent
Data Encryption
(TDE)
• Enterprise Key
Management
(EKM)
• Auditoría
• Declarative
Management
Framework
ESCALABLE
• Resource
Governor
• Compresión de
datos
• Congelado
planes
• Procesamiento
Particionado
DISPONIBLE
• Database
Mirroring
• Replicación
Peer to Peer
• Cambios en
clustering
• Performance
Studio
Microsoft SQLServer 2008 – Transparent Data Encryption
Transparent Data Encryption (TDE)
• Encriptación de datos transparente para usuarios y aplicaciones
• Encripta Bases de Datos, Ficheros de Datos, Ficheros de Log
• Usa Database Encryption Key (DEK)
• Datos en memoria no encriptados – Datos en disco encriptados
• No penaliza I/O
• No afecta aplicaciones (compatible con encriptación de celda)
• No compatible con FILESTREAM ni Catálogos
Microsoft SQLServer 2008 – Transparent Data Encryption
Transparent
Data
Encryption
Demo
Microsoft SQLServer 2008 – Enterprise Key Management
Enterprise Key Management
• Gestión de claves de BBDD externa
• Permite dispositivos EKM de terceros (hardware…)
• Mejor rendimiento
• Encriptación más potente
• Separación física datos y llaves
• Permite rotar llaves
• Recuperación de claves más fácil
Microsoft SQLServer 2008 – Auditoría
Change Data Capture
• Qué, Cómo, Cuándo, Quién
• Información rica, basada en Log
Seguimiento de Cambios
• Control ligero
Auditoría SQL
• Implica un pequeño impacto en rendimiento
Microsoft SQLServer 2008 – Auditoría
Change Data Capture
• Todos los cambios DML
• Cambios DDL con ALTER TABLE
• Guarda “antes y después”
• Usa Tablas que rellena en base al LOG
• Estructura como tablas monitorizadas
• Incluyen Metadatos
• Se purgan (por defecto 72 horas)
• Sólo en versión Enterprise
• 2 niveles de uso:
• BBDD
• Tabla
Microsoft SQLServer 2008 – Auditoría
Change
Data
Capture
Demo
Microsoft SQLServer 2008 – Auditoría
Seguimiento de cambios
• Identifica FILAS modificadas por DML (Insert, Update,
Delete)
• Útil en:
• Clientes offline
• Cacheo Web
• Función CHANGETABLE()
• Nuevas funciones API.NET para
desarrollo aplicaciones offline
Microsoft SQLServer 2008 – Auditoría
Auditoría SQL
• Qué audita
• Intentos Login
• DML incluído SELECT
• DDL
• Gestión permisos (Grant, Revoke, Deny)
• Qué, Cuándo, Quién
• Sólo en versión Enterprise
Microsoft SQLServer 2008 – Auditoría - Resumen
CDC Seguimiento de
cambios
Auditoría SQL
Ámbito DML
Algunas DDL
DML Login/Logout
DML/Select
DDL
Permisos
Cambio de datos Todos los cambios
Todos los valores de una
columna
Cambio de fila
Sólo valores PK
Todos los cambios
Acción
Objetivo
Éxito/Fallo
Información Operación DML
Columnas actualizadas
Información transacción
Operación DML
Columnas actualizadas
Cuándo
Quién
Disponibilidad del
cambio
Retraso limpieza
configurable
Proceso background
Inmediata mediante DML Eventos extendidos
Escenarios clave ETL incremental para BBDD Sincronización offline Auditoría
Ediciones Enterprise Todas Enterprise
Microsoft SQLServer 2008 – Declarative Management Framework
Declarative Management Framework
• Solución:
• Gestión basada en Políticas
• Emplear POLÍTICAS que fuercen a nuestras BBDD a cumplir
condiciones, facilitando la gestión
Problemas
Nuevas características Mayor complejidad de gestión
Consolidación y virtualización Gestionar esa escalabilidad
Proliferación de BBDDs remotas y
embebidas
Gestión remota
Microsoft SQLServer 2008 – Declarative Management Framework
Ejemplos:
• De instalación:
• Permitir sólo versiones Developer y Express en estaciones de desarrollo
• De reducción de superficie de ataque
• XPCmdShell == False
• SQLCLR == True
• DBMail == False
• RemoteDAC == False
• Para cada instancia
• Tamaño de tempdb < 200GB
• Para cada BBDD, el último día de backup < hoy –2
• Para idénticas BBDD
• Todas las vistas han de tener el prefijo “vw_”
Microsoft SQLServer 2008 – Declarative Management Framework
• Políticas
– Definidas por Administradores
– Tipos
• Explícitas: se comprueban en servidores objetivo
• Automáticas: se deben cumplir
Microsoft SQLServer 2008 – Declarative Management Framework
Declarative
Management
Framework
Demo
Microsoft SQLServer 2008 – Novedades para DBAs
SEGURA
• Transparent
Data Encryption
(TDE)
• Enterprise Key
Management
(EKM)
• Auditoría
• Declarative
Management
Framework
ESCALABLE
• Resource
Governor
• Compresión de
datos
• Congelado
planes
• Procesamiento
Particionado
DISPONIBLE
• Database
Mirroring
• Replicación
Peer to Peer
• Cambios en
clustering
• Performance
Studio
Microsoft SQLServer 2008 – Resource Governor
• Gestión de recursos del BD Server dinámica
• Utiliza– Grupos de recursos (Workload Group)
• Habilita la clasificación de cargas de trabajo
• Usa una función de clasificación paraidentificar grupo (en master)
– Pools de recursos
• Límites de recursos (CPU y Memoria)
• No IO
• Resource Governor• Mapea Grupos de recursos a Pools
• Grupos por defecto– Default
– Internal: peticiones del propio SQLServer
Microsoft SQLServer 2008 – Compresión de datos
• Objetivo– Menor IO -> Mejor Rendimiento
• Compresión– Fila: Convierte datos tamaño fijo a variable
• Números
• Caracteres
• Datos por defecto, nulos y zeros
– Página: fases
1. Fila
2. Prefijos
3. Diccionario
• Proceso costoso– Estimar ganancia: sp_estimate_data_compression_savings
Microsoft SQLServer 2008 – Congelado de planes
• Bloquear un plan de ejecución en memoria no volátil
• Diseñado para controlar– rendimiento y escalabilidad
– actualizaciones suaves
– fijar planes para aplicaciones ISV
– estabilidad entre sistemas de producción y de test
– optimizar el rendimiento de las consultas
• Permite “sobrevivir” a una actualización o reinicio de servicio
• Nuevos procedimientos almacenados– sp_create_plan_guide
– sp_create_plan_guide_from_cache
– sys.fn_validate_plan_guide
– Nuevas clases de eventos: Guía de plan satisfactoria o insatisfactoria
– Nuevos contadores de rendimiento• Guided Plan Executions/sec, Misguided Plan Executions/sec
Microsoft SQLServer 2008 – Procesamiento particionado
• Datos particionadoshorizontalmente entre servidores.
• Las consultas recibentodos los datos medienteclausulas UNION ALL.
• Las peticiones se puedencontrolar mediante “rutas”.
Microsoft SQLServer 2008 – Novedades para DBAs
SEGURA
• Transparent
Data Encryption
(TDE)
• Enterprise Key
Management
(EKM)
• Auditoría
• Declarative
Management
Framework
ESCALABLE
• Resource
Governor
• Compresión de
datos
• Congelado
planes
• Procesamiento
Particionado
DISPONIBLE
• Database
Mirroring
• Replicación
Peer to Peer
• Cambios en
clustering
• Performance
Studio
Microsoft SQLServer 2008 – Database Mirroring
• Alta disponibilidad a bajo precio
• Funciona a nivel de base de datos, no de instancia– Copia “caliente” de la BBDD en otro servidor
• Modos de funcionamiento– High Availability – Síncrono con testigo
• Failover automático
• Sin pérdida de datos
– High Protection – Síncrono sin testigo• Failover manual
• Sin pérdida de datos
– High Performance – Asíncrono sin testigo• Failover manual
• Posible pérdida de datos
• Mejor rendimiento
• Compresión del log de transacciones
• Corrección automática de páginas erróneas
• Tiempo de respuesta en fallos reducido
Microsoft SQLServer 2008 – Database Mirroring
Principal
Testigo
DataLog
Mirror
1. Transacción
2. Escribe en Log
2. Transfiere a espejo
6. Reconocimiento (ACK)
7. Reconocimiento(ACK)
4. Escribe en log
5. Log escrito
DataLog
3. Log escrito
Cliente
High Availability – Síncrono con testigo
Alive?
Microsoft SQLServer 2008 – Database Mirroring
PrincipalData
Log
Mirror
1. Transacción
2. Escribe en Log
2. Transfiere a espejo
7. Reconocimiento (ACK)
4. Reconocimiento(ACK)
5. Escribe en log
6. Log escrito
DataLog
3. Log escrito
Cliente
High Performance – Asíncrono sin testigo
Microsoft SQLServer 2008 – Replicación Peer 2 Peer
• Nos permite escalar horizontalmente la base de datos
• Modificable en caliente
• Nos da cierta “alta disponibilidad”– Usando balanceo frontal
– O un DNS con Round Robin
– …
• Diseñador gráfico de las replicaciones P2P– Nodos
– Rutas
• Se añade detección de conflictos– Conflictos de inserción-inserción
– Conflictos de update-update
– Conflictos con delete
• Podemos emplear prioridad de cambiossegún el nodo
Microsoft SQLServer 2008 – Replicación Peer 2 Peer
Replicación
Peer 2 PeerDemo
Microsoft SQLServer 2008 – Cambios en clustering
• Cambia totalmente el modelo de clustering con W2008
• No será posible actualizar in-place clusters antiguos
• Soporte de clusters de más nodos (16 nodos)
• Mejoras en la validación del cluster
• Más flexibilidad en la red
– IPv6
– Subredes diferentes
– IPSec
Microsoft SQLServer 2008 – Performance Studio
Sistema de
Recogida de
Información
Data providers
• SQL Trace
• Performance Counters
• Transact-SQL
Almacenamiento
datos de
rendimiento
Management Data
Warehouse
Informes de
Rendimiento
Microsoft SQLServer 2008 – Performance Studio
• Es el framework que enlaza capturas, análisis, solución de problemas y persistencia de los informes de diagnóstico de SQL Server
• Consiste en una suite de herramientas para– Captura de datos con poca sobrecarga
– Monitor de rendimiento, solucionador de problemas y optimización
– Persistencia de datos de diagnósticos
– Reporting
• Captura datos de:– Uso de disco
– Estadísticas de Queries
– Actividad de Queries
– Actividad de Servidor
Microsoft SQLServer 2008 – Performance Studio
• Ejemplos
Microsoft SQLServer 2008 – Performance Studio
Performance
StudioDemo
Microsoft SQLServer 2008 – Novedades para Desarrolladores
Tipos de
Datos
…mucho
más…ADO.NET
Microsoft SQLServer 2008 – Novedades para Desarrolladores
Tipos de datos
• FILESTREAM
• DATE & TIME
• Geoespaciales
• Tratamiento
XML
• …
ADO.NET Entity
Framework
• Entidades
• LINQ
Otros
• MERGE
• GROUPING
SETS
• …
Microsoft SQLServer 2008 – Nuevos tipos de datos
FILESTRAM
• Columna varbinary(max) con atributo FILESTREAM
• Acepta ficheros > 2 GB
• Los datos se almacenan en el sistema de fichero NTFS
• Pero las operaciones son Transaccionales
• Método de acceso a los datos
• Solo TSQL
• TSQL + NTFS local
• TSQL + NTFS local + NTFS remoto
• Se instala un driver en Windows para controlar el acceso a los ficheros
• Compatible
• Sí: Logshipping, replicación, clustering, índices full-text
• No: Snapshots, mirroring, TDE, CDC
Unstructured Data
DB
Integrated Files + DB
Microsoft SQLServer 2008 – Nuevos tipos de datos
•Sólo fechas
•SQL Estándar
DATE
•Sólo tiempo
•Precisión opcional asignable por el usuario: hasta 100 nanosegundos (por defecto)
•SQL Estándar
TIME
•Fecha, hora y offset para zona horaria (desde -14:00 a 14:00)
•Precisión opcionalmente especificable por el usuario: hasta 100 nanosegundos (por defecto)
•Equivalente a SQL Estándar TIMESTAMP WITH TIME ZONE
DATETIMEOFFSET(n)
•Fecha y hora SIN zona horaria
•Precisión opcionalmente especificable por el usuario: hasta 100 nanosegundos (por defecto)
•Equivalente a SQL Estándar TIMESTAMP
•Reemplazo recomendado de los actuales DateTime y smalldatetime
DATETIME2
Microsoft SQLServer 2008 – Nuevos tipos de datos
SQL ODBC OLEDB ADO.NET
DATE SQL_TYPE_DATE,
SQL_DATE
DBTYPE_DBDATE DateTime
TIME SQL_TIME,
SQL_SS_TIME2
DBTYPE_DBTIME,
DBTYPE_DBTIME2
TimeSpan
DATETIMEOFFSET SQL_SS_TIMESTA
MPOFFSET
DBTYPE_DBTIMES
TAMPOFFSET
DateTimeOffset
DATETIME2 SQL_TYPE_TIMEST
AMP,
SQL_TIMESTAMP
DBTYPE_DBTIMES
TAMP
Microsoft SQLServer 2008 – Nuevos tipos de datos
Datos Geoespaciales
• Geography: modelo geodésico
• Geometry: modelo planar
• Propiedades y métodos para
realizar operaciones espaciales:
• calcular distancias
• encontrar intersecciones,…
Microsoft SQLServer 2008 – Nuevos tipos de datos
Datos Geoespaciales
• Construir instancias de tipos de datos introduciéndolos con
formato Well-Known Text (WKT)
• Índices espaciales
• se definen como árboles B
• representan información bidimensional mediante árboles B
declare @box as geometry =
geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)
select @box.STAsText()
declare @box2 as geometry =
cast('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))' as geometry)
select @box2.STAsText()
Microsoft SQLServer 2008 – ADO.NET Entity Framework
• Modelo para transformar en entidades consultas a campos
Entity Data Model
• Acceso a BBDD desde programas .NET
LINQ
• Simplificar el acceso a los datos
Entidades
• Manejar lo que se conoce
Esquema de las Bases de Datos
• Flexibilidad para obtener resultados
Distintas fuentes de datos
Microsoft SQLServer 2008 – ADO.NET Entity Framework
• Microsoft Visual Studio
2008 proporciona Entity
Framework Tools para
trabajar con entidades y
mapas.
– Entity Designer para
generar y validar modelos.
– Entity Mapping Tool para
definir entidades y
asociaciones.
– Entity Model Browser para
visualizar el modelo.
Microsoft SQLServer 2008 - LINQ
Language Integrated Query (LINQ)
• Extensión de lenguajes .NET
• Realiza las consultas utilizando el
lenguaje nativo
• Orientado a Objetos
• Implementado para distintas fuentes de
datos
Microsoft SQLServer 2008 - LINQ
class DataAccess{static void GetNewOrders(DateTime date, int qty) {using (NorthWindDB nw = new NorthWindDB ()) {
var orders = from o in nw.Orderswhere o.OrderDate > dateselect new { o.orderID,
o.OrderDate, Total = o.OrderLines.Sum(l => l.Quantity);
foreach (SalesOrder o in orders) {Console.WriteLine("{0:d}\t{1}\t{2}",
o.OrderDate, o.OrderId, o.Total);}
}}
}
Microsoft SQLServer 2008 - Otros
• MERGE
– Realizar un INSERT, UPDATE y DELETE en una operación (un sólo
paso del Data Set)
• GROUPING SETS
– Conjunto de columnas agrupadas
– Mejora rendimiento
• STAR JOIN (Data Warehouse)
• Triggers DDL mejorados
• Columnas SPARSE
• …
Microsoft SQLServer 2008 – Reporting Server 2008
• Nuevo Report Designer independiente de Visual Studio
• Nueva Arquitectura: Desligada de IIS
• Nuevos elementos gráficos para generar informes
(DUNDAS)
– Gauges
– Charts
– …
Microsoft SQLServer 2008 – Reporting Server 2008
2001 2002 Total
1,115 1,331 2,446
152 642 794
11,156 13,312 24,468
1,523 6,421 7,944
13,946 21,706 35,653
Retail Acme
Nadir, Inc.
Wholesale ABC Corp.
XYZ, Ltd.
Grand Total
Customer
Retail
Acme
Nadir, Inc.
Wholesale
ABC Corp.
XYZ, Ltd.
Grand Total
Growth
19%
322%
19%
322%
56%
• Tablix = Table + Matrix