Автоматически заменять базу данных разработчиков на действующую базу данных? - PullRequest
0 голосов
/ 12 февраля 2010

У меня есть живая и dev-версии веб-сайта ASP.NET с соответствующими живыми и dev-версиями серверной части SQL Server. Каждый из них находится на своем собственном сервере (всего 4) в одной локальной сети.

Время от времени мы вручную заменяли dev DB на живую DB, используя резервное копирование и восстановление, так что dev DB - это сравнительно недавний снимок живой DB. Какой лучший способ автоматизировать этот процесс?

Мне было бы интересно либо запустить его по расписанию, либо сделать его кнопкой, в которой мы все еще контролируем время.

(Для чего бы то ни было, мы используем CruiseControl.net; поэтому было бы неплохо использовать опцию, позволяющую использовать панель управления CC.net для запуска этого процесса.)

Ответы [ 3 ]

1 голос
/ 12 февраля 2010

Почему бы не настроить репликацию моментальных снимков между вашей базой данных live и dev? Таким образом мы поддерживаем синхронизацию нашей базы данных dev с нашей производственной базой данных.

http://msdn.microsoft.com/en-us/library/ms151198.aspx

1 голос
/ 12 февраля 2010

1 - вы можете использовать репликацию (транзакцию или снимок) для синхронизации двух баз данных.

2 - написать приложение, которое получит резервную копию от БД и восстановит ее. (используйте SMO)

3 - напишите приложение, которое удаляет все данные из dev db и копирует все данные из live db в него. Вы можете использовать bcp (SQLBulkCopy) для выполнения этой работы.

1 голос
/ 12 февраля 2010

Я думаю, что планирование или автоматизация восстановления были бы относительно простыми с помощью команды RESTORE в T-SQL. Запланируйте свои резервные копии, чтобы они пошли в указанное место, и настройте расписание / сценарий, который обновляет базу данных dev, чтобы искать в том же месте.

...