REL-301       Experiencias en migraciones a SQL       Server 2008 R2 en el último añoEnrique Catalá                  Rubén...
Agendaα   Definicionesα   Proceso de migraciónα   Replicaciónα   Seguridadα   DTs
Definicionesα Actualización (o actualización in-place): β   Se actualiza una instalación existente manteniendo los datos β...
Proceso de migraciónIn-place           SQL Server 2008 R2            SQL Server 2000             Instancia : Foo          ...
Proceso de migraciónFase de actualización in-place                                            Punto de no La instancia    ...
Proceso de migraciónSide-by-side   SQL Server 2000                       SQL Server 2008 R2    Instancia: Foo             ...
Tareas pre-migracionAnálisis compatibilidadα Asistente de migración (Upgrade Advisor) para analizar β   Modelo relacional ...
Tareas pre-migracionAnálisis de resultadosα Analizar traza nueva con DTA  β    Revisión de DMVs de índicesα Contrastar las...
Tareas pre-migracionInterdependenciasα Cuidado, SSMA no cubre todos los escenarios β   No te olvides openrowset, linked se...
MigraciónEl dia Dα Debería ser la fase menos traumática  β   Ya lo hemos probado anteriormente  β   Estamos seguros que to...
Tareas post-migracionComparación de coste-beneficio•Spatial Support•Filestream Support•Hierarchy Id Support               ...
Tareas post-migracionPost migraciónα Aplicación de plan estratégico de seguridadα Recreación de trabajos de mantenimiento ...
Resultados realesRatios de mejora en tiempos de respuesta
Resultados realesTiempo medio de respuesta
Resultados realesCompresiónα Aplicación de compresión en las tablas convenientes   según análisis post-migración          ...
Replicación
Actualización de Replicación             Distribuidor puede ser                              Subscriptores             cua...
Escenarioα Migración de SQL Server 2008 a 2008 R2 β   Migración mediante Database Mirroringα Origen y destino en distintos...
Propuestaα Mantener los datos actualizados en los dos CPDsα Republicación β    CPD1_PUB  CPD1_DIST  CPD1_SUBS β    CPD1_...
Puesta en marchaα Asegurarnos que el estado de la sincronización es correctoα Si tenemos N publicaciones, crearlas en seri...
Puesta en marchaα Segunda fase: Resincronización β   Añadir los agentes de distribución para las subscripciones PUSH     (...
Puesta en marchaα Integración con el proceso de migración β   Configurar Database Mirroring en modo síncrono β   Deshabili...
Cambios en seguridad
Cambios en seguridadα La seguridad por defecto en SQL Server 2005+ es más  estricta que en versiones anterioresα Una migra...
Visibilidad de metadatosα Es típico al migrar encontrar con problemas debido al     cambio en la visibilidad en los metada...
Alternativasα       GRANT VIEW DEFINITION TO publicα       GRANT VIEW ANY DEFINITION TO publicα       GRANT VIEW DEFINITIO...
Cross-Database OwnershipChainingα Al habilitarlo se mantiene la cadena de ownership entre     bases de datos diferentes β ...
Política de passwordsα       Passwords en blancoα       Passwords demasiado sencillos, cortos, etc.α       Passwords utili...
Migración de DTS
DTSMigrando a SSISα SSIS novedad SQL Server2005 β       Cambio radical β       Reescritura de productoα Funcionalidades «o...
¿Cómo migrar?DTS a SSISα Reescritura completa β    Diseño desde cero β    Aprovechamiento de nuevas características y func...
Asistente de migraciónNo es tan automáticoα Permite realizar migraciones masivasα Resultados no son 100% fiable β    No co...
Asistente de migración. DTS a SSIS
ConsejosSe precavidoα Un sistema actualizado requiere mucha atenciónα Anota benchmarks antes de la actualización β   Funci...
ConsejosSe todavia más precavido α Capturar actividad que cubra el uso de tu sistema β   Trazas de SQL Profiler β   Monit...
Recursosα Ebook SolidQ en la sección ebooks de la web de SolidQ β   «Planificando la migración de SQL Server 2000-2005 a S...
Agendaα   Definicionesα   Proceso de migraciónα   Replicaciónα   Seguridadα   DTs
Si quieres disfrutar de las mejores sesiones denuestros mentores de España y Latino América,             ésta es tu oportu...
Upcoming SlideShare
Loading in …5
×

Experiencias en Migraciones a SQL Server 2008 en el último año

2,384 views

Published on

En esta sesión explicaremos retos a los que nos hemos enfrentado en las migraciones realizadas durante el último año: consolidaciones, fases en los proyectos, mediciones de resultados antes y después, etc. El objetivo de la sesión es que los asistentes puedan llevarse ideas a sus empresas y no tengan que plantearse problemas y retos por los que ya hemos pasado nosotros

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,384
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Experiencias en Migraciones a SQL Server 2008 en el último año

  1. 1. REL-301 Experiencias en migraciones a SQL Server 2008 R2 en el último añoEnrique Catalá Rubén Garrigos Enrique PuigMentor Mentor DPAMCT – MCITP – MCTS – MAP 2010 MCAD – MCSD – MCTS – MCT – MCITP – MCTS MCT - MCITPecatala@solidq.com rgarrigos@solidq.com epuig@solidq.com
  2. 2. Agendaα Definicionesα Proceso de migraciónα Replicaciónα Seguridadα DTs
  3. 3. Definicionesα 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
  4. 4. Proceso de migraciónIn-place SQL Server 2008 R2 SQL Server 2000 Instancia : Foo Instancia: Foo Actualización
  5. 5. Proceso de migraciónFase de actualización in-place Punto de no La instancia retorno todavía está disponible Redirigir Ejecución de Instalar los servicios a Adjuntar bd scripts de binarios de Reiniciar el nuevos de recursos migración de Instalar SQL Server servicio binarios SQL Agent yprerequisitos 2008 R2 Replicación Iniciar Parar el Parar el Iniciar Comprobar servisio en servicio Desinstalar servicio actualización blockers de modo binarios usuario de todas las actualización BDs “viejos” unico La instancia ya no está disponible La instancia Aquí comienza la pasa a estar disponibilidad disponible parcial
  6. 6. Proceso de migraciónSide-by-side SQL Server 2000 SQL Server 2008 R2 Instancia: Foo Instancia : Bar Comparar y verificar Comprobado!
  7. 7. Tareas pre-migracionAnálisis compatibilidadα 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
  8. 8. Tareas pre-migracionAnálisis de resultadosα 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
  9. 9. Tareas pre-migracionInterdependenciasα Cuidado, SSMA no cubre todos los escenarios β No te olvides openrowset, linked server, código dinámico…
  10. 10. MigraciónEl dia Dα 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
  11. 11. Tareas post-migracionComparación de coste-beneficio•Spatial Support•Filestream Support•Hierarchy Id Support Cambios significantes•CDC* & Change Tracking en aplicación,•LINQ Support•Entity Framework Support operacionales o de•ADO.NET Data Services Support desarrollo•Policy Based Management (DMF)•Performance Data Collection•Enhanced date and time support Cambios•Transact-SQL enhancements moderados en•Sparse column support aplicacion,•Service Broker enhancements operacionales o•SSIS / SSRS / SSAS enhancements* desarrollo•Data/Backup Compression Cambios•Transparent Data Encryption•Resource Governor menores•Filtered Indexes/Statistics•Query Optimizer / Storage Engine enhancements•Enhanced SQL Server Audit•SSRS/SSAS scalability improvements
  12. 12. Tareas post-migracionPost migraciónα 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
  13. 13. Resultados realesRatios de mejora en tiempos de respuesta
  14. 14. Resultados realesTiempo medio de respuesta
  15. 15. Resultados realesCompresiónα Aplicación de compresión en las tablas convenientes según análisis post-migración Nº filas % reducción espacio Compresión Aplicada >50.000 >=40% PAGE >0 <40% ROW
  16. 16. Replicación
  17. 17. Actualización de Replicación Distribuidor puede ser Subscriptores cualquier versión que sea Actualizables a una mayor o igual que la publicación transaccional versión del Publicador de SQL Server 2008 R2Publicador puede ser puede ser cualquiercualquier versión que versión mayor o igual quesea menor o igual SQL Server 2000 SP4que la versión del DistribuidorDistribuidor Publicador Subscriptor Subscriptor a una publicación de mezcla puede ser cualquier versión menor o igual que la versión del Publicador
  18. 18. Escenarioα Migración de SQL Server 2008 a 2008 R2 β Migración mediante Database Mirroringα Origen y destino en distintos CPDs β Cambio publicador: CPD1_PUB  CPD2_PUB β Cambio distribuidor: CPD1_DIST  CPD2_DIST β Cambio subscriptor: CPD1_SUBS  CPD2_SUBSα Replicación de volumen considerable β Minimizar el downtime de la réplica β Reinicialización réplica: > 24 horas β Latencia tolerable baja
  19. 19. Propuestaα Mantener los datos actualizados en los dos CPDsα Republicación β CPD1_PUB  CPD1_DIST  CPD1_SUBS β CPD1_SUBS  CPD2_DIST  CPD2_SUBSα Scripts de republicación copiados y adaptados β Cambio de nombres de servidores β Credenciales y permisosα Scripts de publicación y subscripciones finales β Cambio de nombres de servidores β Credenciales y permisos β Modo de sincronización inicial manual γ sp_addsubscription @sync_type = ‘replication support only’
  20. 20. Puesta en marchaα Asegurarnos que el estado de la sincronización es correctoα Si tenemos N publicaciones, crearlas en serie β Problemas de interbloqueos con los procedimientosα Primera fase: regeneración β Habilitar la base de datos para replicación (sp_replicationdboption) β Añadir un logreader para la base de datos (sp_addlogreader_agent) β Crear las publicaciones (sp_addpublication) β Añadir los artículos (sp_addarticle/sp_articlecolumn) β Añadir las subscripciones (sp_addsubscription)α Con varias publicaciones y 300 tablas publicadas en total el script ejecuta en serie en ~10 segundos
  21. 21. Puesta en marchaα Segunda fase: Resincronización β Añadir los agentes de distribución para las subscripciones PUSH (sp_addpushsubscription_agent) β Permitir el acceso a los usuarios correspondientes (sp_grant_publication_access) β Arrancar todos los agentes de la réplica (sp_startjob) β Limpieza de publicaciones/subscripciones antiguas y de republicación (sp_removedbreplication, etc.)α Tercera fase: Mantenimiento β Utilizar @sync_type = ‘replication support only’ tiene consecuencias β Si añadimos un nuevo artículo a la publicación, es necesario regenerarlo manualmente en los subscriptores. β Los nuevos objetos deben tener un estado inicial sincronizado. β Si modificamos las columnas publicadas, tenemos que eliminar las columnas manualmente de los subscriptores y regenerar los procedimientos almacenados (sp_scriptpublicationcustomprocs)
  22. 22. Puesta en marchaα Integración con el proceso de migración β Configurar Database Mirroring en modo síncrono β Deshabilitar el acceso de las aplicaciones. β Realizar el Database Mirroring failover al nuevo CPD. β Ejecución script primera fase de las réplicas β Habilitar el acceso de las aplicaciones. β Ejecución del script segunda fase de las réplicas β Monitorización y ajustes
  23. 23. Cambios en seguridad
  24. 24. Cambios en seguridadα La seguridad por defecto en SQL Server 2005+ es más estricta que en versiones anterioresα Una migración sin tener en cuenta estos cambios puede traer problemas inesperadosα Problemas típicos β Visibilidad de metadatos β Passwords inseguros β Cross-Database Ownership Chaining β Esquemas <> owners
  25. 25. Visibilidad de metadatosα Es típico al migrar encontrar con problemas debido al cambio en la visibilidad en los metadatos β Antes los metadatos de todos los objetos eran visibles para public β Catálogo, vistas de compatibilidad, vistas de sistema, etc.α Efectos de la limitación β No debemos presuponer que con el rol public tenemos acceso β Consultas a vistas de sistema pueden devolver vacío o un subconjunto de filas β Funciones que devuelven metadatos pueden devolver NULLα Capas de acceso a datosα Generadores de código
  26. 26. Alternativasα GRANT VIEW DEFINITION TO publicα GRANT VIEW ANY DEFINITION TO publicα GRANT VIEW DEFINITION ON SCHEMA/OBJECT:: TO publicα GRANT VIEW DEFINITION ON USER :: A TO Bα GRANT VIEW SERVER STATEα GRANT VIEW ANY DATABASEα Encapsular con EXECUTE ASα Trace flags β 4616  Metadatos a nivel de servidor visibles para application roles. β 3625  Reduce la visibilidad de metadatos en los mensajes de error
  27. 27. Cross-Database OwnershipChainingα Al habilitarlo se mantiene la cadena de ownership entre bases de datos diferentes β Potencial agujero de seguridadα Base de datos A y B con Cross-Database Ownership Chaining habilitadoα Usuario U, db_owner de A crea un objeto en Aα El usuario U accede a través de la vista/objeto creado a la base de datos B
  28. 28. Política de passwordsα Passwords en blancoα Passwords demasiado sencillos, cortos, etc.α Passwords utilizados previamenteα Logins Windows vs SQL Server β Usuarios repetidos  Problemas al consolidarα Passwords “perdidos” β SQL Server almacena solo el HASH β SQL Server 6.5 & 7.0  Snefru sobre ASCII y UNICODE β SQL Server 2000  SHA1, original y en mayúsculas β SQL Server 2005  SHA1, solo originalα Trace flags β 4606  Deshabilita «Enforce Password Policy» para logins de SQL
  29. 29. Migración de DTS
  30. 30. DTSMigrando a SSISα SSIS novedad SQL Server2005 β Cambio radical β Reescritura de productoα Funcionalidades «on the box» amplias β Tareas predefinidas γ ETL γ DBAs γ WMI γ Otras…α Muy común en migraciones
  31. 31. ¿Cómo migrar?DTS a SSISα Reescritura completa β Diseño desde cero β Aprovechamiento de nuevas características y funcionalidades β ¿Cuántos DTS tengo que migrar?¿3, 4, 10, 100? γ Puede ser tedioso γ ¿Se podría automatizar?α Asistente de migración β No es 100% fiable β Compatibilidad DTS β Ejecutar los DTS desde versiones superiores β No escalableα Herramientas de terceros
  32. 32. Asistente de migraciónNo es tan automáticoα 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 δ vbasic script δ No sabe convertirlas al lenguaje de expresiones de SSIS
  33. 33. Asistente de migración. DTS a SSIS
  34. 34. ConsejosSe precavidoα Un sistema actualizado requiere mucha atenciónα Anota 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
  35. 35. ConsejosSe todavia más precavido α 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 ejercicioY recuerda, una migración se sabe que va a ser exitosa, antes incluso de llevarse a cabo 
  36. 36. Recursosα 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"
  37. 37. Agendaα Definicionesα Proceso de migraciónα Replicaciónα Seguridadα DTs
  38. 38. Si quieres disfrutar de las mejores sesiones denuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/

×