Опция «усекать журнал на контрольной точке» в SQL Server

11

Длинная история, но наши долгосрочные консультанты (бывшие сотрудники) несколько лет назад (или около того) написали собственный сценарий для взаимодействия с Tivoli Storage Manager, и он, похоже, проверяет опцию БД SQL Server с именем truncate log on checkpoint. Они утверждают, что они не позволяют сценариям функционировать и выполнять резервное копирование в экземпляре SQL 2012.

Я чувствую, что это полная BS, так как я не могу найти такую ​​опцию через, sp_configureи резервные копии работают везде, кроме одного экземпляра. Однако я хотел бы удалить наземную мину, если это так, и удалить другие устаревшие элементы. Я проверяю их у продавца, но не уверен в том, что они говорят.

Исследование, которое я провел, вернуло немного больше, чем, возможно, вариант SQL 2000 или Sybase. Другое утверждение состояло в том, что он вызывается / используется неявно в более поздних версиях (2008 и выше), когда модель восстановления есть, SIMPLEи нет явной возможности включить или выключить ее.

Поскольку TRUNCATE LOGкоманда устарела из-за того, как в настоящее время работают журналы транзакций, я думаю, что это не вариант, который может быть запрошен на данном этапе.

Поскольку у меня нет ни одного экземпляра SQL Server 2000, я надеялся, что кто-то может вспомнить это или проверить на том, что у них есть. Я сказал им, что я ничего не могу порекомендовать. Я также надеялся, что кто-то может подтвердить, что это устарело.

user3885315
источник

Ответы:

9

Вы все еще можете видеть (по крайней мере, в SQL Server 2008R2) trunc. log on chkpt.с помощью sp_dboption, и вы можете также установить опцию базы данных

введите описание изображения здесь

введите описание изображения здесь

В SQL Server 2012 и выше вы получите приятную ошибку

Сообщение 2812, уровень 16, состояние 62, строка 1 Не удалось найти хранимую процедуру sp_dboption.

Его там лежит только для обратной совместимости. В SQL Server 2000 и более поздних версиях SQL Server имеет концепцию модели восстановления, которая определяет, как учитывается усечение журнала, например, при простом восстановлении - только контрольная точка будет усекать журнал, а в режиме полного восстановления - только резервная копия журнала будет усекать журнал. ,

Если вы хотите больше узнать об управлении журналом транзакций, обратитесь к разделу «Лестница к управлению журналом транзакций».

Как отметим со стороны, SybaseASE даже в более новой версии Sybase 15.7 имеет эту опцию (На самом деле, она имеет дубликат, trunc log on chkptи trunc. log on chkpt.последний - тот, который SQL Server получил в SQL 7.0 через SQL Server 2008R2 - как видно в sp_dboption):

введите описание изображения здесь

введите описание изображения здесь

Кин Шах
источник
Это довольно много, как я и думал. Я не видел sp_dboption в 2012 году, поэтому я предполагаю, что он был удален. Я нашел SP в 2008 году, и, действительно, опция присутствует в 2008 году. Я с радостью приму ваше слово, что его нельзя изменить. Я не хочу менять его, даже если он не устарел. Спасибо за подтверждение, а также за хорошее объяснение концепций.
user3885315