Как восстановить базу данных sql server

Восстановление разностной резервной копии базы данных (SQL Server)

В этом разделе описано, как восстановить разностную резервную копию базы данных в SQL Server с помощью среды SQL Server Management Studio или Transact-SQL.

В этом разделе

Перед началом работы

Восстановление разностной резервной копии базы данных с помощью:

Перед началом

Ограничения

Инструкция RESTORE недопустима в явной или неявной транзакции.

В SQL Serverможно восстановить пользовательскую базу данных из резервной копии базы данных, созданной с помощью SQL Server 2005 (9.x) или более поздней версии.

Предварительные требования

безопасность

Permissions

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

Использование среды SQL Server Management Studio

Восстановление разностной резервной копии базы данных

После подключения к соответствующему экземпляру компонента Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера, щелкнув имя сервера.

Разверните узел Базы данных. В зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.

Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановить и пункт База данных.

База данных

Устройство

В списке Источник: Устройство: База данных выберите имя базы данных, из которой нужно восстановить резервные копии.

В сетке Резервные наборы данных для восстановления выберите резервные копии, которые необходимо восстановить с помощью разностного восстановления.

Дополнительные сведения о столбцах сетки Резервные наборы данных для восстановления см. в статье Восстановление базы данных (страница «Общие»).

На странице Параметры используйте панель Параметры восстановления для выбора любого из следующих вариантов, если он подходит к данной ситуации.

Перезаписать существующую базу данных (WITH REPLACE)

Сохранить параметры репликации (WITH KEEP_REPLICATION)

Выдавать приглашение перед восстановлением каждой резервной копии

Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

Дополнительные сведения об этих параметрах см. в статье Восстановление базы данных (страница «Параметры»).

Схема RESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. База данных не может быть использована, пока не будет восстановлена.

Схема RESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.

Если имеются активные соединения с базой данных, операции восстановления завершатся ошибкой. Проверьте окно Закрыть существующие соединения и убедитесь, что все активные соединения между Среда Management Studio и базой данных закрыты.

По желанию можно использовать страницу Файлы для восстановления базы данных в новом расположении. Дополнительные сведения см. в разделе Восстановление базы данных в новом расположении (SQL Server).

Нажмите кнопку ОК.

Использование Transact-SQL

Восстановление разностной резервной копии базы данных

Выполните инструкцию RESTORE DATABASE с предложением NORECOVERY, чтобы восстановить полную резервную копию базы данных, которая предшествует разностной резервной копии базы данных. Дополнительные сведения см. в разделе Как восстановить полную резервную копию.

Выполните инструкцию RESTORE DATABASE для восстановления разностной резервной копии базы данных, указав:

имя базы данных, к которой будет применена разностная резервная копия;

устройство резервного копирования, с которого происходит восстановление разностной резервной копии базы данных;

предложение NORECOVERY в случае, если нужно применить резервные копии журнала транзакций после восстановления разностной резервной копии базы данных. В противном случае укажите предложение RECOVERY.

В модели полного восстановления или модели восстановления с неполным протоколированием разностная резервная копия восстанавливает базу данных на момент выполнения разностного резервного копирования. Чтобы восстановить данные на момент сбоя, следует применить все резервные копии журнала транзакций, созданные после создания последней разностной копии базы данных. Дополнительные сведения см. в разделе Применение резервных копий журналов транзакций (SQL Server).

Примеры (Transact-SQL)

A. Восстановление разностной резервной копии базы данных

Б. Восстановление базы данных, разностной резервной копии базы данных и журнала транзакций

Источник

Выполнение полного восстановления базы данных (модель полного восстановления)

Задача полного восстановления — восстановить базу данных целиком. В период восстановления база данных находится вне сети. Прежде чем какая-либо часть базы данных перейдет в режим «в сети», все данные восстанавливаются до точки согласования, в которой все части базы данных находятся в одном и том же моменте времени и в которой нет незафиксированных транзакций.

