Мне нужно выполнить резервное копирование 10-20 баз данных SQL Server 2008 R2 с размерами от 10 до 50 ГБ, когда они подключены к сети и используются одновременно одним корпоративным приложением. Мне также нужно восстановить их до состояния, которое в значительной степени синхронизировано между всеми базами данных (я могу позволить себе несколько секунд на рассинхронизацию между базами данных). Целью является сбор производственных данных для сред QA / DEV.
Я бы очень хотел не требовать, чтобы базы данных работали в полном восстановлении, и предложить метод резервного копирования, который предназначен для сбора данных для сред обеспечения качества и остается независимым от основного процесса резервного копирования, который не находится под моим контролем.
Моим клиентам потребуется 1-2 часа, чтобы собрать 20 полных резервных копий по ~ 30 ГБ каждая. Это делает последовательное полное резервное копирование неприемлемым, поскольку базы данных будут слишком десинхронизированы при работе в режиме простого восстановления.
Я ищу идею лучше, чем они:
IDEA 1: снимок виртуальных дисков на уровне SAN. xcopy MDFs / LDFs из снимка.
После того, как скопированные файлы присоединены к другому экземпляру сервера, процесс восстановления должен создавать согласованные базы данных, которые в значительной степени создаются одновременно.
Поиск в Интернете убедил меня, что это плохая идея, по крайней мере потому, что я могу получить рассинхронизацию против master / msdb / etc.
IDEA 2: организовать комплексное резервное копирование и синхронное восстановление во всех базах данных
Это требует от меня требовательного запуска баз данных в полном восстановлении, чего я не хочу. Запустите параллельное резервное копирование для всех баз данных задолго до крайнего срока (T0). По достижении T0 создайте резервную копию всех журналов (это займет не более нескольких минут). Возьмите получившееся множество резервных копий и попробуйте восстановить их и прокрутить журналы вперед / назад, чтобы получить несколько согласованное состояние по базам данных относительно T0.
Это требует большого планирования и написания сценариев, чтобы использовать его надежно, поэтому я бы пошел на все, чтобы избежать этого.
Я пропускаю какое-то другое решение?
PS1: Мне бы очень хотелось иметь возможность использовать снимки БД . Идея заключалась в том, чтобы создать снимок каждого дБ (который должен быть закончен в секундах), а затем полностью выполнить резервное копирование каждого из них последовательно в течение следующих минут / часов. Затем восстановите их все на другом сервере и верните каждый из них в моментальный снимок. AFAIK этот сценарий невозможен, потому что снимки не могут быть сохранены вместе с базой данных. Их можно откатить только на том месте, где они были созданы. Кроме того, они требуют Enterprise Edition, который у меня не для всех клиентов.
PS2: Если вам известно о стороннем решении, способном создавать кросс-дБ синхронизированные резервные копии, пожалуйста, укажите это.