1 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. Aranda SQL COMPARE® Versión 1.0 ARANDA Software Corporation 2002-2007. Todos los derechos reservados. Cualquier documentación técnica proporcionada por Aranda Software Corporation es un producto registrado por Aranda Software Corporation y pertenece a Aranda Software Corporation. El software descrito en este manual está protegido por los acuerdos y leyes que regulan la propiedad intelectual y los derechos sobre publicaciones tanto en Colombia como las leyes internacionales sobre estas materias y puede ser utilizado únicamente bajo los términos enunciados en la licencia adjunta. Está prohibida la reproducción total o parcial del presente manual por cualquier medio impreso, escrito, gráfico, electrónico o mecánico incluyendo fotocopiado, grabación o almacenamiento en cualquier forma, sin la autorización previa y por escrito de Aranda Software Corp. Aranda Software Corp. puede realizar cambios y mejoras en los productos descritos en el presente manual sin previo aviso. Tales cambios serán incorporados en nuevas ediciones de la presente publicación. MARCAS COMERCIALES Aranda Software, el logotipo de Aranda Software, Aranda SQL COMPARE y todos sus componentes, son marcas registradas de Aranda Software Corporation. Microsoft es una marca registrada de Microsoft Corporation y Office y Windows son marcas registradas de Microsoft Corporation. Nada contenido en este manual se debe interpretar como autorización o permiso para utilizar tales marcas registradas. Otros nombres de sociedades, productos o servicios mencionados en este manual pueden ser marcas registradas de sus respectivas compañías o marcas de servicios de terceros y son utilizadas sólo como referencia. 2 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. CONTENIDO 1. 2. 3. 3.1. 4. 4.1. 4.1.1. 4.1.2. 4.1.3. 4.2. 4.3. 4.3.1. 4.3.2. 4.3.3. 4.3.4. Introducción ........................................................................ 4 Descripción General de Aranda SQL COMPARE ................................ 4 Interfaz de Aranda SQL COMPARE ............................................... 5 Presentación de los Paneles de la Interfaz de Aranda SQL COMPARE ..... 6 Utilización de Aranda SQL COMPARE............................................ 7 Configuración de Fuentes de Datos para Comparar .......................... 7 Comparación de Dos Bases de Datos ............................................ 7 Comparación de una Base de Datos y un Snapshot .......................... 9 Comparación de dos Snapshots .................................................11 Filtrado de Objetos de las Bases de Datos ....................................13 Análisis y Sincronización de Bases de Datos ..................................14 Ver Script...........................................................................14 Sincronizar .........................................................................16 Mensajes............................................................................16 Alertas ..............................................................................17 3 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 1. Introducción Actualmente las organizaciones dependen de la tecnología para cumplir con sus objetivos en cualquier tipo de industria. De esta forma, uno de los grandes retos es sin duda alguna, incrementar los niveles de servicios de información y tecnología (IT) que soportan las metas corporativas. Por esta razón y ante el deber de satisfacer esta necesidad de manera eficiente, los desarrolladores de software implementan de manera continua y cada vez más rápida actualizaciones y mejoras a sus aplicaciones, de tal suerte que sus clientes obtengan de ellas mayores y mejores beneficios. Por estos motivos y en busca de una herramienta práctica en el análisis y comparación de bases de datos de tecnología SQL Server, Aranda Software ha desarrollado Aranda SQL COMPARE. Esta aplicación, es indudablemente una de las mejores ayudas para la implementación, el análisis y el mejoramiento continuo del software para la gestión de la infraestructura IT de nuestros clientes. 2. Descripción General de Aranda SQL COMPARE Aranda SQL COMPARE, es una herramienta especialmente diseñada para la comparación y la sincronización de la estructura de bases de datos pertenecientes exclusivamente a la tecnología Microsoft SQL Server (SQL Server 7.0, SQL Server 2000, y SQL Server 2005); por este motivo esta herramienta NO es compatible con motores de bases de datos diferentes a SQL Server, como por ejemplo Oracle. Esta aplicación, es muy útil por ejemplo en el desarrollo de un ambiente en el que los diversos cambios realizados en la estructura de una base de datos local, necesitan ser transferidos a otra base de datos en un servidor remoto. Tradicionalmente, este proceso implicaba el trabajo de una o varias personas, examinando la estructura de la base de datos y generando scripts de migración de manera manual. 4 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. Aranda SQL COMPARE realiza este proceso por usted, y dentro de su análisis incluye elementos pertenecientes a las bases de datos comparadas tales como: tablas, procedimientos, funciones, entre otros. Finalmente, esta aplicación se constituye en una ayuda primordial para el desarrollo de procesos de actualización de un producto específico migrando de manera eficiente las estructuras de dos bases de datos. Esta herramienta define cuatro puntos de vista en cuanto al análisis y la comparación de las bases de datos predefinidas por el usuario: • Objetos Diferentes • Objetos Iguales • Objetos presentes en la base de datos fuente. • Objetos presentes en la base de datos de destino. 3. Interfaz de Aranda SQL COMPARE Al utilizar esta aplicación el usuario podrá visualizar la siguiente interfaz, mediante la cual será posible no solo configurar las diferentes fuentes de datos para comparar, sino también observar los resultados de la comparación y si es requerido sincronizar en cualquier sentido la información de ambos elementos seleccionados. 5 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 3.1. Presentación de los Paneles de la Interfaz de Aranda SQL COMPARE Tanto el Panel de Fuentes de Datos, como los cuatro paneles que muestran la lista de objetos presentes en las bases de datos comparadas, tienen cinco opciones que definen la manera en que los datos serán presentados u ocultados en la interfaz. Estas opciones son: • Floating: presenta el panel definido, como si estuviera suspendido en la interfaz gráfica. • Dockable: esta es la presentación predeterminada por la herramienta, y le permite modificar el tamaño de cada panel, así como moverlo hacia los lados de la interfaz con el fin de visualizar mejor determinados datos de interés para el usuario. • Tabbed Document: esta opción aumenta el tamaño del panel seleccionado, presentándolo en el espacio equivalente a la mitad de la interfaz gráfica, con el fin de garantizar una mejor visualización y análisis de los objetos contenidos en las bases de datos. • Auto Hide: esta opción oculta de manera temporal el panel seleccionado, pero este se encontrará ubicado en una pestaña al lado derecho de la interfaz gráfica, desde donde puede ser nuevamente seleccionado y visualizado. • Hide: esta opción cierra de manera definitiva el panel seleccionado, posiblemente porque su contenido no es de interés para el usuario, o porque en esta vista no se halla clasificado ningún objeto perteneciente a las bases de datos analizadas. 6 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 4. Utilización de Aranda SQL COMPARE 4.1. Configuración de Fuentes de Datos para Comparar Cuando se utiliza Aranda SQL COMPARE, es necesario definir con anterioridad las fuentes de datos que van a ser analizadas y comparadas por la herramienta. Esta información es establecida dando clic en la opción “Seleccione”, presente en la interfaz de uso de la aplicación. A continuación aparecerán las siguientes opciones: • • • Ambas Bases de datos. Una base de datos y un Snapshot. Ambos Snapshots. 4.1.1. Comparación de Dos Bases de Datos Cuando selecciona la comparación de dos bases de datos, la interfaz de la herramienta presenta cuatro campos para que el usuario defina los siguientes aspectos: • Servidor: este campo tiene una lista de opciones preconfiguradas que pueden ser seleccionadas por parte del usuario. • Login: corresponde al nombre de usuario asignado por el administrador IT. • Contraseña: clave de ingreso al servidor seleccionado A continuación de presentar la contraseña para el ingreso al servidor, de clic en la opción “Conectar” y en el campo “Base de Datos”, se desplegará una lista de opciones en cuanto a las bases de datos pertenecientes al servidor referido, y que www.arandasoft.com 7 © Copyright. Todos los derechos reservados. Aranda Software Corp. coinciden con los datos anteriormente ingresados. Seleccione la base de datos que desea comparar y repita el mismo procedimiento para seleccionar la segunda base de datos necesaria para concluir el proceso. Finalmente de clic en la opción “Comparar”. A continuación, la herramienta presentará un cuadro de espera mientras se encuentra analizando los elementos previamente requeridos y finalmente en los cuatro paneles de la interfaz aparecerán claramente organizados los elementos presentes en las bases de datos, considerando cuatro grupos de objetos: • • • • Objetos Objetos Objetos Objetos que que que que existen en ambas bases de datos, pero son diferentes. existen únicamente en la base de datos fuente. existen únicamente en la base de datos de destino. existen en ambas base de datos y son idénticos. 8 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. La información obtenida a partir de este análisis puede ser adicionalmente examinada, dando un clic en un objeto específico de cada base de datos, y en la parte inferior de la interfaz, se mostrará un área denominada “Diferencias”, en la cual aparecerán cada uno de los campos que hacen parte del objeto seleccionado y se visualizaran las diferencias establecidas a partir de conectores lógicos (>, <, =). 4.1.2. Comparación de una Base de Datos y un Snapshot Aranda SQL COMPARE le permite comparar una base de datos y un snapshot (si desea un snapshot de la base de datos de los productos de Aranda Software, este puede ser proporcionado a usted por la compañía). Para seleccionar la base de datos que desea comparar, siga el procedimiento descrito en la sección “Comparación de Dos Bases de Datos” 9 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. El snapshot puede ser ubicado desde Aranda SQL COMPARE dando clic en la opción “Explorar”; a continuación, se visualizará una ventana de búsqueda para que pueda seleccionar el archivo de su conveniencia guardado previamente en una ubicación de su estación de trabajo. Un snapshot es un archivo binario que contiene información acerca de la estructura de una base de datos. Se caracteriza por tener tablas pero no datos, y es muy útil en un proyecto de comparación cuando no es posible conectarse por diversas razones a una base de datos. Por ejemplo, este archivo puede ser utilizado en cualquiera de los siguientes casos: • Para realizar un control simple de versiones de bases de datos. • Para comparar bases de datos en servidores SQL desconectados. www.arandasoft.com 10 © Copyright. Todos los derechos reservados. Aranda Software Corp. Posterior a la ubicación y selección de la base de datos y el snapshot es posible iniciar el análisis de los elementos seleccionados, dando clic en la opción “Comparar”. En este caso el proceso de sincronización puede ser establecido únicamente desde el snapshot hacia la base de datos, debido a que el snapshot es un archivo que no puede ser actualizado. 4.1.3. Comparación de dos Snapshots La comparación de dos snapshots se realiza con el fin de obtener información relevante con relación a inconsistencias o diferencias existentes en la estructura de determinadas bases de datos, que puedan generar dificultades para la utilización o migración de aplicaciones de software. Por este motivo, esta opción es un elemento diseñado con fines de soporte técnico para identificar y resolver problemas de funcionamiento de nuestras aplicaciones de gestión de infraestructura IT. Para seleccionar los snapshots que desea comparar, siga el procedimiento descrito en la sección Comparación de una Base de Datos y un Snapshot Como en los casos anteriores de clic en la opción “Comparar”, para obtener resultados en los paneles de la interfaz gráfica del producto y con ello tenga claridad acerca de las posibles diferencias y semejanzas entre los snapshots seleccionados. 11 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 12 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 4.2. Filtrado de Objetos de las Bases de Datos Una vez comparados los elementos seleccionados y sus resultados presentados en los cuatro paneles de la interfaz gráfica, el usuario tiene la posibilidad de seleccionar aquellas tablas y objetos que no desea sincronizar o actualizar entre las bases de datos o snapshots referidos (con excepción del panel dedicado para los elementos que son idénticos para ambas bases de datos seleccionadas). De otra parte, es posible dar doble clic en el título de la columna izquierda de cada panel, denominado “Incluir”, para que automáticamente la herramienta cambie de estado todos los objetos pertenecientes al panel en referencia (si se encuentran en estado seleccionado cambiarán a deseleccionado y viceversa). No obstante, si el usuario desea seleccionar o deseleccionar objetos y tablas específicas de cada panel, es necesario dar doble clic directamente sobre el objeto requerido para lograr este fin. Cuando el usuario selecciona un objeto se mostrará el y en caso de deseleccionarlo se mostrará este otro icono siguiente icono definiendo que objetos serán o no posteriormente sincronizados. En el caso que el usuario quiera seleccionar o eliminar todas las tablas y objetos de las bases de datos seleccionadas para su sincronización, es posible utilizar los botones “Todos” o “Ninguno”, ubicados en la parte superior de cada panel de la interfaz gráfica del producto, tal como se muestra a continuación: 13 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 4.3. Análisis y Sincronización de Bases de Datos Además de comparar y visualizar de manera organizada tanto las diferencias como las semejanzas entre las bases de datos seleccionadas, es posible implementar cuatro opciones adicionales en cuanto al análisis y sincronización de estas bases de datos, tal y como se aprecia a continuación: 4.3.1. Ver Script Esta opción le permite visualizar de manera detallada todas las acciones que la solución debe implementar con el fin de sincronizar las bases de datos seleccionadas, describiendo de manera muy específica cada uno de los pasos necesarios para cumplir con este objetivo. 14 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. Si el usuario lo desea, es factible guardar el archivo de scripts generado para la sincronización de las bases de datos, esto con el objeto de tener una referencia histórica en cuanto a las acciones y los pasos necesarios para el cumplimiento final de este proceso. Adicionalmente esta acción es de gran utilidad, en el caso que no sea posible sincronizar directamente las bases de datos seleccionadas (debido por ejemplo a la falta de permisos para tener acceso a una base de datos requerida). Posteriormente, se puede utilizar este script para realizar la sincronización por parte del administrador de la base de datos tomando en cuenta otras herramientas específicas. Para guardar el archivo de Scripts haga un simple clic en la opción “Guardar”, y a continuación en una ventana de selección, determine la ubicación más adecuada de su estación de trabajo para cumplir con este proceso. Nota: tenga en cuenta que una base de datos comparada con otra base de datos del motor SQL 2000 genera scripts diferentes que la misma base de datos comparada con una de la tecnología SQL 2005. 15 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp. 4.3.2. Sincronizar Esta opción permite actualizar e igualar de manera automática las estructuras de las dos bases de datos seleccionadas de manera que ya no existan inconsistencias y diferencias que impidan correr adecuadamente una aplicación o dificulten su funcionamiento. Cuando se selecciona esta opción, el usuario puede configurar el sentido de la flecha (dando un clic sobre ella) entre los elementos comparados para definir los siguientes aspectos: • La dirección en que serán actualizadas las estructuras de las bases de datos (base de datos de origen y base de datos de destino). • Con base en el aspecto anterior, sentido en el que se establecerá el archivo de scripts para definir las acciones necesarias para realizar la sincronización entre las bases de datos. 4.3.3. Mensajes Esta opción resume el archivo de scripts anteriormente mencionado, de manera tal que el usuario tenga un elemento más para analizar y estar al tanto de las acciones necesarias para realizar una sincronización de dos bases de datos, tal como se muestra a continuación: | www.arandasoft.com 16 © Copyright. Todos los derechos reservados. Aranda Software Corp. Como en el caso del archivo de scripts, el archivo de mensajes puede ser guardado, para mantener un registro histórico del proceso (dando clic en la opción “Guardar”): 4.3.4. Alertas: Esta opción es de vital importancia para los usuarios de Aranda SQL COMPARE, debido a que este archivo notifica de manera clara acerca de las posibles fallas e inconsistencias que se puedan presentar entre las dos bases de datos seleccionadas, y que de alguna manera impedirán que el proceso de sincronización entre ellas sea totalmente exitoso. Por ejemplo, este archivo advertirá acerca de la posible perdida de datos de tablas de extensión muy amplia posterior al proceso de actualización, prevendrá ciertas fallas producto de incongruencias entre las reglas de las bases de datos respectivas, etc. Gracias a la información presentada por esta tabla, el usuario podrá definir con precisión que objetos deberá o no incluir en la sincronización de las bases de datos respectivas con el fin de obtener un resultado exitoso. Algunos de los mensajes que puede presentar esta tabla son por ejemplo: • The column [Description] on table [dbo].[FLOOR] is being truncated. There may be loss of data. • www.arandasoft.com The column [SWPRJEXT] on table [dbo].[SWDPROJECT] is being marked as NOT NULL. There is no default value so the update may fail. 17 © Copyright. Todos los derechos reservados. Aranda Software Corp. La tabla de Alertas, como en los casos anteriores puede ser guardada en cualquier ubicación de su estación de trabajo, dando un simple clic en el botón “Guardar” 18 www.arandasoft.com © Copyright. Todos los derechos reservados. Aranda Software Corp.