Pregunta

Nuestros clientes utilizan bases de datos SQLServer / Oracle. A lo largo de los años, les hemos enviado muchos scripts de actualización que tuvieron que ejecutar manualmente. La mayoría de las veces, todo transcurrió sin problemas, pero de vez en cuando una secuencia de comandos no se ejecutaba completamente hasta el final o tenía algunos errores (que no se detectaron en el momento de la actualización). Además, a veces incluso "usuarios inteligentes" Se agregaron índices / tablas a esas bases de datos, por cualquier razón. Más tarde, esas irregularidades conducen a problemas.

Ahora se me ha asignado la tarea de encontrar una manera de verificar / validar las bases de datos de nuestros clientes con nuestro propio esquema de base de datos (tablas, tipos de datos, índices, vistas, ...). La salida debe ser algún tipo de archivo de diferencia que indique qué falta / qué no debe estar en la base de datos. Podría hacer esto en el código (C ++) desde nuestra aplicación o puedo crear una herramienta externa solo para este propósito.

Ahora, antes de comenzar a codificar, quería preguntar si ya existe alguna herramienta que produzca los resultados necesarios o que al menos pueda ayudarme a generar un archivo XML decente de nuestras bases de datos maestras (Oracle y SQLServer) ? ¿O hay una biblioteca que podría ayudarme a escribir mi propia herramienta?

¿Fue útil?

Solución

He usado esta técnica antes y no requiere comprar ninguna herramienta.

Enterprise Manager tiene un " Crear secuencia de comandos " característica. Realice esto en su base de datos de referencia y la base de datos de comparación. Seleccione las opciones adecuadas para generar scripts para los objetos que le interesan. A continuación, solo compare los dos archivos generados con su herramienta de diferencias favorita.

Puede realizar un procedimiento similar con las herramientas de Oracle que le permiten exportar los scripts DDL.

Otros consejos

Hay tres opciones usando las herramientas de Red Gate:

  1. Haga que su cliente ejecute la comparación. Necesitarías convencer a tu clientes para comprar una licencia de SQL Compara y enviales un esquema instantánea de su base de datos.
  2. Escribe una aplicación propia usando Red SDK de comparación de SQL de Gate ($ 595 para 10 distribuciones) que se pueden ejecutar en el sitio del cliente.
  3. Pídale a su cliente que le envíe una instantánea del esquema y haz la comparación tú mismo usando tu propia Copia de la comparación de SQL. Puerta roja proporciona una herramienta gratuita de instantáneas de esquema llamado SQL Snapper que creará instantáneas que luego pueden ser enviadas por correo electrónico por tu cliente Como esto no incluye ningún dato, puede ser algo que su cliente esté dispuesto a considerar.

La herramienta SQL Snapper y el código de ejemplo del SDK de comparación de SQL se pueden descargar de nuestro sitio web labs.red-gate.com.

La compatibilidad con Oracle ahora está disponible en forma de una compilación de acceso anticipado. Si está interesado o desea probar la herramienta visite la página del producto . Puede usar esto de forma gratuita hasta el lanzamiento completo de la herramienta.

David Atkinson, Gerente de Producto, Red Gate Software.

Utilizamos Redgate SQL Compare para esto y nos ha sido muy útil a lo largo de los años.

También usamos Redgate SQL Data Compare para comparar el contenido de las tablas de búsqueda.

La gente de redgate tiene una excelente herramienta llamada Comparación de SQL .

¿Puede crear un volcado de esquema como el SHOW de MySQL? ¿CREAR TABLAS ?

Si estás en Windoze, he usado la herramienta de consulta avanzada durante años y puedo dar fe de que, por el dinero, hace más que nada. En particular, generará un informe diferencial entre bases de datos. Es ODBC / VB6, y puede ejecutarse contra docenas de bases de datos. Echale un vistazo. (No, no soy de QueryTool ni soy dueño de ninguna parte, solo soy un cliente feliz).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top