Post on 13-Jun-2015
description
#SQSummit
@enriquecatala
Experiencias de migraciones a SQL
Server 2012-2014 en SolidQ
Mentor
ecatala@solidq.com
MVP – MCT – MCSE
Enrique Catalá Bañuls
Actualización (o actualización in-place):– Se actualiza una instalación existente manteniendo
los datos– El nombre de instancia permanece inalterado– Proceso automatizado
Migración (o migración side-by-side):– Se inicia con una nueva instalación– La nueva & vieja instancia permanecen side-by-side– Los objetos se copian de la vieja a la nueva instancia– Proceso manual
Definición
2
Proceso de migraciónIn-place
3
SQL Server 2008
Instancia: Foo
SQL Server 2014
Instancia : Foo
Actualización
Proceso de actualizaciónFase de actualización in-place
4
La instancia
pasa a estar
disponible
Aquí comienza la
disponibilidad
parcial
Punto de no
retornoInstancia
todavía
disponible
La instancia
ya no está
disponible
Instalar
prerequisitos
Comprobar
blockers de
actualización
Instalar los
binarios de
SQL Server
2008 R2
Parar el
servicio
Redirigir
servicios a
nuevos
binarios
Iniciar
servicio en
modo
usuario
unico
Adjuntar bd
de recursos
Parar el
servicio
Reiniciar el
servicio
Iniciar
actualización
de todas las
BDs
Ejecución de
scripts de
migración de
SQL Agent y
Replicación
Desinstalar
binarios
“viejos”
Proceso de migraciónSide by side
5
Comparar
y verificar
SQL Server 2000
Instancia: Foo
SQL Server 2008 R2
Instancia : Bar
Comprobado!
Asistente de migración (Upgrade Advisor) para analizar– Modelo relacional
– Trazas capturadas
– Scripts TSQL
Que no analiza el asistente de migración– Cambios en tablas de sistema
– Código dinámico• Ojo con openrowsets, openquery, linked servers,…
– Team System al rescate• Capturar la actividad durante el proceso
Tareas pre-migraciónAnálisis de compatibilidad
6
Analizar traza nueva con DTA– Revisión de DMVs de índices
Contrastar las mediciones entre distintas versiones– Trazas Profiles anterior vs. Trazas profiler nuevo
– Perfmon anterior vs. perfmon nuevo
Fase iterativa si surgen incompatibilidades que hay que arreglar en aplicaciones– Considerar nuevas funcionalidades transparentes…
Conclusión: adelante o no convence
Tareas pre-migraciónAnálisis de resultados
7
Cuidado, SSMA no cubre todos los escenarios
– No te olvides openrowset, linked server, código dinámico…
Tareas pre-migración
8
Debería ser la fase menos traumática– Ya lo hemos probado anteriormente
– Estamos seguros que todo funciona
No dejar fuera procesos que podrían ser sospechosos– Procesos con servidores externos
Aquí debemos llegar con estimación de tiempo de parada
MigraciónEl día D
9
Tareas post-migracionComparación de coste-beneficio
•Buffer Pool Extension
•Data/Backup Compression
•Transparent Data Encryption
•Resource Governor
•Incremental statistics
•Mejoras en seguridad
•Partitioning
•AlwaysOn
•Transact-SQL enhancements
•AlwaysOn
•Proyectos de BBDD para BI
•Semantic search
•In-Memory OLTP
•In-Memory Datawarehouse
•Spatial Support
•Filestream Support
•Hierarchy Id Support
•CDC,Change Tracking
Cambios significantes
en aplicación,
operacionales o de
desarrollo
Cambiosmoderados en
aplicacion, operacionales o
desarrollo
Cambiosmenores
Aplicación de plan estratégico de seguridad
Recreación de trabajos de mantenimiento nocturnos– Proceso dinámico de desfragmentacion
Aplicación de compresión
Aplicación de UCP
Análisis y creación de índices faltantes
Chequeo de salud en el nuevo entorno– SQLNetwork Stress
– Análisis de esperas de servidor
– Inicio de tunning a bajo nivel
Tareas post-migración
11
DTS fue novedad de SQL Server 2000
SSIS novedad SQL Server2005– Cambio radical
– Reescritura de producto
Funcionalidades «on the box» amplias– Tareas predefinidas
• ETL
• DBAs
• WMI
Muy común en migraciones
DTSPorque no todo son 2012
12
Reescritura completa– Diseño desde cero
– Aprovechamiento de nuevas caracteristicas y funcionaldiades
– ¿Cuántos DTS tengo que migrar?¿3, 4, 10, 100?• Puede ser tedioso
Compatibilidad DTS– Ejecutar los dts desde versiones superiores
– No escalable
Asistente de migración– No es 100% fiable
Herramientas de terceros– DTS xChange
DTSPorque no todo son 2012
13
Permite realizar migraciones masivas
Resultados no son 100% fiable– No convierte todos los procesos
• Utiliza la tarea de ejecución de DTS
• Soporte de versiones superiores
– Transformaciones• DTS utiliza vbasic script
• Las omite al realizar la conversión
• A veces parece que hay alguna «confusion» en los mapeos
Asistente de migraciónNo es tan automático
14
DEMO
15
Project Migración típica
Resultados realesRatios mejora tiempos de respuesta a 2012
16
Resultados realesTiempo medio de respuesta a 2012
17
Resultados realesRatios de mejora a 2012
18
Resultados realesAnalisis
19
Resultados realesTiempo mejoras
20
CPU Ejecución
Actual Optimizado % Reducción Actual
Optimizad
o % Reducción
5017 ms 783 ms 84.39% 1848 ms 458 ms 75.21%
547 ms 0 ms 99.81% 1918 ms 12 ms 99.37%
1375 ms 312 ms 77.31% 1495 ms 323 ms 78.39%
547 ms 0 ms 99.99% 1904 ms 11 ms 99.42%
1375 ms 0 ms 99.99% 1495 ms 1 ms 99.93%
4032 ms 170 ms 95.78% 5574 ms 391 ms 92.99%
1969 ms 140 ms 92.89% 2316 ms 137 ms 94.08%
67 ms 0 ms 98.51% 69 ms 0 ms 98.51%
Original Mejorada
Consumo CPU Duración Consumo CPU Duración % reducción CPU
% reducción
duración
5017 ms 1848 ms 783 ms 458 ms 84.39% 75.21%
547 ms 1918 ms 0 ms 12 ms 99.81% 99.37%
1375 ms 1495 ms 312 ms 323 ms 77.31% 78.39%
547 ms 1904 ms 0 ms 11 ms 99.99% 99.42%
1375 ms 1495 ms 0 ms 1 ms 99.99% 99.93%
4032 ms 5574 ms 170 ms 391 ms 95.78% 92.99%
1969 ms 2316 ms 140 ms 137 ms 92.89% 94.08%
67 ms 69 ms 0 ms 0 ms 98.51% 98.51%
Resultados realesCPU
21
Resultados realesMemoria
22
Resultados reales
23
Resultados realesCompresión
24
Nº filas % reducción espacio Compresión Aplicada
>50.000 >=40% PAGE
>0 <40% ROW
DEMO
25
Migración 2012 - 2014
Un sistema actualizado requiere mucha atenciónAnota benchmarks antes de la actualización– Funcional, rendimiento, Stress
Tiempo necesario para la actualización– Ninguna de las herramientas de actualización
muestra “tiempo restante…” – Revisa el Setup log para actualizaciones in-place– Realiza pruebas de actualización
Piensa en planes de “vuelta atrás”Identifica problemas de compatibilidad hacia atrás
ConsejosSe precavido
26
Capturar actividad que cubra el uso de tu sistema– Trazas de SQL Profiler
– Monitor de rendimiento
– Si es posible Team System para preparar carga de la aplicación actual
– Procesos no tan habituales: fin de mes, cierre de ejercicio
Y recuerda, una migración se sabe que va a ser exitosa, antes incluso de llevarse a cabo
ConsejosSe todavia más precavido
27
Ebook SolidQ en la sección ebooks de la web de SolidQ– «Planificando la migración de SQL Server 2000-2005 a SQL Server 2008»
Guia de referencia publicada por SolidQ en Microsoft– Buscar en Bing:
"SQL Server 2008 R2 Upgrade Technical Reference Guide"
Recursos
28
¿Preguntas?
29
¡Gracias!
Siéntate a comer con nosotros o tómate un café y aclara tus
dudas
30
@enriquecatala
Mentor – MVP SQL Server
Enrique Catalá Bañuls