Изменение целевого времени восстановления базы данных (SQL Server)
Применимо к:SQL Server
В этой статье описывается, как задать или изменить целевое время восстановления базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL. По умолчанию целевое время восстановления — 60, а база данных использует косвенные контрольные точки. Значение целевого времени восстановления устанавливает верхнюю границу времени восстановления для этой базы данных.
Этот параметр вступает в силу немедленно и не требует перезапуска SQL Server.
Примечание
Верхняя граница, указываемая для отдельной базы данных посредством настройки целевого времени восстановления, может быть превышена из-за долгой транзакции, которая может вызвать чрезмерное время для отмены действий.
ограничения
При оперативной транзакционной рабочей нагрузке в базе данных, настроенной для использования непрямых контрольных точек , производительность может быть снижена. Косвенные конечные точки сохраняют количество «грязных» страниц ниже определенного порогового значения, чтобы восстановление базы данных выполнялось в течение заданного времени восстановления. Параметр конфигурации интервала восстановления использует количество транзакций для определения времени восстановления в отличие от косвенных контрольных точек, использующих количество грязное страниц.
Если косвенные конечные точки включены в базе данных, получающей большое число операций DML, средство фоновой записи может начать агрессивно сбрасывать «грязные» буферы обмена на диск, чтобы гарантировать, что время, необходимое для выполнения восстановления, находится в пределах целевого периода восстановления базы данных. Это может привести к дополнительным действиям ввода-вывода в определенных системах, что может привести к возникновению узких мест производительности, если дисковая подсистема работает выше порогового значения ввода-вывода или приближается к ней.
Разрешения
Необходимо разрешение ALTER на базу данных.
Использование SQL Server Management Studio
В обозреватель объектов подключитесь к экземпляру ядра СУБД SQL Server и разверните этот экземпляр.
Разверните контейнер Базы данных , щелкните правой кнопкой мыши базу данных, которую нужно изменить, и выберите команду Свойства .
В диалоговом окне Свойства базы данных выберите страницу Параметры.
На панели Восстановление в поле Целевое время восстановления (секунды) укажите количество секунд в качестве верхней границы времени восстановления этой базы данных.
Использование Transact-SQL
Подключитесь к экземпляру SQL Server, где находится база данных.
Используйте следующую инструкцию ALTER DATABASE следующим образом:
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
target_recovery_time
Начиная с SQL Server 2016 (13.x) значение по умолчанию — 1 минута. Если значение больше 0 (значение по умолчанию для более старых версий), то оно указывает значение верхней границы времени восстановления для заданной базы данных в случае сбоя.SECONDS
Указывает, что значение target_recovery_time выражается в количестве секунд.MINUTES
Указывает, что значение target_recovery_time выражается в количестве минут.В следующем примере устанавливается время восстановления базы данных
AdventureWorks2022
в60
секунд.ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по