Octubre 2004
This presentation is the property of its rightful owner.
Sponsored Links
1 / 62

Octubre 2004 PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on
  • Presentation posted in: General

S. T. Técnicas de Migración a SQL 2000. Miguel Egea Gómez Microsoft SQL-Server MVP. Octubre 2004. El objetivo. Técnicas de migración. Herramientas de migración. Experiencias de migración. ¿Que debe esperar de esta sesión?. Datos a tener en cuenta. XML. Mejoras en el ‘collation’

Download Presentation

Octubre 2004

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Octubre 2004

S

T

Técnicas de Migración a SQL 2000

Miguel Egea Gómez

Microsoft SQL-Server MVP

Octubre 2004


Que debe esperar de esta sesi n

El objetivo

  • Técnicas de migración.

  • Herramientas de migración.

  • Experiencias de migración.

¿Que debe esperar de esta sesión?


Que es nuevo en sql 2000

Datos a tener en cuenta

  • XML.

  • Mejoras en el ‘collation’

  • Servidores Federados.

  • Vistas indexadas.

  • Trigger Instead Of.

  • DRI en cascada.

  • Vistas particionadas actualizables

  • Text-In row

¿Que es nuevo en SQL.2000?


Octubre 2004

Agenda

Agenda

Pasos iniciales y problemas más habituales.

Planificando la actualización.

Herramientas para la migración

Nuevas herramientas de SQL


Octubre 2004

Pasos iniciales y principales problemas

Agenda


Pasos en una migraci n

Planificación

  • Revisión de código SQL 6.x

  • Planificación de la actualización desde 6.X

  • Planificación de la actualización desde 7.0

  • Comprobación.

  • Implementación.

Pasos en una migración


Revisi n del c digo para actualizar

Vamos por partes

  • A nivel del sistema.

  • Tablas del sistema

  • Vistas de Information_Schemas

  • Sintaxis

  • Comportamiento

Revisión del código para actualizar


A nivel del sistema

Versiones y posibilidades

  • 6.0, 6.5 y 7.0 en Sql-Server 7.0.

  • 6.0, 6.5 , 7.0 y 8.0 en Sql-Server 2.000.

  • Sp_dbcmptlevel “BBDD”

A nivel del sistema


Base de datos master

Catálogos del sistema

  • Compatibilidad con 80.

  • Puedes tener BBDDs a cualquier nivel de compatibilidad.

    • Puedes migrar en fases.

  • Eso sí, migre todo cuanto antes.

Base de datos Master


Tablas del sistema

Hay que evitar en lo posible su uso

  • Procedimientos almacenados del sistema que usamos.

  • Accesos a tablas del sistema directamente.

    • “select * From sysobjects”

  • Formato de almacenamiento unicode.

  • Las vista del sistema pueden minimizar el problema

Tablas del sistema


Vistas de information schema

Siendo estándar.

  • Ayuda a cumplir el ANSI SQL-92.

    • INFORMATION_SCHEMA.TABLES

    • INFORMATION_SCHEMA.VIEWS

Vistas de Information-schema


Claves extranjeras

Varios

  • Las claves externas deben ser idénticas.

    • Antes en 6.5 podían no serlo si eran alfanuméricas.

Claves extranjeras


Demos

Demostración

Evitando problemas con los logins

También se puede usar sp_change_users_login

Demos


Indices

  • Un índice clustered ya no garantiza resultados ordenados.

  • Multiprocesadores y paralelismo.

  • Búsquedas en índices clustered y heaps.

  • Estrategias de creación

    • Pequeños índices clustered

    • El index tunning wizard

Indices


Demos1

Demostración

El index tunning Wizard y profiler

Demos


Problemas m s habituales

Nulos

  • ANSI_DEFAULTS

    • ANSI_NULL_DFLT_ON

    • ANSI_NULLS

  • Funciones agregadas con NULL

Problemas más habituales.


Problemas m s habituales1

Nulos

  • 6.5 trabaja como si Concat_null_yields_null está en off

  • 7.0 como si está en on.

  • Los char null en 6.5 son varchar en 7.0 y posterior son char.

Problemas más habituales.


Problemas m s habituales2

Varios

  • Quoted Identifiers

    • En 2000 por defecto es ON

    • En 7.0 y 6.5 es OFF

  • Truncado de strings.

    • Intentando insertar demasiados caracteres en un campo varchar

      • 6.5 inserta y no dice nada.

      • 7.0 aborta la insercion y genera un error

        • “String or binary data would be trucated”

Problemas más habituales


Problemas m s habituales3

Overflows

  • Insertar valores más grandes para el tipo de datos

  • El resultado depende de

    • Versión

    • Modo de ocmpatibillidad

    • Como esté el ANSI_WARNINGS

    • Que la columna admita o no admita nulos

Problemas más habituales


Problemas m s habituales4