При работе в режиме модели полного восстановления после восстановления резервных копий данных необходимо восстановить все последующие резервные копии журнала транзакций, а затем саму базу данных. Базу данных можно восстановить до определенной точки восстановления в одной из этих резервных копий журналов. Этой точкой восстановления может быть заданная дата и время, помеченная транзакция или регистрационный номер транзакции в журнале (LSN).

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

Ненадежные источники

Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок путем изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из ненадежного источника, выполните для нее инструкцию DBCC CHECKDB на тестовом сервере. Также изучите содержащийся в ней код, написанный пользователем: хранимые процедуры и другой пользовательский код.

Резервные копии из предыдущих версий

Сведения о поддержке резервных копий более ранних версий SQL Serverсм. в подразделе «Поддержка совместимости» раздела RESTORE (Transact-SQL).

Восстановление базы данных до точки сбоя

Обычно восстановление базы данных до точки сбоя включает следующие основные шаги:

Произведите резервное копирование активного журнала транзакций (также известного как заключительный фрагмент журнала). На этом шаге создается резервная копия заключительного фрагмента журнала. Если активный журнал транзакций недоступен, все транзакции этой части журнала будут потеряны.

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

Восстановите самую последнюю полную резервную копию базы данных без восстановления самой базы данных (RESTORE DATABASE имя_базы_данных FROM устройство_резервного_копирования WITH NORECOVERY).

Если существуют разностные резервные копии, восстановите самую последнюю из них без восстановления базы данных (RESTORE DATABASE имя_базы_данных FROM устройство_разностного_резервного_копирования WITH NORECOVERY).

При восстановлении последней разностной резервной копии уменьшается число подлежащих восстановлению резервных копий журнала.

Начиная с первой резервной копии журнала транзакций, созданной после только что восстановленной резервной копии, последовательно восстановите журналы с параметром NORECOVERY.

Восстановите базу данных (RESTORE DATABASE имя_базы_данных WITH RECOVERY). Этот шаг можно объединить с восстановлением последней резервной копии журнала.

На следующем рисунке показана эта последовательность восстановления. После сбоя (1) создается резервная копия заключительного фрагмента журнала (2). Затем база данных восстанавливается до точки сбоя. Это включает восстановление резервной копии базы данных, последующей разностной резервной копии и всех резервных копий журналов, сохраненных после разностной резервной копии, в том числе резервной копии заключительного фрагмента журнала.

Как восстановить базу данных sql server

Если база данных восстанавливается на другой экземпляр сервера, см. раздел Копирование баз данных путем создания и восстановления резервных копий.

Базовый синтаксис инструкции Transact-SQL RESTORE

Базовый синтаксис инструкции RESTORETransact-SQL для последовательности восстановления в предыдущей иллюстрации выглядит следующим образом:

RESTORE DATABASE база_данных FROM full database backup WITH NORECOVERY;

RESTORE DATABASE база_данных FROM полная_разностная_резервная_копия WITH NORECOVERY;

RESTORE LOG база_данных FROM резервная_копия_журнала WITH NORECOVERY;

Повторите шаг по восстановлению журнала из резервной копии для каждой резервной копии журнала.

RESTORE DATABASE база_данных WITH RECOVERY;

Пример. Восстановление до точки сбоя (Transact-SQL)

В следующем примере Transact-SQL показаны важные параметры в последовательности восстановления для восстановления базы данных до точки сбоя. На этом шаге создается резервная копия заключительного фрагмента журнала базы данных. Далее в примере восстанавливается полная резервная копия базы данных и резервная копия журнала, а затем восстанавливается резервная копия заключительного фрагмента журнала. В этом примере показан отдельный последний шаг восстановления базы данных.

В примере используется резервная копия базы данных и резервная копия журнала, созданные в подразделе «Использование резервных копий при модели полного восстановления» раздела Полные резервные копии баз данных (SQL Server). До создания резервной копии базы данных образец базы данных AdventureWorks2012 был настроен на использование модели полного восстановления.

Восстановление базы данных на момент времени в пределах резервной копии журнала

При работе в режиме полного восстановления можно провести полное восстановление базы данных до состояния на момент времени, до помеченной транзакции или до номера LSN в резервной копии журнала. Однако в модели восстановления с неполным протоколированием, если в резервной копии журнала содержатся изменения с неполным протоколированием, восстановление до момента времени невозможно.

