Version resumida de otra de las presentaciones que tengo aqui publicadas. Incluye tanto las nuevas caracteristicas del motor relacional y Transact-SQL, como las de Integration Services, Analysis Servcies y Reporting Services. Algunas de ellas son: instrucción Merge, datos geoespaciales, Resource Governor, etc.
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Novedades SQL Server 2008
1. Novedades SQL Server 2008
Salvador Ramos
Mentor Solid Quality Mentors
SQL Server MVP
2. Información sobre versión Beta
• Toda la información y ejemplos son relativos a la beta
CTP5 pública de SQL Server 2008
• Comandos y funcionalidades pueden diferir de la
versión RTM final
2
3. Agenda
• Novedades para administradores
• Novedades T-SQL
• Novedades en Tipos de Datos
• Novedades en BI
3
6. Instalación - migración
• Algunas de las funcionalidades discontinuadas
• Backup log … with truncate_only (switch recovery “simple”)
• Nivel mínimo de compatibilidad: 80 (SQL Server 2000)
• Sp_addgroup/sp_dropgroup CREATE/DROP ROLE
7. Seguridad
• Administración de claves de encriptación externas
• Permite el manejo de claves de encriptación desde fuera
del servidor
• Utilizando dispositivos EKM de terceros
• Auditoría mejorada
• Amplio rango de operaciones, incluyendo SELECT
8. Seguridad
Vistazo a la encriptación de datos transparente
• TDE significa encriptación y desencriptación I/O de
• Páginas de datos
• Log de transacciones
• backups
• Transparente
• No requiere cambios en aplicaciones
• Disponibilidad para cumplir con
• legislación
• regulaciones
• Guías establecidas por varias industrias
8 Solid Quality Mentors
9. Mejoras de administración
Servidores de configuración
• Administración de múltiples servidores mediante
• Designación de servidores de configuración
• Creación de grupos de servidores
• Ejecuta lo mismo contra grupos de servidores
• Sentencias T-SQL
• Políticas del Framework de Administración Declarativa
9 Solid Quality Mentors
10. Resources Governor (RG)
Introducción
• Resuelve los siguientes problemas:
• Consultas grandes
• Consultas/jobs importantes que no poseen suficientes
recursos
• Las consultas menos importantes usan demasiados
recursos
10 Solid Quality Mentors
11. Resources Governor (RG)
Conceptos
• Grupos de recursos
• Habilita la clasificacion de
cargas de trabajo
• Limitacion específica de
grupos de recursos
• Pools de recursos
• “maquinas virtuales” con
limites de CPU y memoria
• Resource Management
• Mapeo de grupos a pools
11 Solid Quality Mentors
12. Mejoras en Disponibilidiad
• Adiciones de CPUs
• Reconstrucción de particiones online
• Mejoras en mirroring
• Reparación automática de páginas
• Monitorización mejorada
• Mejoras en la configuración del cliente
• Mejoras en el rendimiento del transaction log
Solid Quality Mentors
13. Mejoras en el motor
• Compresión de backups
• Cláusula WITH COMPRESSION para BACKUP
• Menor almacenamiento, y mayor rapidez
• Mejoras en triggers DDL, para incluir más
operaciones
• Introducción de columnas “sparse”
• Datos semi-estructurados. Ejemplos:
o Catálogos de productos, propiedades específicas
• 100.000 columnas, 3.000 índices
Solid Quality Mentors
14. Mejoras en el motor
Columnas “sparse”
-- Creación de una tabla con propiedades sparse y column_set
CREATE TABLE Products(
Id int
, Type nvarchar(16)
, Resolution nvarchar(8) SPARSE
, ZoomLength nvarchar(8) SPARSE
, WaistSize int SPARSE
, Length int
, ProductProperties XML COLUMN_SET
FOR ALL_SPARSE_COLUMNS
);
-- XML Genérico para acceder a propiedades a través de sparse_column_set
SELECT Id, Type, ProductProperties FROM Products;
-- Devuelve un fragmento de XML agregado para todas las columnas sparse
-- no null
101, Camera, <Resolution>6 mb</Resolution><ZoomLength>3x</ZoomLength>
5001, Pant, <WaistSize>32</WaistSize><Length>32</Length>
Solid Quality Mentors
15. Mejoras del motor
Introducción a los índices filtrados
• Definición de índices:
• Cláusula where adicional en la definición del índice
o Create Index Ix on Products(ZoomLength)
where Type=„Camera‟;
• Estadísticas filtradas/co-relacionadas en la creación de
estadísticas y la usabilidad
• Las estadísticas filtradas pueden ser creadas de forma
independiente
o Create statistics stx on Products(WaistLength)
where Type=„Pant‟;
• Restricciones
• Gramática para expresiones de filtro restringida
• Solo sobre índices no agrupados
15 Solid Quality Mentors
17. Parámetros de tabla
Introducción
• Soluciones actuales
• Uso de arrays de parámetros, XML o blobs propietarios
• Re-ensamblado de filas en el lado servidor
o Lógica de programación compleja
o Sin soporte para operaciones de conjuntos
o Bajo rendimiento debido a múltiples viajes de ida y vuelta
• Parámetros de tabla
• Tipo de datos definidos por el usuario para datos tabulares
• Paso de datos tabulares a
o Procedimientos almacenados y funciones
• Completo soporte en la pila del cliente
17 Solid Quality Mentors
18. Parámetros de tabla
Escenarios de uso
• Actualizaciones por lotes en el servidor
• Aplicación de lógica de negocio antes de modificar las
tablas persistentes
• Parámetros por lotes usados en consultas
• Operadores orientados a conjuntos sobre datos
persistentes
• Pasar datos de tabla entre subrutinas
• Actualmente solo es posible usar tablas temporales
• Migración de otras bases de datos
• Los desarrolladores de Oracle se quejaban de esto
18 Solid Quality Mentors
19. Parámetros de tabla
Rendimiento: comparación con otras tecnologías
Data Source Server Logic # of Rows Bulk TVP
File Direct Insert < 1000 X
File Direct Insert > 1000 X
File Complex < 1000 X
File Complex > 1000 X
Client Direct Insert < 1000 X
Client Direct Insert > 1000 X
Client Complex < 1000 X
Client Complex > 1000 X
File = entrada de un archivo de datos formateado en el servidor
Client = la entrada proviene de un proceso remoto
Direct Insert = una sentencia bulk insert singular
Complex = lógica adicional que no se puede manejar desde una sentencia bulk insert singular
19 Solid Quality Mentors
20. Sentencia Merge
Introducción
• Nueva sentencia MERGE
• También conocida como UPSERT (que también soporta
deletes)
• Lógica de combinación para operaciones atómicas para
o INSERT
o UPDATE
o DELETE
• Llevar a cabo manipulaciones de datos contra
o Una tabla singular
o Una tabla fuente (o expresión de tabla)
• Concordante al SQL 2006 (con extensiones)
20 Solid Quality Mentors
21. Sentencia Merge
Escenarios MERGE
• Inserción o actualización OLTP (UPSERT)
• Inserción o actualización en Data warehouse
• Sincronización con fuente
• insert/update/delete
21 Solid Quality Mentors
22. Sentencia Merge
Vistazo a la sintaxis
• Sentencia MERGE
MERGE <source>
USING (SELECT <expression>FROM <target>) <alias>
ON <intersection>
WHEN MATCHED
THEN <UPDATE | DELETE>
WHEN TARGET NOT MATCHED [AND <conditions>]
THEN <INSERT>
WHEN SOURCE NOT MATCHED [AND <conditions>]
THEN <UPDATE | DELETE>
22 Solid Quality Mentors
23. Sentencias Merge
Componentes: concordancia en predicados y acciones
• WHEN MATCHED [AND]
• Sentencia para lanzarse cuando se encuentra una concordancia
en el objetivo
• WHEN [TARGET] NOT MATCHED [AND]
• Sentencia a lanzarse cuando no se encuentra concordancia en el
objetivo
• WHEN SOURCE NOT MATCHED [AND]
• Sentencia a lanzarse cuando no se encuentra concordancia en el
origen
• Usar $action con la cláusula OUTPUT para conseguir
acción
23 Solid Quality Mentors
25. Introducción al seguimiento de datos
Características de seguimiento de datos en SQL Server 2008
Captura de datos • Información de seguimiento rica, proveniente del
log
modificados
(Change Data Capture)
Seguimiento de • Ligereza a la hora de proveer seguimiento de
cambios
cambios
(Change Tracking)
Auditoria de SQL • Pequeño impacto a la hora de dar información
(posiblemente en CTP6) de auditoria
25 Solid Quality Mentors
26. Captura de modificaciones de datos
Conceptos clave ( continuación)
• Proceso de captura
• Lee el log de transacciones y rellena las tablas de cambio
• Tablas de cambio
• Contienen los cambios de las tablas con seguimiento
• Esquema similar al objeto fuente
• Metadatos adicionales
• APIs de enumeración
• TVF(funciones de tabla)
• Usado para el acceso a los datos de seguimiento
26 Solid Quality Mentors
27. Captura de modificaciones de datos
Arquitectura
• Trabajo de agente de SQL Server
• Aprovecha la infraestructura del
agente de lectura del log
• Consistencia transaccional en caso
de fallos
• Captura imágenes del log antes y
después
• El trabajo puede pararse para
minimizar el impacto en la fuente
• Trabajo de limpieza de retención
• Purga las tablas con cambios
• Por defecto 72 horas
• Metadatos
• Proveen información sobre la
configuración CDC
27 Solid Quality Mentors
28. Captura de modificaciones de datos
Configuración
• Habilitado a nivel de base de datos
• Requiere privilegios sysadmin
• Se crea un usuario y esquema cdc
• Habilitado a nivel individual de tabla
• Requiere privilegios db_owner
• Soporta captura solo de un subconjunto de columnas
o Por razones de privacidad o rendimiento
• Soportado solo en la versión enterprise
28 Solid Quality Mentors
30. Nuevos Tipos de Datos
Fecha y hora
• Fecha y hora (equivalentes a datos standard)
• DATE rango 0001-01-01 a 9999-12-31
• TIME precision opcional hasta 100 nanosegundos
• TIMEOFFSET(n) datos almacenados como valores UTC
• DATETIME2(n) rango 0001-01-01 a 9999-12-31
• Integración con servidor
• Nuevas partes de fechas añadidas (DATEADD, DATEPART…
• Microsegundos, nanosegundos, Tzoffset(tz), …
Solid Quality Mentors
31. Nuevos Tipos de Datos
Filestream
• ¿Como capturamos datos binarios no estructurados?
• Documentos, Imágenes y similares
• Hasta ahora solo existían 2 formas
• Internamente en SQL Server como un BLOB
• Externamente a SQL Server, usando el sistema de archivos
y guardándonos la referencia al archivo en la base de
datos
• Ambas soluciones tienen sus pros y sus contras
Solid Quality Mentors
32. Nuevos Tipos de Datos
Filestream
• Es un atributo de una columna varbinary(max)
• Especificar que la columna se ha de almacenar en el
sistema de ficheros NTFS
• La columna sigue siendo manejable mediante comandos
T-SQL
• Además, se puede acceder desde el sistema de ficheros y
desde la API del SO
Solid Quality Mentors
33. Nuevos Tipos de Datos
Filestream
• Cuando la BBDD se cierra, los datos físicos del
contenedor son completamente accesibles y sujetos
a la seguridad de Windows
• Es recomendable asegurar los directorios que contienen
FILESTREAMs para que los archivos no sean
accidentalmente modificados o borrados
• Desde un punto de vista SQL Server, la seguridad de
los FILESTREAMs se realiza desde comandos DCL
estandares
• SQL Server Express tiene soporte para FILESTREAM
Solid Quality Mentors
34. Nuevos Tipos de Datos
HierarchyId - escenarios
/
• Foros, e hilos en listas de correo
• Gráficos de organización de negocio /1 /2 /3
• Categorías de gestión de contenidos (CMS)
• Categorías de productos /1/1 /1/2 /3/1 /3/2
• Gestión de Archivos/Carpetas
• Una estructura organizacional /1/1/1
• Un conjunto de tareas de un proyecto
• Un grafo de enlaces entre páginas web
/1/1/1/1
Solid Quality Mentors
35. Nuevos Tipos de Datos
Tipos de datos Espaciales
• Geodésico (3D-altura) Planar (2D)
• Geography Geometry
• Facil integración con cartografías
Solid Quality Mentors
36. Compresión de datos
Puntos clave
• Estará disponible en la CTP6
• Solo estará disponible en la versión Enterprise
• La compresión se encuentra en los dispositivos de
almacenamientos, no en los datos.
• No hay que modificar tablas
• Se habilita con un “on” u “off”
36
37. Compresión de Datos
Puntos clave
• Principal beneficio: Disminuir las tablas de hecho en
un almacén de datos
• Beneficio secundario: Mejorar el rendimiento de las
consultas
• Habilitado para tablas o índices
• Inconveniente el uso de CPU
38. Novedades BI
Integration Services
• Soporta código en lenguaje C#
• Nuevos tipos de datos para hora y fecha
• Mejora del rendimiento y el uso de la caché para las
transformaciones Lookup
• Nuevos componentes ADO.NET
• Nuevos objetos:tarea/visor para clasificación de datos
• Escalabilidad del flujo de trabajo
• Mejoras en la herramienta de
importación/exportación
Solid Quality Mentors
39. Novedades BI
Analysis Services
• No hay sorpresas – Dar tiempo a los usuarios para
aprender Analysis Service 2005.
• No hay cambios bruscos – Facil actualización desde
Analysis Services 2005
• Foco centralizado en “los deseos del cliente”:
• Escalabilidad y rendimiento
• Enterprise Manageability (nuevos diseñadores...)
• Experiencia con Datos Enriquecidos
• Mineria de datos:Mejor entendimiento y control de
resultados”
• Mejoras en MDX Solid Quality Mentors
40. Novedades BI
Reporting Services
• Producto rediseñado y reescrito
• Mejoras en el procesamiento y generación de informes
(permite informes con grandes volumenes de datos)
• Nuevo diseñador de informes. Mejoras en Report Builder
• Tablix (lo mejor de informes tipo table y matrix)
• Mejoras en visualización (Dundas)
Solid Quality Mentors