Проста модель відновлення SQL Server 2012 з LOG_BACKUP log_reuse_wait_desc


11

Незважаючи на те , що я роблю своє власне розслідування, хто - небудь знає , чому база даних в SIMPLEмоделі відновлення має LOG_BACKUPдля log_reuse_wait_desc?

SQL Server 2012 SP1. База даних створена всього кілька тижнів тому. Ні реплікації, ні дзеркального відображення, ні доставки журналів, і жодного з них не було.

Ми зробили резервну базу даних і відновити на інший екземпляр, він показує , SIMPLEі NOTHINGв log_reuse_waitіншій інстанції. Але я не думаю, що відновлення в іншому екземплярі є хорошим способом відтворення проблеми під час операції відновлення транзакцій відкат / відкат назад.

Відповіді:


11

Добре, провів вчора день і ніч на дослідженні, тестуванні та спробі відтворити проблему. Знайдено першопричину:

MODELбазу даних, встановлену для SIMPLEмоделі відновлення.

Якщо база даних моделей була встановлена ​​для SIMPLEмоделі відновлення, а користувальницькі бази даних створюються з SIMPLEмоделлю відновлення, SQL Server якось трактує це так, як ніби це у FULLмоделі відновлення. Звідси чекаємо LOG_BACKUPна обрізання колоди.

Я перерахував кроки в цьому посиланні, щоб показати, як я відтворив проблему.

Я думаю, що першопричиною є те, що якщо базу даних користувачів було створено (не змінюється після) за допомогою простої моделі відновлення, то у неї є ця проблема. Я звинувачую це в базі даних моделі, оскільки це єдиний спосіб створити базу даних користувачів із визначеною моделлю відновлення.

Це задокументовано у статті 2830400 Бази знань Майкрософт та зафіксовано в SQL Server 2012 SP1 CU4 та RTM CU7:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.