Образцы сценариев восстановления на определенный момент времени

В следующем примере предполагается использование критически важной системы баз данных, в которой полная резервная копия баз данных создается ежедневно в полночь, разностная резервная копия — каждый час, с понедельника до субботы. Резервные копии журнала создаются каждые 10 минут в течение дня. Чтобы восстановить базу данных до ее состояния на 05:19 среды, необходимо выполнить следующие действия.

Восстановить полную резервную копию базы данных, полученную в полночь вторника.

Восстановление разностной резервной копии базы данных, созданной в 5:00 в среду.

Применение резервной копии журнала транзакций, созданной в 5:10 в среду.

Применение резервной копии журнала транзакций, созданной в 5:20 в среду, с указанием того, что процесс восстановления относится лишь к происшедшим до 5:19 транзакциям.

В случае если нужно восстановить базу данных до ее состояния на 03:04 четверга, но разностная резервная копия базы данных, созданная в 3:00 четверга недоступна, выполните следующие действия.

Восстановить резервную копию базы данных, полученную в полночь в среду.

Восстановление разностной резервной копии базы данных, созданной в 2:00 в четверг.

Применение всех резервных копий журнала транзакций, созданных за время от 2:10 до 3:00 в четверг.

Применение резервной копии журнала транзакций, созданной в 3:10 в четверг с остановкой процесса восстановления на момент 3:04.

Связанные задачи

Восстановление полной резервной копии базы данных

Восстановление разностной резервной копии базы данных

Восстановление резервной копии журнала транзакций

Восстановление резервной копии с помощью управляющих объектов SQL Server (SMO)

Восстановление базы данных до точки в резервной копии журнала

Источник

Восстановление базы данных в новое место (SQL Server)

В этом разделе описано, как восстановить базу данных SQL Server в новую папку и при необходимости переименовать ее в SQL Server с помощью SQL Server Management Studio (SSMS) или Transact-SQL. Эта процедура позволяет переместить базу данных по новому пути каталога или создать копию базы данных на том же или другом экземпляре сервера.

Перед началом работы

Ограничения

Предварительные требования

Модель восстановления с полным резервным копированием или с неполным протоколированием регламентирует, что перед восстановлением базы данных необходимо создать резервную копию активного журнала транзакций. Дополнительные сведения см. в статье Создание резервной копии журнала транзакций (SQL Server)).

Чтобы восстановить зашифрованную базу данных, требуется доступ к сертификату или асимметричному ключу, использовавшемуся для шифрования этой базы данных. Без сертификата или асимметричного ключа восстановить базу данных невозможно. Необходимо сохранять сертификат, используемый для шифрования ключа шифрования базы данных, пока существует потребность в резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

Рекомендации

безопасность

В целях безопасности рекомендуется не присоединять и не восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.

Permissions

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

Восстановление базы данных в новую папку и при необходимости ее переименование с помощью SSMS

После подключения к соответствующему экземпляру компонента Компонент SQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув имя сервера.

База данных

Устройство

В списке Источник: Устройство: База данных выберите имя базы данных, из которой нужно восстановить резервные копии.

В сетке Резервные наборы данных для восстановления выберите нужные резервные наборы. В этой сетке отображаются резервные копии, доступные в указанном месте. По умолчанию предлагается план восстановления. Чтобы переопределить предложенный план восстановления, можно изменить выбранные элементы в сетке. Выбор всех резервных копий, которые зависят от восстановления более ранних копий, отменяется автоматически, как только отменяется выбор более ранних копий.

Дополнительные сведения о столбцах сетки Резервные наборы данных для восстановления см. в статье Восстановление базы данных (страница «Общие»).

На странице Параметры настройте параметры, если в этом есть необходимость. Дополнительные сведения об этих параметрах см. в статье Восстановление базы данных (страница «Параметры»).

Восстановление базы данных в новую папку и при необходимости ее переименование с помощью T-SQL

