SQL Server 2008 Bootcamp – Day 1 SQL Server 2008 Novedades en Motor y Administración 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 Solid Quality Mentors 2 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 3 Instalación Inicio Solid Quality Mentors 4 Instalación Licencia Solid Quality Mentors 5 Instalación Prerrequisitos Solid Quality Mentors 6 Instalación Centro de instalación Solid Quality Mentors 7 Instalación Chequeo de configuración del sistema Solid Quality Mentors 8 Instalación Selección de características Solid Quality Mentors 9 Instalación Configuración de instancia Solid Quality Mentors 10 Instalación Configuración del servidor: Cuentas de servicio Solid Quality Mentors 11 Instalación Configuración del servidor: Collation Solid Quality Mentors 12 Instalación Configuración del motor de BBDD: Cuenta de inicio Solid Quality Mentors 13 Instalación Configuración del motor de BBDD: Directorios Solid Quality Mentors 14 Instalación Reportes de errores Solid Quality Mentors 15 Instalación Directorios Solid Quality Mentors 16 Instalación Consideraciones de migración • No esperes a 2008 si usas 2000! – Las políticas depreciadas se toman mas en serio • Depreciaciones anunciadas desde SQL 7.0 – Políticas formalizadas en SQL Server 2005 • Etapas de depreciación – Anuncio/advertencia – Ultimo soporte/eliminación – Futura depreciación – SQL Server 2008 implementa políticas depreciadas • Contadores de rendimiento para todas las características depreciadas • Eventos de traceo para futuras características depreciadas – DEPRECATION_ANNOUNCEMENT – DEPRECATATION_FINALSUPPORT Solid Quality Mentors 17 Demo 01 Funcionalidades discontinuadas Solid Quality Mentors 18 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 19 Seguridad Administración de Claves de Extendido (Extensible Key Management) • Administración de Claves Extendido externas – Permite el manejo de claves de encriptación desde fuera del servidor de bases de datos – Utilizando dispositivos EKM de terceros • Enterprise Key Management (EKM) Solid Quality Mentors 20 Seguridad Beneficios de la Administración de Claves de Encriptación (EKM) • EKM provee los siguientes beneficios – Check de autorización adicional (para dispersar dudas) – Mejor rendimiento para encriptación/desencriptación por hardware – Generación de encriptación externa – Almacenamiento externo de encriptación (separación física de datos y llaves) – Recuperación de claves de encriptación – Retención de claves de encriptación externa (habilita la rotación de llaves) – Recuperación de claves mas fácilmente – Distribución manejable de claves de encriptación – Eliminación de claves de encriptación segura Solid Quality Mentors 21 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 Solid Quality Mentors 22 Seguridad Encriptación transparente de datos: Detalles • Utiliza llave de encriptación de BBDD(DEK) – Almacenado en el sector de inicio de BBDD por disponibilidad – Seguridad mediante certificado almacenado en la BBDD master – Comandos DDL para manejar DEK • CREATE/ALTER/DROP • ALTER DATABASE para encriptar y desencriptar • Notas – El canal de comunicación no esta encriptado (usa SSL) • Considerarlo entonces mirroring o log shipping – tempdb se encripta si otra BBDD lo hace • Posible degradación de rendimiento en BBDD no cifradas Solid Quality Mentors 23 Seguridad No disponible en esta CTP • Auditoria mejorada – – – – Solución externa al Engine (configuración, reporte) Amplio rango de operaciones, incluyendo SELECT Soporte para filtrado Hablaremos sobre ello en otra sesión • Roles de servidor flexibles – sysadmin puede • Crear roles de servidor separados • Añadir permisos de nivel de servidor a los roles Solid Quality Mentors 24 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 25 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 Solid Quality Mentors 26 Demo 02 Configuración de servidores Solid Quality Mentors 27 Mejoras de administración Vistas de administración dinámicas (DMVs) • Cinco nuevas vistas administrativas – – – – – sys.dm_os_memory_brokers sys.dm_os_memory_nodes sys.dm_os_nodes sys.dm_os_process_memory sys.dm_os_sys_memory • Cambios en – sys.dm_os_sys_info Solid Quality Mentors 28 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 29 Manejabilidad en SQL Server 2008 Introducción • Los entornos de BBDD son complejos de manejar – Supongo que ya lo sabes • Las nuevas tendencias no simplifican el problema – Nuevas características en SQL Server 2005 – Consolidación de servidores y centros de datos – Proliferación de BBDDs remotas y embebidas Solid Quality Mentors 30 Manejabilidad en SQL Server 2008 Tecnologías • • • • • Framework de administración declarativa Colección de datos de rendimiento Eventos extendidos Resource Governor Auditoria Solid Quality Mentors 31 DMF Declarative Management Framework Llevan a… Nuevas características Se soluciona… Mayor complejidad de Gestión por “Intención” gestión (More knobs, more syntax, more chapters in the admin guide) Llevan a… Se soluciona… Necesidades de gestión de la escalabilidad Consolidación y Virtualización (Centralized admin == more servers per admin head) Llevan a… Proliferación de BDs remotas y embebidas (physical knobs -> logical knobs) Escalabilidad One-to-Many (make this group of servers like this one) Se soluciona… Necesidad de gestión Control & Automatización remota de monitorización Mgmt & “No-Mgmt” (Prevent changes or notify on change) (Who and where is your DBA?) Solid Quality Mentors 32 DMF Ejemplos de policies • Instalación – Solo versiones developer y express para estaciones de desarrollo • Reducción de la 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_” Solid Quality Mentors 33 DMF Componentes • Políticas de administración – Creado por administradores • Administración explícita – Verifica las políticas de servidores objetivo – Refuerza las políticas de servidores objetivo • Administración automática – Previene la violación de políticas – Verifica los cambios de políticas – Verifica las políticas mediante reglas básicas Solid Quality Mentors 34 DMF Conceptos clave: Facetas • Una interfaz que modela una dimensión lógica de un objetivo con un conjunto de propiedades lógicas • El conjunto de propiedades lógicas del modelo – comportamiento – características • del objetivo • Las facetas están predefinidas • Ejemplo: – Tabla, índice, servidor, propiedades de configuración Solid Quality Mentors 36 DMF Conceptos clave: Condición • Especifica el estado deseado – De un objetivo – En términos de una faceta • Ejemplo – Superficie de una faceta: • • • • • • • AdHocDistributedQueriesEnabled == False DatabaseMailEnabled == True IsSqlClrEnabled == True OleAutomationProceduresEnabled == False RemoteDacConnectionsEnabled == False WebXPsEnabled == False XPCmdShellEnabled == False Solid Quality Mentors 37 DMF Conceptos clave: política • Intento de declaración para definir como manejar – Un conjunto de objetivos – el significado de una condición – Con un método de ejecución Solid Quality Mentors 38 DMF Conceptos clave: Modo de ejecución • Especifica como reforzar una política • Ad hoc (bajo demanda) – Chequeo – Configurar • Automáticamente (planificado, ante cambios) – Planificado, se registra cuando no se cumple – Intentos de modificación, se registra cuando no se cumple – Intentos de modificación, prevención cuando no se cumple Solid Quality Mentors 39 DMF Conceptos clave: Soporte del modo de ejecución • Depende de la faceta • En planificación, se registra cuando no se cumple – Soportado por todas las facetas, utiliza trabajos del Agente • Intentos de modificación, se registra cuando no se cumple – Soportado si un evento que capture el estado del cambio existe • Intentos de modificación, prevención cuando no se cumple – Soportado si la transacción existe vía trigger DDL Solid Quality Mentors 40 Demo 03 Declarative Management Framework Solid Quality Mentors 45 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 46 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 Solid Quality Mentors 47 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 Solid Quality Mentors 48 Demo 04 Resources Governor Solid Quality Mentors 49 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 50 Mejoras en disponibilidad Adición en caliente de CPU • Adiciones de CPU pueden ocurrir – Físicamente añadiendo nuevo hardware – Lógicamente por una partición hardware – Virtualmente mediante una capa de virtualización • Requerimientos – Hardware que soporte añadir CPUs en caliente – Edición 64-bit de Windows Server 2008 • Datacenter o Enterprise Edition • Para SO basados en Itanium • SQL Server Enterprise Edition • Se debe ejecutar RECONFIGURE Solid Quality Mentors 51 Mejoras en disponibilidad Mejoras en mirroring • Reparación automática de páginas – Automáticamente se reparan páginas corruptas – Recuperando copias de los vinculados automáticamente • Monitorización mejorada – DMVs, contadores de rendimiento – Consultas al principal y estados del mirror al witness • Mejoras en la configuración cliente – Información persistente del partner Solid Quality Mentors 53 Mejoras en disponibilidad Vistazo a la auto-reparación de páginas en espejo • • • Se reparan los errores 823, y un subconjunto del 823 Las páginas corruptas y su recuperación se guardan como “supect pages” Visibilidad de páginas auto-reparadas mediante la DMV – sys.dm_database_mirroring_auto_page_repair • Eventos de traza – Clase DBMIRRORING_AUTO_PAGE_REPAIR Página corrupta! Automáticamente Reparado! X BBDD Principal Solid Quality Mentors Endpoint Endpoint BBDD Espejo 54 Mejoras de disponibilidad Mejoras de rendimiento en el mirror • Mejoras en el rendimiento del log – Compresión de secuencias de datos – Escrituras adelantadas en la secuencia de log del mirror – Mejora del uso de los buffers de envió del log – Lecturas adelantadas de página durante la fase de deshacer Solid Quality Mentors 55 Mejoras de disponibilidad Tests de mejora del mirror Solid Quality Mentors 56 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 57 Mejoras en el motor Compresión de backups • Puntos débiles: – Mantener los backups de disco online es caro – Si los backups tardan mucho, las ventanas de mantenimiento se minimizan • SQL Server 2008: – Clausula WITH COMPRESSION para el BACKUP – Menos almacenamiento para poder mantener los backups online – Los backups van significativamente mas rápido ya que existe menos IO – En la restauración se detecta automáticamente Solid Quality Mentors 58 Demo 05 Compresión de backups Solid Quality Mentors 59 Mejoras del motor Introducción al loggeo • Logging mínimo – Solo se loggea cuando es estrictamente necesario realizar rollback • Normalmente se loggean filas individuales – Reservas de página son suficientes para deshacer inserciones • El modelo de recuperación ha de ser – simple – bulk-logged • Anteriores versiones introducen loggeo mínimo para – CREATE INDEX – SELECT INTO – BULK INSERT/BCP con TABLOCK Solid Quality Mentors 60 Mejoras del motor Loggeo en SQL Server 2008 • SQL Server 2008 – Inserción a tabla soporta el loggeo mínimo – Mejoras de rendimiento de un 3X-5X en inserciones frente a loggeo completo Heap Insert SQL Server 2008 SQL Server Index Insert Run Time Solid Quality Mentors 61 Mejoras del motor Asignación de hilos de flujo de datos • Anteriores versiones – Asignación de un hilo estático para sub-expresiones • SQL Server 2008 – Asignación de hilos dinámico para operadores • ¿Que significa esto? – Mejora espectacular del paralelismo para largas operaciones computacionales – Prevención de hilos sin recursos – Mejor rendimiento en casos simples – Mejoras esperadas desde un bajo porcentaje a un 2X Solid Quality Mentors 62 Mejoras del motor Mejoras en Triggers DDL y notificación de eventos • Eventos DDL mejorados para incluir mas operaciones DDL – Procedimientos almacenados como sp_rename – Lenguaje DDL como full-text y seguridad • XSD expuestos para esquemas de eventos • Grupos de eventos persistentes – No expansión de grupos en su creación Solid Quality Mentors 63 Mejoras del motor Eventos extendidos • Infraestructura de eventos para el sistema del servidor – – – – Procesamiento de eventos síncrono y asíncrono Rendimiento (coste de un evento singular) Escalable Captura de datos dinámica • Añadir datos que no son parte del evento – Realizar acciones cuando se lanza el evento – Comportamiento de captura configurable – Habilitado para Traceo de Eventos con Windows (EWT) Solid Quality Mentors 64 Mejoras del motor Escenarios de eventos extendidos • Resolución de problemas – La causa de cortes en grupos de trabajo – Demasiado uso de CPU – Interbloqueos • Actividad de peticiones correlativa – Con logs de Windows EWT Solid Quality Mentors 65 Mejoras del motor Introducción a columnas “sparse” • Escenarios – Datos semi-estructurados: Establecer propiedad de almacenamiento • • • • BBDD con datos heterogéneos Propiedades distintas asociados a subconjuntos de datos Gran nº de propiedades “sparse” Esquema abierto – Soluciones Entidad Atributo Valor (EAV) • Pivotar es complejo • Bajo rendimiento – Generalización de entidades sobre entidades especializadas Solid Quality Mentors 66 Mejoras del motor Ejemplos de columnas “sparse” • Catálogos de producto – Propiedades específicas de producto distintas • Sistemas de administración documental – Propiedades documentales especificas/definidas por el usuario • Sistemas GPS/mapeo – Propiedades específicas de Localización/Negocio Solid Quality Mentors 67 Mejoras del motor Requerimientos de columnas “sparse” • Requerimientos clave – Almacenamiento eficiente para propiedades “sparse” • Gran nº de propiedades sobre tipos heterogéneos – Acceso relacional eficiente a propiedades • Query, DML, Indexing – Habilidad a recuperar/especificar propiedades genéricamente Solid Quality Mentors 68 Mejoras del motor Establecer columnas “sparse” • Conjunto de columnas “sparse” – Un agrupamiento lógico para todas las columnas “sparse” de una tabla – Actualizable, columna XML calculada – SELECT * devuelve • Todas las columnas no “sparse” • Conjunto de columnas “sparse” – Permite recuperación/actualización genérica sobre columnas “sparse” como un conjunto Solid Quality Mentors 70 Mejoras del motor Columnas “sparse” en tablas anchas • Se permite un gran nº de columnas “sparse” en una tabla – 100,000 columnas , 3000 índices – Limitado número de valores no nulos en cualquier registro – Se requiere establecer una columna “sparse” cuando hay mas de 1024 columnas • Límites – 1024 en columnas no “sparse” – 4096 en conjuntos de resultados Solid Quality Mentors 71 Mejoras del motor Ejemplo de 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 72 Mejoras del motor Introducción a los índices filtrados • Definición de índices: – Cláusula where adicional en la definición del índice • 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 • Create statistics stx on Products(WaistLength) where Type=‘Pant’; • Restricciones – Gramática para expresiones de filtro restringida – Solo sobre índices no agrupados Solid Quality Mentors 73 Mejoras del motor Beneficios ante índices filtrados • Requerimientos de bajo almacenamiento • Pequeños costes en mantenimiento de índices – Los índices son actualizados solo cuando se necesita • Beneficios en rendimiento de consultas – Optimizador de consultas usa los índices apropiados – Es factible un gran nº de índices en una tabla • Disponible en CTP6 Solid Quality Mentors 74 Mejoras del motor Replicación peer-to-peer • Adición online de nodos – Adición “en caliente” de nuevos nodos a una topología existente • Capacidad de detección de conflictos – Evita perdida de datos ante conflictos accidentales • Configura y administra topologías – Usando un nuevo asistente de configuración – Experiencia “visual” de la topología Solid Quality Mentors 75 Mejoras del motor Asistente de replicación peer-to-peer completamente conectada Solid Quality Mentors 76 Mejoras del motor Asistente de replicación peer-to-peer parcialmente conectada Solid Quality Mentors 77 Mejoras del motor Detección de conflictos en replicación peer-to-peer • En SQL 2005 los conflictos no son detectados – Potencial pérdida de datos • SQL 2008 permite la detección de conflictos – Detecciones cuando después de un fallo de nodo aparecen conflictos accidentales – Los conflictos en entornos peer-to-peer originan una topología inconsistente • La resolución de conflictos se realiza de forma manual – Hay opciones y herramientas para hacerlo más fácil – Todavía es complicado resolver el problema Solid Quality Mentors 78 Mejoras en el motor Replicación peer-to-peer tolerante a fallos • Posibilidad de pérdida en cambios al vuelo – Peer-to-peer tiene baja latencia – Después del corte, los cambios se propagan • Los usuarios deben re-direccionarse a otro nodo – Desarrollar aplicación para poder re-direccionar o desarrollar otro método para re-direccionar los usuarios – Los logins deben estar en el nuevo nodo par Solid Quality Mentors 79 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 80 Mejoras de rendimiento Bloqueo del plan de consultas • “Congelamiento” de planes – Nueva posibilidad de bloquear un plan de ejecución en memoria no volátil – Permite “sobrevivir” a una actualización o reinicio de servicio – Diseñado para controlar rendimiento y escalabilidad • Actualizaciones suaves • Fijamiento de planes para aplicaciones ISV • Estabilidad entre sistemas de producción y de test Solid Quality Mentors 81 Mejoras de rendimiento Mejoras en plan guides • Varias mejoras – sp_create_plan_guide • Puede usar la salida de XML SHOWPLAN • Puede crear múltiples guías de planificación (solo una disponible) – sp_create_plan_guide_from_cache • Crea guías de planeamiento desde cache – sys.fn_validate_plan_guide • Validación de guías de planes – Nuevas clases de eventos • Guia de plan satisfactoria o insatisfactoria – Nuevos contadores de rendimiento • Guided Plan Executions/sec, Misguided Plan Executions/sec Solid Quality Mentors 82 Mejoras de rendimiento Paralelismo en tablas particionadas Tabla: Orders Particionada semanalmente por OrderDate Martes por la mañana se lanza el report con gran tiempo de respuesta Usuarios felices! Solid Quality Mentors El jueves por la mañana se lanza el report con tiempo de respuesta desastroso Usuarios descontentos! ¿Por qué? 83 Mejoras de rendimiento Paralelismo de tablas particionadas Tabla: Orders Particionada semanalmente por OrderDate Multiples hilos en una partición única Martes por la mañana se lanza el report con gran tiempo de respuesta Usuarios felices! Solid Quality Mentors 84 Mejoras de rendimiento Paralelismo de tablas particionadas Tabla: Orders Particionada semanalmente por OrderDate Un único hilo por partición El jueves por la mañana se lanza el report con tiempo de respuesta desastroso Usuarios descontentos! Solid Quality Mentors 85 Mejoras de rendimiento Paralelismo de tablas particionadas Tabla: Orders Particionada semanalmente por OrderDate SQL Server 2008 Múltiples hilos por partición e.g. 64 hilos moviéndose entre particiones Mejores posibilidades para peticiones híbridas con operadores Range/Hash Solid Quality Mentors 86 Mejoras de rendimiento Filtrado Bitmap Optimizado • Ejemplo Bitmap Filter Solid Quality Mentors 87 Agenda • • • • • • • • • Instalación Mejoras en seguridad Mejoras en administración Framework de administración declarativa Resource Governor Mejoras en disponibilidad Mejoras en el motor Mejoras de rendimiento Performance Studio Solid Quality Mentors 89 Performance Studio Introducción • 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 Solid Quality Mentors 90 Performance Studio Conceptos del colector de datos • Proveedor de datos – Fuentes de información – Ej. SQL Trace, Perform counters, DMVs, consultas T-SQL, logs • Tipo colector – Conoce como leer y exponer datos de un proveedor de datos específico • Elemento colección – Instancia de un tipo colector – Determina las entradas de datos y su frecuencia Ej. Solo recoge wait_time_ms y max_wait_time_ms desde sys.dm_os_wait_stats DMV cada 5 segundos). Solid Quality Mentors 91 Performance Studio Concepto del colector de datos (continuación) • Conjunto colección – Items de grupo de colección – Colección de datos lógicos de una unidad de datos – Definido mediante TSQL o APIs .Net • Administración de almacenes de datos (DW) • Repositorio para datos que se captura – Histórico y definición de baselines Solid Quality Mentors 92 Demo 06 Performance Studio Solid Quality Mentors 93 Novedades en administración y motor • Preguntas y respuestas Solid Quality Mentors 94 Links de SQL Server 2008 • Sitio web de SQL Server 2008 – http://www.microsoft.com/sql/2008 • Ejemplos de SQL Server 2008 – http://www.codeplex.com/SqlServerSamples Solid Quality Mentors 95