Strings Vacios

  • Antes de 7.0

    • Datalength(‘’)=1

    • RTRIM (‘ ‘)=NULL

  • Con 7.0 y 2000

    • Datalength(‘’)=0

    • RTRIM (‘ ‘)=‘’

Problemas más habituales


Problemas m s habituales5

Creando objetos

  • Sp’s con referencias a tablas del sistema.

  • Columnas con nombres nulos

Problemas más habituales


Problemas m s habituales6

  • Problemas con el collate

Demostración

Problemas más habituales


Problemas m s habituales7

Más de creando objetos

  • Syscomments borrados

  • Sp_rename

One on more warnings has ben logged. Please read the next

Screen carefully before you begin your upgrade

Problemas más habituales


Problemas m s habituales8

Revisión del código

  • Acciones imprescindibles

    • Cambios en la sintaxis

    • Localización en el código T-SQL.

    • Localizar al responsable (sin hacerle daño ).

  • Tener en cuenta el tiempo para revisar el proceso de actualización.

Problemas más habituales


Demos2

Demostración

Diferencias en los nulos entre ANSI y no ANSI

Demos


Octubre 2004

Planificando la actualización.

Agenda


Demos3

Demostración

Actualización por defecto

De 6.5 a 2.000

Demos


Opciones de instalaci n

Instalando SQL-Server 2.000

  • Instalar un nuevo servidor

  • Instalar cuando 6.5 o 7 ya están

    • Actualizar/sustituir 6.5 7.0

      • Actualiza automáticamente la BBDD.

    • 6.5/7.0 permanecen, creando instancias con nombre en 2000.

Opciones de Instalación


Actualizando bases de datos a 2000

Proceso de actualización.

  • Automáticamente en la instalación.

  • Actualización selectiva después de la instalación.

    • 6.5 *** Asistente de actualización

    • 7.0

      • Asistente para copiar bases de datos

      • Detach/attach

      • Backup/Restore

Actualizando bases de datos a 2000


Algunas opciones del asistente de actualizaci n

Opciones del asistente

  • Para un ordenador

  • Para dos

  • Para cinta.

Algunas opciones del asistente de actualización


M todos de transferencia a evitar

Cuidado con esto

  • DTS

  • Bcp

  • Backup/restore (entre 6.5 y cualquier otro)

Métodos de transferencia a evitar


Requisitos hardware y software

Siempre depende

  • Plataforma

  • Sistema operativo

  • Versión del navegador

  • Versión del SQL.

Requisitos hardware y software


Orden adecuado de actualizaci n

Un consejo

  • Primero las bbds de usuario

    • Estudiando las dependencias

  • Después model.

Orden adecuado de actualización


Tiempos estimados de migraci n

Estimaciones

  • Desde 6.5

    • Depende naturalmente del hardware y software

      • 1 GB 1 hora aproximadamente

      • 10 GB menos de 4 horas

      • 50 GB menos de 12 horas

      • 100 GB menos de 24 horas

    • Si se hace desde cinta hay que multiplicar por 2.

Tiempos estimados de migración


Espacio para 6 x a 7 0 200

Requisitos de tamaño

  • Incrementar tempb en 10 mb (6.5) (disk init)

  • Establecer autocrecimiento para 7.0 o 2000

  • 3 Mb libres en master de 6.5

  • El espacio total necesario para la migración es 1.5 el que ocupe ahora.

Espacio para 6.x a 7.0/200


Espacio de 7 0 a 2000

Requisitos de tamaño

  •  No hace falta espacio adicional.

Espacio de 7.0 a 2000


Nombres de los servidores

Los nombres

  • Guiones en el nombre de servidor

  • Obtener el nombre de servidor.

  • BBDD por defecto de sa.

Nombres de los servidores


Seguridad nt para la actualizaci n

Instalando SQL-Server 2.000

  • Miembros de Administrador local en los Windows en ambos servidores.

  • Autenticación mixta. (SQL y Windows).

  • Los grupos locales usados deben existir en el destino y ser iguales.

Seguridad NT para la actualización


Aprovechando ventajas de seguridad

Seguridad Integrada

  • Borre todos los Users id

  • Borre todos los logins

  • Cree grupos en NT

  • Cree logins basados en esos grupos

  • Cree usuarios basados en ese rol

  • Todos los administradores se basan en un rol.

  • Ponga un password complicado a sa.

Aprovechando ventajas de seguridad


Demos4

Demostración

Aprovechando la seguridad integrada.

Demos


Configuraciones de servidor

Sp_configure

  • Algunos parámetros no son actualizados

  • Tareas después de actualizar

    • Establecer los parámetros

    • Registrar el servidor

    • Añadir al grupo de servidores (EM).

Configuraciones de servidor


Cambios de formato entre 6 5 y posteriores

Cambios

  • TEMDB in ram ya no está soportado.

  • Cambios en las tablas del sistema entre 6.x y posteriores.

  • Formato de backup.