При необходимости определите логическое и физическое имена файлов в резервном наборе, содержащем полную резервную копию базы данных, которую нужно восстановить. Эта инструкция возвращает список файлов базы данных и журнала, содержащихся в резервном наборе данных. Базовый синтаксис:

RESTORE FILELISTONLY FROM WITH FILE = номер_файла_резервного_набора

Эта инструкция также поддерживает некоторые параметры WITH. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).

Используйте инструкцию RESTORE DATABASE для восстановления полной резервной копии базы данных. По умолчанию файлы данных и журналов восстанавливаются в исходных местоположениях. При перемещении базы данных используйте параметр MOVE, чтобы переместить каждый файл базы данных и избежать конфликтов с существующими файлами.

Базовый синтаксис Transact-SQL для восстановления базы данных в новом месте и с новым именем:

В следующей таблице аргументы инструкции RESTORE описаны применительно к восстановлению базы данных в новом месте. Дополнительные сведения об этих аргументах см. в разделе RESTORE (Transact-SQL).

новое_имя_базы_данных
Новое имя базы данных.

При восстановлении базы данных на другом экземпляре сервера можно указать исходное имя базы данных вместо нового.

< DISK | TAPE >= имя_физического_устройства_резервного_копирования

< RECOVERY | NORECOVERY >
Если в базе данных используется модель полного восстановления, может возникнуть необходимость применить резервные копии журналов транзакций после восстановления базы данных. В этом случае укажите параметр NORECOVERY.

В противном случае используйте параметр RECOVERY, который применяется по умолчанию.

Если этот параметр не указан, по умолчанию используется первый резервный набор на устройстве резервного копирования.

Дополнительные сведения см. в подразделе «Указание резервного набора данных» раздела Аргументы инструкции RESTORE (Transact-SQL).

ПараметрОписание
логическое_имя_файла_в_резервной_копииУказывает логическое имя файла данных или журнала в резервном наборе данных. Логическое имя файла данных или журнала в резервном наборе данных соответствует его логическому имени в базе данных на момент создания резервного набора данных.

Примечание. Для получения списка логических файлов из набора резервных данных следует использовать инструкцию RESTORE FILELISTONLY.

имя_файла_в_операционной_системеЗадает новое место для файла, указанного параметром логическое_имя_файла_в_резервной_копии. Файл будет восстановлен в этом месте.

Параметр имя_файла_в_операционной_системе может также указать новое имя для восстановленного файла. Это необходимо, если создается копия существующей базы данных на том же экземпляре сервера.

nЗаполнитель, который показывает, что можно указать дополнительные инструкции MOVE.

Примеры (Transact-SQL)

Пример создания полной резервной копии базы данных AdventureWorks2012 см. в разделе Создание полной резервной копии базы данных (SQL Server).

Источник

Обзор процессов восстановления (SQL Server)

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

База данных ( полное восстановление базы данных)

Вся база данных возвращается в прежнее состояние и восстанавливается, при этом база данных находится в режиме вне сети во время операций возврата и восстановления.

Файл данных ( восстановление файла)

Файл данных или набор файлов данных возвращается в исходное состояние и восстанавливается. Во время восстановления файлов файловые группы, содержащие обрабатываемые файлы, автоматически переводятся в режим вне сети на время восстановления. Любые попытки подключения и работы с файловой группой вне сети приведут к ошибке.

Страница данных ( восстановление страницы)

При использовании модели полного восстановления или модели восстановления с неполным протоколированием можно восстановить отдельные станицы. Восстановление страниц может применяться для любой базы данных вне зависимости от числа файловых групп.

SQL Server работает во всех поддерживаемых операционных системах. Дополнительные сведения о поддерживаемых операционных системах см. в разделе Требования к оборудованию и программному обеспечению для установки SQL Server 2016. Сведения о поддержке резервных копий более ранних версий SQL Serverсм. в подразделе «Поддержка совместимости» раздела RESTORE (Transact-SQL).

Общие сведения о сценариях восстановления

Сценарий восстановления в SQL Server — процесс восстановления данных из одной или более резервных копий и возврат в исходное состояние базы данных. Поддерживаемые сценарии восстановления зависят от модели восстановления базы данных и выпуска SQL Server.

