Когда я должен использовать модель полного восстановления, а когда я должен использовать простую модель восстановления для баз данных?
Вы должны использовать модель полного восстановления, когда вам требуется восстановление базы данных на определенный момент времени. Вы должны использовать простую модель восстановления, когда вам не требуется восстановление базы данных на определенный момент времени и когда в качестве точки восстановления достаточно последнего полного или разностного резервного копирования. (Примечание. Существует другая модель восстановления с массовой регистрацией. Дополнительные сведения о модели восстановления с массовой регистрацией см. В этой ссылке ).
Поставщик Microsoft OLE DB для SQL Server (0x80040E14) Журнал транзакций для базы данных «ИМЯ БАЗЫ ДАННЫХ» заполнен. Чтобы выяснить, почему пространство в журнале нельзя использовать повторно, см. Столбец log_reuse_wait_desc в sys.databases
Причина, по которой вы получили эту ошибку (скорее всего), заключается в том, что вы не делали резервную копию журнала транзакций. Если резервное копирование не выполнено, то он продолжит физически увеличивать файл журнала транзакций (при условии, что авторазраст включен и maxsize позволяет), поскольку он не может повторно использовать какие-либо «части» журнала транзакций (файлы виртуального журнала). Он может пометить эти VLF только для повторного использования и разрешить "обходной" характер журнала транзакций при выполнении резервного копирования журнала транзакций (и некоторых других требований, таких как отсутствие активных транзакций, некоторые аспекты репликации и т. Д.).
Чтобы сжать журнал и снова сделать базу данных доступной, я изменил модель восстановления с FULL на SIMPLE и сжал логический файл журнала, выполнив следующую команду
......
Это помогло, но теперь мне нужно понять, ПОЧЕМУ это помогло, КАК эта ситуация началась и КАК предотвратить это в будущем?
Это помогло вам, потому что, установив для вашей базы данных простую модель восстановления, вы заявили SQL Server, что вам больше не нужно восстанавливать данные на определенный момент времени, а также требование, чтобы файлы виртуального журнала больше не нужно было сохранять и помечать как активные, теперь процесс контрольной точки помечает эти VLF как неактивные.
Выдержка / цитата взята из этой ссылки MSDN :
В простой модели восстановления, если какой-либо фактор не задерживает усечение журнала, автоматическая контрольная точка усекает неиспользуемый раздел журнала транзакций. Напротив, в моделях полного и массового восстановления после создания цепочки резервного копирования журнала автоматические контрольные точки не вызывают усечение журнала.
Затем вы сократили физический файл базы данных, и, поскольку в журнале транзакций было свободное место, теперь он мог физически сжать файл NTFS.
Чтение стоит потратить некоторое время на:
- Модели восстановления
- Управление журналами транзакций (Гейл Шоу)
- Факторы, которые могут задержать усечение журнала
РЕДАКТИРОВАТЬ после вашего редактирования :
Будет ли новая модель восстановления и сокращение баз данных конфликтовать с этим сценарием?
Эта BACKUP DATABASE
команда будет работать с любой моделью восстановления. Что касается рутинной базы данных сжиматься ... НЕ ДЕЛАЙТЕ ЭТОГО !!!! Серьезно, измените размер вашей базы данных соответствующим образом, и если вы используете модель полного восстановления, убедитесь, что вы выполняете обычные и частые файлы журнала транзакций, не только для того, чтобы держать размер журнала транзакций в страхе, но и для соответствия объектам точки восстановления.
Мы не делаем никаких других видов резервного копирования баз данных и, следовательно, не проводим журналы транзакций, не так ли?
Если ваша база данных использует модель полного восстановления, то да, вы должны делать резервные копии журнала транзакций. Если ваша база данных находится в простом восстановлении, то вы физически не сможете сделать резервную копию журнала транзакций.
Что касается используемой модели восстановления (простая или полная), мы не можем принять это решение за вас. Только вы, ваша бизнес-команда и ваши SLA могут.