Я прочитал десятки статей о том, почему это плохая идея. Аргументы против использования автономной базы данных в качестве резервной копии легион. Тем не менее, я все еще думаю, что в моем случае это имеет смысл. Понимая, что это часто слова администраторов, которые слишком мало знают, я хотел бы рассказать о своей стратегии добрым людям, чтобы посмотреть, не подскажет ли кто-нибудь, почему то, что я делаю, будет более правильно сделано с помощью механизма внутреннего резервного копирования. .
Позвольте мне остановиться на некоторых общих вопросах.
- Мои файлы базы данных почти заполнены, поэтому тот факт, что резервные копии только копируют
используемые страницы мне не нужны;
- Я не использую хранилище файлового потока;
- мое приложение может обрабатывать небольшие периоды простоя, когда я отсоединяюсь и делаю копию;
- Различные кошмары с правами доступа к файлам, которые сопровождают отключение баз данных, уже решены.
Общий размер БД составляет около 1 ТБ. Моя главная причина отсоединения и присоединения вместо использования резервных копий - производительность. В моем тестировании значительно быстрее отсоединить базу данных, сделать копии базовых файлов и снова прикрепить исходные файлы, чем выполнять резервное копирование. Во время восстановления также значительно быстрее прикреплять файлы (даже если мне нужно сначала скопировать их в нужное место), чем восстанавливать их.
Я могу обойти проблему производительности резервного копирования, используя что-то кроме полной резервной копии, но это не помогает, когда дело доходит до восстановления. В случае катастрофы мне нужно быстро вернуться к работе. Мое приложение может периодически обрабатывать небольшие периоды простоя, но любое большое время простоя является катастрофическим. Восстановление 1 ТБ базы данных занимает больше времени, чем бизнес желает допустить для приложения.
Последний пункт, который я часто читал, состоит в том, что отсоединение базы данных сопряжено с некоторым риском. Так же, как мы должны выполнить тестовое восстановление резервных копий, я немедленно присоединяю любые скопированные файлы MDF / LDF / NDF к SQL Server для аварийного восстановления, чтобы убедиться, что копия исправна. Я полагаю, что здесь я могу отсоединить базу данных и сломать что-нибудь, чтобы исходные файлы БД больше не могли быть повторно присоединены. Честно говоря, я никогда не видел этого, поэтому, если это действительно возможно, я чувствую, что это довольно далеко. Я делаю это каждую ночь, так что я потерял бы дневную стоимость отчетов в этом (маловероятном?) Сценарии.
Я что-то пропустил?