Следующая таблица предоставляет возможные сценарии восстановления, которые поддерживаются различными моделями восстановления.

Сценарий восстановленияПростая модель восстановленияМодель полного восстановления или модель восстановления с неполным протоколированием
полное восстановление базы данныхЭто базовая стратегия восстановления. Полное восстановление базы данных может содержать простые операции возврата и восстановления из полной резервной копии. Также полное восстановление базы данных может проводиться на основе полной резервной копии базы данных с ее последующим обновлением по журналу.

Дополнительные сведения см. в разделе Полное восстановление базы данных (простая модель восстановления).

Это базовая стратегия восстановления. Восстановление всей базы данных включает в себя восстановление полной резервной копии, возможно, разностных резервных копий (если они есть) и восстановления всех последующих резервных копий журналов (последовательно). Восстановление всей базы данных завершается восстановлением из последней резервной копии журнала и возвратом в исходное состояние (RESTORE WITH RECOVERY).

Дополнительные сведения см. в статье Выполнение полного восстановления базы данных (модель полного восстановления).

File restore *Восстановление одного или более поврежденных файлов с атрибутом «только для чтения» без восстановления всей базы данных. Восстановление файла возможно только при наличии в базе данных хотя бы одной файловой группы с атрибутом «только для чтения».Восстановление одного или нескольких файлов без восстановления всей базы данных. Восстановление файлов может выполняться, когда база данных находится в режиме «вне сети» или в некоторых выпусках SQL Server«в сети». Во время восстановления файла файловые группы, содержащие обрабатываемый файл, всегда находятся в режиме вне сети.
Восстановление страницыНеприменимоВосстановление одной или нескольких поврежденных страниц. Восстановление страницы может выполняться, когда база данных находится в режиме «вне сети» или в некоторых выпусках SQL Server«в сети». Во время восстановления страницы всегда находятся в режиме вне сети.

Должна быть доступна непрерывная цепочка резервных копий журналов вплоть до текущего файла журнала, и они должны быть применены для приведения страницы в соответствие текущему журналу.

Дополнительные сведения см. в разделе Восстановление страниц (SQL Server).

Поэтапное восстановление *Поэтапное восстановление базы данных на уровне файловой группы, начиная с групп файлов, доступных для чтения и записи, вторичных файловых групп.Восстановление и перевод базы данных в режим в сети по этапам на уровне файловой группы, начиная с первичной файловой группы.

Дополнительные сведения см. в разделе Поэтапное восстановление (SQL Server)

* Восстановление в сети поддерживается только в выпуске Enterprise Edition.

Шаги по восстановлению базы данных

Для восстановления файла Компонент Database Engine выполняет два шага:

создает любой недостающий файл базы данных;

копирует данные с устройств резервного копирования в файл(ы) базы данных.

Для восстановления базы данных Компонент Database Engine выполняет три шага:

создает базы данных и файлы журнала транзакций, если они еще не созданы;

копирует все данные, журналы и страницы индексов с резервной копии базы данных в файлы базы данных;

применяет журнал транзакций в так называемом процессе восстановления.

Независимо от способа восстановления данных, перед восстановлением базы данных Компонент SQL Server Database Engine обеспечивает логическую согласованность всей базы данных. Например, если файл был возвращен в исходное состояние, то нельзя восстановить его и вернуть в режим в сети, пока в нем не будет выполнено достаточное количество транзакций, чтобы он согласовывался с базой данных.

Преимущества восстановления файлов или страниц

Восстановление файлов и страниц вместо восстановления всей базы данных целиком дает следующие преимущества.

Восстановление данных меньшего объема данных уменьшает время, затрачиваемое на копирование и восстановление.

В среде SQL Server восстановление файлов или страниц позволяет другим данным в базе данных оставаться в режиме «в сети» во время операции восстановления.

Восстановление и журнал транзакций

Для большинства сценариев восстановления необходимо применить резервную копию журналов транзакций и позволить Компонент SQL Server Database Engine запустить процесс восстановления для подключения базы данных к сети. Восстановление — это процесс, используемый SQL Server для запуска каждой базы данных в транзакционно-согласованном (чистом) состоянии.

