Как скопировать всю базу данных SQL Server 2008, применяя предложение WHERE для ограничения копируемых данных - PullRequest
3 голосов
/ 16 марта 2012

Чтобы обеспечить более реалистичные условия во время разработки и тестирования, мы хотим автоматизировать процесс копирования наших баз данных SQL Server 2008 с рабочих станций на рабочие станции разработчиков. Поскольку размер этих баз данных варьируется от нескольких ГБ до 1-2 ТБ, это займет вечность и не подойдет для некоторых машин (я говорю вам, твердотельные накопители). Я хочу иметь возможность нажимать кнопку или запускать скрипт, который может клонировать базу данных - структуру и данные - , за исключением , чтобы иметь возможность задавать пункты WHERE во время копирования данных, чтобы уменьшить размер базы данных.

Я нашел несколько частичных решений, но ничего, что могло бы копировать объекты схемы и пользовательские данные с ограничениями, не требуя большого количества ручного труда, чтобы гарантировать, что объекты / данные копируются в правильном порядке для удовлетворения зависимостей, ограничений FK и т. Д. I Полностью ожидайте, что напишите предложение WHERE для каждой таблицы вручную, но я надеюсь, что все остальное можно автоматизировать, чтобы мы могли использовать это легко, быстро и часто. Бонусные баллы, если он автоматически подбирает новые объекты базы данных по мере их добавления.

Любая помощь очень ценится.

1 Ответ

1 голос
/ 16 марта 2012

Репликация моментальных снимков с условиями на таблицы.Таким образом, вы получите копию своей схемы и данных при необходимости.

В этой статье описывается, как создать репликацию слиянием, но при выборе репликации моментальных снимков шаги совпадают.И самая интересная часть - Шаг 8: Фильтровать строки таблицы. Конечно, потому что с этим вы можете отфильтровать все ненужные данные для репликации.Но этот шаг необходимо выполнить для каждой сущности, и если у вас их около сотни, вам лучше проанализировать, как это сделать программно, а не через окна мастера.

...