У меня есть очень большая производственная база данных и очень большая база данных среды тестирования в SQL Server 2008R2. Обе базы данных имеют одинаковую структуру таблиц, но разные пользователи / логины / разрешения / роли.
Мне нужно обновлять только несколько таблиц в тестовой базе данных периодически с производства, примерно раз в месяц.
В настоящее время я планирую сделать это
- Используйте утилиту BCP для экспорта необходимых мне таблиц из Production.
- Скопируйте файл экспорта bcp на тестовый сервер
- Отключить индексы и ограничения для всех таблиц, которые я обновляю в тесте
- Усечь тестовые таблицы базы данных
- Загрузите данные обратно в таблицы тестовой базы данных, используя BCP.
- перестроить индексы и повторно включить ограничения в тесте
Все это кажется слишком сложным для такой маленькой задачи. Также кажется, что это вызовет много повторов (в t-log). Есть ли лучший способ сделать это?
Еще один способ, который я задумал сделать, - это восстановить резервную копию из производства в тестовой среде, но у меня есть проблема, что полная резервная копия будет довольно большой, и мне не нужно обновлять все таблицы, только несколько. - а также пользователи и безопасность в производственной базе данных отличаются от тестовых. Это будет перезаписано настройками безопасности в производственной базе данных, если я восстановлю всю базу данных.