В случае отработки отказа или другого неясного завершения работы, базы данных могут оставаться в состоянии, в котором часть изменений не была записана из буферного кэша в файлы данных, и могут существовать некоторые изменения в файлах данных, вызванные незавершенными транзакциями. При запуске экземпляра SQL Server выполняется восстановление каждой базы данных, состоящее из трех этапов, на основе последней контрольной точки базы данных:

На этапе анализа выполняется анализ журнала транзакций для определения последней контрольной точки и создается таблица «грязных» страниц (ТГС) и таблица активных транзакций (ТАТ). ТГС содержит записи о страницах, которые были «грязными» на момент завершения работы базы данных. TАT содержит записи транзакций, которые оставались активными на момент некорректного завершения работы базы данных.

На стадии повтора выполняется накат всех изменений, записанных в журнале, которые, возможно, не были записаны в файлы данных на момент завершения работы базы данных. Минимальный регистрационный номер транзакции в журнале (minLSN), необходимый для успешного восстановления всей базы данных, находится в ТГС и отмечает начало операций восстановления, необходимых для всех «грязных» страниц. На этом этапе Компонент SQL Server Database Engine записывает на диск все «грязные» страницы, принадлежащие подтвержденным транзакциям.

На стадии отката выполняется откат незавершенных транзакций, обнаруженных в TАT, чтобы убедиться в сохранении целостности базы данных. После отката база данных включается в режим «в сети», и больше никакие резервные копии журнала транзакций не могут быть применены.

Сведения о ходе каждой стадии восстановления базы данных заносятся в журнал ошибок SQL Server. Ход восстановления базы данных также можно отслеживать с помощью расширенных событий. Дополнительные сведения см. в записи блога New extended events for database recovery progress (Новые расширенные события для процесса восстановления базы данных).

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

Чтобы максимально увеличить доступность баз данных в корпоративной среде, SQL Server выпуск Enterprise может перевести базу данных в действие после стадии повтора, в то время как стадия отката все еще будет выполняться. Это также называется быстрым восстановлением.

Модели восстановления и поддерживаемые операции восстановления

Модель восстановления определяет перечень операций, доступных при восстановлении базы данных. В следующей таблице указано, какие сценарии восстановления и в какой степени поддерживаются в каждой из моделей восстановления.

Операция восстановленияМодель полного восстановленияМодель восстановления с неполным протоколированиемПростая модель восстановления
Восстановление данныхПолное восстановление (при наличии журнала).С некоторыми потерями данных.Будут потеряны все данные с момента создания последней полной или разностной резервной копии.
Восстановление на момент времениНа любое время, сохранившееся в резервных копиях журналов.Запрещено, если резервная копия журналов содержит какие-либо изменения с неполным протоколированием.Не поддерживается.
Восстановление файла * * _Поддерживается полностью.Иногда._ ** *Только для вторичных файлов, доступных только для чтения.
Восстановление страницы * * _Поддерживается полностью.Иногда._ ** *Нет.
Поэтапное (на уровне файловой группы) восстановление * * _Поддерживается полностью.Иногда._ ** *Только для вторичных файлов, доступных только для чтения.

* Доступно только в выпуске Enterprise SQL Server

** Сведения о необходимых условиях см. в подразделе Ограничения для восстановления по простой модели восстановлениядалее в этом разделе.

Независимо от модели восстановления базы данных, резервную копию SQL Server нельзя восстановить до версии Компонент SQL Server Database Engine, более старой, чем версия, создавшая резервную копию.

Сценарии восстановления по простой модели восстановления

В простой модели восстановления предусмотрены следующие ограничения для операции восстановления.

Восстановление файлов и поэтапное восстановление доступны только для вторичных файловых групп, предназначенных только для чтения. Дополнительные сведения об этих сценариях восстановления см. в статьях Восстановление файлов (простая модель восстановления) и Поэтапное восстановление (SQL Server).

Запрещено восстановление страниц.

Запрещено восстановление до заданной точки.

