Синхронизация изменений, не связанных с данными, между различными экземплярами БД - PullRequest
0 голосов
/ 04 июля 2011

Вот сценарий.

Две идентичные базы данных:

Одна база данных Live, одна база данных Archive. Предполагается, что они имеют одинаковую схему (таблица, представление, индексы, SP, функции), единственное отличие - данные в базах данных. Данные в Live DB будут заархивированы с некоторыми бизнес-правилами, и, очевидно, данные в Archive DB будут отличаться от данных в Live DB.

Проблема заключается в том, что мы продолжаем вносить исправления изменений (изменение SP, изменение функций, изменение данных или даже изменение схемы таблицы) в Live DB в каждом выпуске. К сожалению, изменения, требуемые в Archive DB, давно забыты, а проблемы просто еще не решены. Однажды случится, что несинхронизированные БД вернутся и укусят нас.

Вот что я хочу сделать: я хочу синхронизировать изменения, не связанные с данными, из Live DB в Archive DB. Автоматически или вручную.

Любая идея приветствуется. Вот некоторые идеи, которые пришли мне в голову:

  • репликации? Я считаю, что репликация не совсем подходит для этого сценария.

  • Сценарий SP / функция / просмотр изменений? Я могу вручную вытащить сценарии и объединить их вместе. Как насчет изменений схемы таблицы? Мне трудно отследить, чтобы выяснить, что произошло с изменениями схемы таблицы.

Я знаю, что есть Redgate, и другой продукт может справиться с этой задачей, но я хотел бы изучить весь потенциал.

Если кто-нибудь может указать какой-нибудь реальный способ, который был бы великолепен.

1 Ответ

0 голосов
/ 04 июля 2011

Если вы используете SQL Server, Visual Studio Team System Database Edition имеет инструмент сравнения и исправления схемы. Взгляните на эту статью

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