SQL Server 2008

49
Microsoft SQLServer 2008

Transcript of SQL Server 2008

Page 1: SQL Server 2008

Microsoft

SQLServer 2008

Page 2: SQL Server 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

Page 3: SQL Server 2008

Microsoft SQLServer 2008 – Novedades para DBAs

Segura

EscalableDisponible

Page 4: SQL Server 2008

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

Page 5: SQL Server 2008

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

Page 6: SQL Server 2008

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

Page 7: SQL Server 2008

Microsoft SQLServer 2008 – Transparent Data Encryption

Transparent

Data

Encryption

Demo

Page 8: SQL Server 2008

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

Page 9: SQL Server 2008

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

Page 10: SQL Server 2008

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

Page 11: SQL Server 2008

Microsoft SQLServer 2008 – Auditoría

Change

Data

Capture

Demo

Page 12: SQL Server 2008

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

Page 13: SQL Server 2008

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

Page 14: SQL Server 2008

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

Page 15: SQL Server 2008

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

Page 16: SQL Server 2008

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_”

Page 17: SQL Server 2008

Microsoft SQLServer 2008 – Declarative Management Framework

• Políticas

– Definidas por Administradores

– Tipos

• Explícitas: se comprueban en servidores objetivo

• Automáticas: se deben cumplir

Page 18: SQL Server 2008

Microsoft SQLServer 2008 – Declarative Management Framework

Declarative

Management

Framework

Demo

Page 19: SQL Server 2008

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

Page 20: SQL Server 2008

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

Page 21: SQL Server 2008

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

Page 22: SQL Server 2008

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

Page 23: SQL Server 2008

Microsoft SQLServer 2008 – Procesamiento particionado

• Datos particionadoshorizontalmente entre servidores.

• Las consultas recibentodos los datos medienteclausulas UNION ALL.

• Las peticiones se puedencontrolar mediante “rutas”.

Page 24: SQL Server 2008

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

Page 25: SQL Server 2008

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

Page 26: SQL Server 2008

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?

Page 27: SQL Server 2008

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

Page 28: SQL Server 2008

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

Page 29: SQL Server 2008

Microsoft SQLServer 2008 – Replicación Peer 2 Peer

Replicación

Peer 2 PeerDemo

Page 30: SQL Server 2008

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

Page 31: SQL Server 2008

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

Page 32: SQL Server 2008

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

Page 33: SQL Server 2008

Microsoft SQLServer 2008 – Performance Studio

• Ejemplos

Page 34: SQL Server 2008

Microsoft SQLServer 2008 – Performance Studio

Performance

StudioDemo

Page 35: SQL Server 2008

Microsoft SQLServer 2008 – Novedades para Desarrolladores

Tipos de

Datos

…mucho

más…ADO.NET

Page 36: SQL Server 2008

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

• …

Page 37: SQL Server 2008

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

Page 38: SQL Server 2008

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

Page 39: SQL Server 2008

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

Page 40: SQL Server 2008

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,…

Page 41: SQL Server 2008

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()

Page 42: SQL Server 2008

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

Page 43: SQL Server 2008

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.

Page 44: SQL Server 2008

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

Page 45: SQL Server 2008

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);}

}}

}

Page 46: SQL Server 2008

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

• …

Page 47: SQL Server 2008

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

– …

Page 48: SQL Server 2008

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

Page 49: SQL Server 2008

Microsoft SQLServer 2008 – Ya!

• Hasta aquí puedo leer…

¡GRACIAS!

• ¿Preguntas?

[email protected]