Как проверить базу данных клиентов по моей схеме базы данных? - PullRequest
0 голосов
/ 03 марта 2009

Наши клиенты используют базы данных SQLServer / Oracle. За эти годы мы отправили им много сценариев обновления, которые они должны были запускать вручную. В большинстве случаев все шло гладко, но время от времени сценарий не выполнялся до конца или имел некоторые ошибки (которые не были обнаружены во время обновления). Кроме того, иногда даже «умные пользователи» по каким-либо причинам сами добавляют индексы / таблицы в эти базы данных. Позднее эти нарушения приводят к проблемам.

Теперь мне было поручено выяснить способ проверки / проверки баз данных наших клиентов по нашей собственной схеме базы данных (таблицы, типы данных, индексы, представления и т. Д.). Выходными данными должен быть какой-то файл различий, указывающий, чего не хватает / чего не должно быть в базе данных. Я мог бы сделать это в коде (C ++) внутри нашего приложения или создать внешний инструмент только для этой цели.

Теперь, прежде чем я начну кодировать, я хотел спросить, есть ли уже инструмент, который бы дал необходимые результаты, или, по крайней мере, мог бы помочь мне создать приличный файл XML из наших баз данных master (Oracle и SQLServer) ? Или есть библиотека, которая может помочь мне написать свой собственный инструмент?

Ответы [ 6 ]

3 голосов
/ 05 марта 2009

Я использовал эту технику раньше, и она не требует покупки каких-либо инструментов.

Enterprise Manager имеет функцию «Создать скрипт». Выполните это на вашей справочной базе данных и базе данных сравнения. Выберите соответствующие параметры для создания сценариев для объектов, которые вас интересуют. Далее просто сравните два сгенерированных файла с вашим любимым инструментом сравнения.

Вы можете выполнить аналогичную процедуру с инструментами Oracle, которые позволяют экспортировать сценарии DDL.

1 голос
/ 03 сентября 2009

Существует три варианта использования инструментов Red Gate:

  1. Пусть ваш клиент запустит сравнение. Вам нужно будет убедить клиенты покупают лицензию SQL Сравните и отправьте им схему снимок вашей базы данных.
  2. Напишите собственное приложение, используя Red SDK для сравнения SQL Gate (595 долл. За 10 раздач) которые можно запустить на сайте клиента.
  3. Попросите своего клиента выслать вам снимок схемы и Запустите сравнение самостоятельно, используя свой собственный копия SQL Сравнить. Красные Ворота предоставляет бесплатный инструмент для создания снимков схемы называется SQL Snapper, который создаст снимки, которые могут быть отправлены вам по электронной почте вашим клиентом Поскольку это не относится к каким-либо данным, это может быть то, что ваш клиент готов рассмотреть.

Инструмент SQL Snapper и пример кода SQL Comparison SDK можно загрузить с нашего веб-сайта labs.red-gate.com.

Совместимость с Oracle теперь доступна в форме раннего доступа. Если вы заинтересованы или хотели бы попробовать инструмент , посетите страницу продукта . Вы можете использовать это бесплатно до полной версии инструмента.

Дэвид Аткинсон, менеджер по продукту, Red Gate Software.

0 голосов
/ 04 марта 2009

Если вы используете Windoze, я годами использую Advanced Query Tool и могу подтвердить, что за деньги он делает больше, чем что-либо еще. В частности, он будет генерировать отчет о различиях между базами данных. Это ODBC / VB6 и может работать с десятками баз данных. Проверьте это. (Нет, я не из QueryTool и не являюсь владельцем какой-либо его части, просто счастливый клиент.)

0 голосов
/ 03 марта 2009

Можете ли вы создать дамп схемы, например, MySQL ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦЫ ?

0 голосов
/ 03 марта 2009

У ребят из Redgate есть отличный инструмент под названием SQL Compare .

0 голосов
/ 03 марта 2009

Для этого мы используем Redgate SQL Compare, и с годами он нам хорошо помог.

Мы также используем Redgate SQL Data Compare для сравнения содержимого справочных таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...