Cambios de formato entre 6.5 y posteriores


Verificaciones

Hay que ser precavido

  • Debe conocer

    • Número de objetos

    • Filas en cada tabla

  • Validaciones por defecto

  • Validación ‘transferencia de datos’

  • Validación exahustiva.

Verificaciones


Planifique la vuelta atr s

La planificación y organización es muy importante

  • Desarrolle una estrategia de vuelta atrás

  • La actualización se para a nivel de paso.

  • No se puede volver atrás.

  • Los formatos de backups son incompatibles

  • Bcp

  • DTS

  • Replicación.

Planifique la vuelta atrás


Demos5

Demostración

¿Conocen ustedes la replicación?

Demos


Octubre 2004

Pruebas y herramientas de prueba

Agenda


Pruebas

  • Puede reconstruir master para seguir probando con la actualización.

  • Herramientas de testing

    • Splittrc

    • Ostress

  • Comparar los datos.

  • Ojo, tanto splittr como Ostress son herramientas ‘no soportadas’.

Pruebas


Saber lo que se prueba

  • Tenga un objetivo

  • Determine los métodos para analizar resultados.

  • Ejecute los test de prueba varias veces.

  • Analize y compare resultados.

Saber lo que se prueba


Ejemplo de splittrc

  • Splittrc –ifichero.sh –opath –v

Demostración

Ejemplo de splitTrc


Ostress

  • Aplicación odbc.

  • Puede simular 1024 conexiones para un solo proceso ostress.

  • Contiene bastante funcionalidad (numero de iteraciones, delays entre querys,..)

  • Es Multithreader.

Ostress


Ejemplos de uso de ostress

1. ostress -Usa -P -S. -Q"select @@VERSION“

*Sencillo y se conecta al servidor actual

2. ostress -Usa -P –S. -q"select @@VERSION“ –r1000

*Ejecuta el comando 1000 veces en una sola conexion

3. ostress -Usa -P -S. -Q"select @@VERSION“ –r1000 –n200

Abre 200 hilos y en ejecuta el comando 1000 veces en cada uno

4. ostress -Usa -P -S. -Q"select @@VERSION“ -q

*En modo silencioso.

Ejemplos de uso de ostress


Tambi n puede utilizar un fichero de entrada

  • Ostress –Usa –P –S. –ifichero.sql –q

    • Se conecta con sa sin password al servidor actual y lanza las instrucciones de fichero.sql en modo silencioso.

  • Admite *, para cada viechro abre un nuevo hilo de ejecución.

También puede utilizar un fichero de entrada


M s opciones

  • Trazar para volver a ejecutar.

    • Incluso en 6.5 se pueden elegir una serie de eventos que permitan volver a ejecutar una traza.

    • Cuidado con claves primarias, objetos ya existentes,….

Más opciones.


Planificando la migraci n

  • Cree un plan de trabajo

    • Muy detallado

    • Con responsable de cada paso.

  • ¡¡¡ No te olvides de las aplicaciones, quizá sean lo más difícil !!!

Planificando la migración


Implementando la actualizaci n

  • Copias de seguridad de 6.5

  • Ejecutas DBCC’s en 6.5

  • Confirma que tu backup funciona.

  • Ejecuta DBCC en las BBDD’s restauradas.

  • Quita los procedimientos que se ejecutan al iniciarse SQL menos sp_Sqlregister.

  • Cierra todas las conexiones

  • Quita los flags de traza (si es que tienes).

Implementando la actualización


Si no funciona la actualizaci n

  • Asegurate de tener los servicios por defecto de NT ejecutandose

    • En el panel de control

  • Mata lo que no sea necesario con el administrador de tareas.

  • Inténtalo de nuevo.

  • (8%)

  • Revisa los logs que deja la actualización en el directorio Upgrade\servidor_fecha_hora

Si no funciona la actualización


Actualizando desde 7 0

  • Nueva instancia en 2000, 7.0 será la instancia por defecto.

  • Reemplazar 7.0 por completo.

  • Métodos de actualización.

Actualizando desde 7.0


Actualizaciones especiales

  • Si estamos en cluster

  • Si hay replicaciones

    • Distribuidor

    • Publicador

    • Subscriptor.

Actualizaciones especiales


Herramientas de sql 2000 que deber an conocer

  • Analisys Services

  • Reporting Services

  • Trigger instead of

Demostración

Herramientas de SQL-2000 que deberían conocer


Conclusiones

  • Hay que tener la mejor herramienta.

  • El camino puede ser complicado, pero lo conocemos .

  • Hay herramientas que nos ayudan.

  • Muchos ya lo han hecho antes.

Conclusiones


Despedida

  • Ha sido un placer.

  • Me tienen en

  • [email protected]

  • [email protected]

  • [email protected]

Despedida


Hasta la pr xima

Hasta la próxima.


  • Login