Резервное копирование и восстановление базы данных SQL-сервера с файловой группой FILESTREAM

8

Я использую SQL Server и имею огромную базу данных с двумя файловыми группами:

  • Основной : который содержит все данные, кроме больших файлов (1 МБ +)
  • FILESTREAM (чтение / запись) : который содержит большие файлы

Теперь сценарий резервного копирования:

  • Каждую пятницу получают полную резервную копию (2 часа ночи)
  • Каждый день недели, кроме пятницы, получают дифференциальную резервную копию (2 часа ночи)

Поскольку база данных большая, и она находится на производстве на удаленном сервере, всякий раз, когда я хочу перенести базу данных в свою локальную среду для создания тестовой базы данных (еженедельно), я должен предоставить как основной, так и файловый поток.

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

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

Вопрос 1: могу ли я иметь этот сценарий?

Вопрос 2. Является ли хорошей идеей иметь только одну полную резервную копию и переносить разностные резервные копии / журналы транзакций в тестовую среду?

Вопрос 3: могу ли я иметь лучший сценарий для резервного копирования и восстановления?

Я все уши к рекомендациям. Если у вас есть пример, пожалуйста, покажите мне с запросом T-SQL.

Марио Наварро Кларас
источник
Обзор Filestream прямо говорит нам, что вы можете исключить группы FILESTREAM из ваших резервных копий. Реализацию TSQL было бы
замечательно
Да, вы можете исключить FILESTREAM из своей резервной копии, но в процессе восстановления вам потребуется ее предоставить. Я думаю, что это всегда необходимо, когда ваша файловая группа находится в режиме чтения-записи. Это означает, что вы можете сделать частичное резервное копирование только ваших данных и другое резервное копирование, включая
Mario Navarro Claras

Ответы:

1

Я хотел бы знать, возможно ли изменить содержимое всех столбцов файлового потока при выполнении резервного копирования

Нет.

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

Затем с данными файлового потока я бы заглушил файлы, что можно было сделать любым количеством способов. Вдобавок ко всему, я бы как-то сгенерировал нулевые байтовые файлы на тестовой стороне.

Рэндольф Вест
источник