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.
Resumen de nuevas caracteriscitas de 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