Если приведенные выше ограничения противоречат задачам восстановления, рекомендуется использовать модель полного восстановления. Дополнительные сведения см. в разделе Общие сведения о резервном копировании (SQL Server).

Восстановление в модели восстановления с неполным протоколированием

В этом разделе рассматриваются вопросы, относящиеся исключительно к модели восстановления с неполным протоколированием, которая разработана исключительно в дополнение к модели полного восстановления.

Основные сведения о модели восстановления с неполным протоколированием см. в разделе Журнал транзакций (SQL Server).

В целом модель восстановления с неполным протоколированием схожа с моделью полного восстановления, поэтому все, что касается одной модели, также можно применить к другой. Однако модель восстановления с неполным протоколированием влияет на восстановление к моменту времени и на оперативное восстановление.

Ограничения для восстановления на момент времени

Если в модели восстановления с неполным протоколированием в резервной копии журналов содержатся изменения с неполным протоколированием, восстановление до момента времени невозможно. Попытка восстановления до момента времени из резервной копии журнала, содержащей массовые изменения, приводит к сбою операции восстановления.

Ограничения восстановления в сети

Последовательность восстановления в сети работает только при выполнении следующих условий:

все необходимые резервные копии журналов должны быть сделаны до начала последовательности восстановления;

резервные копии массовых изменений были созданы до начала последовательности восстановления в сети;

Если в базе данных существуют массовые изменения, все файлы должны быть либо подключены к сети, либо уничтожены. (Это означает, что они больше не являются частью базы данных.)

Если эти условия не выполняются, последовательность восстановления в сети завершается сбоем.

Перед тем, как начать восстановление в сети, рекомендуется переключиться к модели полного восстановления. Дополнительные сведения см. в разделе Модели восстановления (SQL Server).

Дополнительные сведения о выполнении восстановления в сети см. в разделе Восстановление в сети (SQL Server).

Помощник по восстановлению базы данных (среда SQL Server Management Studio)

Помощник по восстановлению базы данных облегчает создание планов восстановления, реализующих оптимально правильные последовательности восстановления. Решено большинство известных проблем восстановления баз данных, и внедрены предложенные клиентами усовершенствования. Основные усовершенствования, появившиеся в помощнике по восстановлению баз данных:

Алгоритм плана восстановления: значительно улучшен алгоритм, используемый при создании планов восстановления, особенно для сложных сценариев восстановления. Многие крайние случаи, включая разветвляющиеся сценарии восстановления на момент времени, обрабатываются более эффективно, чем в предыдущих версиях SQL Server.

Восстановление на определенный момент времени: помощник по восстановлению баз данных значительно упрощает восстановление базы данных до определенного момента времени. Визуальная временная шкала резервного копирования значительно улучшает поддержку для выполнения восстановления на момент времени. Эта визуальная временная шкала позволяет определять подходящий момент времени в качестве целевой точки восстановления для базы данных. Временная шкала облегчает обзор разветвленного пути восстановления (пути, который покрывает вилки восстановления). Заданный план восстановления на момент времени автоматически включает резервные копии, относящиеся к восстановлению на целевой момент времени (дата и время). Дополнительные сведения см. в статье Восстановление базы данных SQL Server до определенного момента времени (модель полного восстановления).

Дополнительные сведения о помощнике по восстановлению баз данных см. в блогах по управлению SQL Server :

Ускоренное восстановление баз данных.

Ускоренное восстановление базы данных доступно в SQL Server 2019 (15.x) и База данных SQL Azure. Ускоренное восстановление базы данных значительно улучшает доступность базы данных, особенно при наличии продолжительных транзакций, за счет перепроектирования процесса восстановления Компонент SQL Server Database Engine. База данных, для которой было включено ускоренное восстановление, значительно быстрее восстанавливается после отработки отказа или другого неясного завершения работы. Если включено, ускоренное восстановление базы данных также значительно быстрее завершает откат отмененных продолжительных транзакций.

Ускоренное восстановление можно включить для каждой базы данных в SQL Server 2019 (15.x), используя следующий синтаксис:

Ускоренное восстановление базы данных включено по умолчанию на База данных SQL Azure.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *