Как восстановить базу данных sql из резервной копии
Перейти к содержимому

Как восстановить базу данных sql из резервной копии

  • автор:

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

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

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

  • Перед началом: РекомендацииБезопасность
  • Восстановление базы данных SQL Server на определенный момент времени с помощью:Среда SQL Server Management StudioTransact-SQL

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

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

  • Используйте параметр STANDBY для поиска неизвестного момента времени.
  • Задайте момент времени в начале последовательности восстановления

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

Разрешения

Если восстанавливаемая база данных не существуют, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).

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

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

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

  1. В обозревателе объектов подключитесь к соответствующему экземпляру ядра СУБД SQL Server и разверните дерево сервера.
  2. Разверните узел Базы данных. В зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данныхи выберите системную базу данных.
  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановитьи пункт База данных.
  4. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, используйте страницу Общие , раздел Источник . Выберите один из следующих параметров.
    • База данных Выберите из раскрывающегося списка базу данных для восстановления. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования msdb .

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

  • Устройство Нажмите кнопку обзора (. ), после чего откроется диалоговое окно Выбор устройств резервного копирования . В окне Тип носителя резервной копии выберите один из перечисленных типов устройств. Чтобы выбрать одно или несколько устройств в окне Носитель резервной копии , нажмите кнопку Добавить. После добавления нужных устройств в списке Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие . В списке Источник: Устройство: База данных выберите имя базы данных, которую нужно восстановить. Примечание. Этот список доступен, только если выбрано Устройство . Будут выбраны только те базы данных, резервные копии которых доступны на выбранном устройстве.

Заметка Используйте поле Интервал временной шкалы для изменения количества времени, отображаемого на временной шкале.

  • Перезаписать существующую базу данных (WITH REPLACE)
  • Сохранить параметры репликации (WITH KEEP_REPLICATION)
  • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

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

  • По умолчанию установлена схемаRESTORE WITH RECOVERY , при этом база данных находится в готовом состоянии для использования путем отката незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. Выберите данный параметр, если выполняется восстановление всех необходимых резервных копий.
  • СхемаRESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. База данных не может быть использована, пока не будет восстановлена.
  • СхемаRESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.

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

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

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

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

Базовый синтаксис Transact-SQL

RESTORE LOG database_name FROM WITH STOPAT= TIME, RECOVERY.

Точка восстановления является самой последней фиксацией транзакции, которая произошла во время или до значения datetime , определенного параметром time.

Чтобы восстановить только изменения до определенного момента времени, для каждой восстанавливаемой резервной копии укажите WITH STOPAT =time . Это гарантирует, что конечное время не будет пропущено.

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

Пример этой процедуры см. в подразделе Примеры (Transact-SQL)далее в этом разделе.

  1. Подключитесь к экземпляру сервера, на который необходимо восстановить базу данных.
  2. Выполните инструкцию RESTORE DATABASE с параметром NORECOVERY.

Заметка Если последовательность частичного восстановления исключает любые файловые группы FILESTREAM , восстановление на момент времени не поддерживается. Можно принудительно продолжить последовательность восстановления. Тем не менее файловые группы FILESTREAM, не вошедшие в инструкцию RESTORE, больше невозможно восстановить. Для принудительного продолжения восстановления на момент времени укажите параметр CONTINUE_AFTER_ERROR вместе с параметром STOPAT, STOPATMARK или STOPBEFOREMARK, который также необходимо указать в своих последующих инструкциях RESTORE LOG. Если указать параметр CONTINUE_AFTER_ERROR, выполняется последовательность частичного восстановления, а файловая группа FILESTREAM становится невосстановимой.

Заметка Параметры RECOVERY и STOPAT. Если в резервной копии журнала транзакций не содержится требуемое время (например, если указанное время выходит за рамки времени, отраженного в журнале транзакций), создается предупреждение и база данных остается невосстановленной.

Пример (Transact-SQL)

В следующем примере база данных восстанавливается в состояние на 12:00 AM April 15, 2020 и демонстрируется операция восстановления, использующая несколько резервных копий журналов. На устройстве резервного копирования AdventureWorksBackups полная резервная копия базы данных, подлежащей восстановлению, — это третий резервный набор данных на устройстве ( FILE = 3 ), резервная копия первого журнала — это четвертый резервный набор ( FILE = 4 ), резервная копия второго журнала — это пятый резервный набор ( FILE = 5 ).

В базе данных AdventureWorks2022 используется простая модель восстановления. Чтобы разрешить создание резервных копий журналов, перед проведением полного резервного копирования базу данных необходимо настроить на использование модели полного восстановления, выполнив инструкцию ALTER DATABASE AdventureWorks SET RECOVERY FULL .

RESTORE DATABASE AdventureWorks FROM AdventureWorksBackups WITH FILE=3, NORECOVERY; RESTORE LOG AdventureWorks FROM AdventureWorksBackups WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM'; RESTORE LOG AdventureWorks FROM AdventureWorksBackups WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM'; RESTORE DATABASE AdventureWorks WITH RECOVERY; GO 

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

  • Restore a Database Backup Using SSMS
  • Создание резервной копии журнала транзакций (SQL Server)
  • Восстановление базы данных до точки отказа в модели полного восстановления (Transact-SQL)
  • Восстановление базы данных до помеченной транзакции (среда SQL Server Management Studio)
  • Восстановление до регистрационного номера транзакции в журнале (SQL Server)
  • ToPointInTime (SMO)

Microsoft SQL Server: работа с резервными копиями баз данных

Для работы с резервными копиями баз данных Microsoft SQL Server можно воспользоваться web-интерфейсом.

В адресной строке браузера (рекомендуется использовать Internet Explorer версии 7.0 или 8.0; работа в Google Chrome не поддерживается) наберите адрес https://mssqltools.masterhost.ru, и нажмите клавишу «Ввод».

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

Авторизация в web-интерфейсе MSSQL Server

Введите логин к базе данных Microsoft SQL Server, высланный вам письмом при регистрации площадки, и соответствующий пароль к нему. Нажмите «ОК», нажмите кнопку «Продолжить», после чего вы попадёте в интерфейс управления бэкапами.

По умолчанию открывается страница «Restore A Database» (восстановить базу данных).

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

Для того, чтобы восстановить резервную копию вашей локальной базы данных Microsoft SQL Server в хостинговую базу данных, нужно сделать следующее:

  1. Выбрать базу данных, которую хотите восстановить: Выбор базы данных для восстановления
  2. Подтвердить выбор, кликнув кнопку «OK»: Подтверждение выбора базы данных для восстановления
  3. Выбрать файл с бэкапом базы данных (для того, чтобы выбрать файл с бэкапом, находящийся на вашем локальном компьютере, кликните кнопку «Browse»: Выбор файла с бэкапом базы данных для восстановления Выберите требуемый файл и кликните кнопку «OK», после чего файл будет загружен на сервер и появится в списке доступных бэкапов. Кликните «OK», чтобы продолжить: Подтверждение выбора файла с бэкапом базы данных для восстановления
  4. Выбрать требуемый резервный набор данных (backup set):Выбор требуемого резервного набора данных
  5. Восстановить базу данных из бэкапа, кликнув кнопку «Restore»: Восстановление базы данных из бэкапа И далее «OK»: Подтверждение восстановления базы данных из бэкапа В случае успеха вы получите сообщение «Restore successfully performed»: Restore successfully performed При этом сообщения в секции «Check database options» в большинстве случаев можно игнорировать.

Известные ограничения:

Восстановить хостинговую базу данных из вашей резервной копии можно в том случае, если резервная копия сделана в Microsoft SQL Server 2005, 2008 и 2012 версий.

Восстановление из резервных копий, сделанных в Microsoft SQL Server 7.0 и ниже не поддерживается. Также не поддерживается восстановление из резервных копий, содержащих каталоги полнотекстового поиска Microsoft SQL Server 2000 и 2005 версий.

Резервное копирование базы данных

Для того, чтобы получить резервную копию хостинговой базы данных Microsoft SQL Server, нужно сделать следующее:

  1. В левой части меню в разделе «Tools» выбрать пункт «Backup Databases», далее выбрать требуемую базу данных: Выбор базы данных для резервного копирования
  2. Проверить информацию о выбранной базе данных и кликнуть кнопку «OK»: Подтверждение выбора базы данных для резервного копирования
  3. Ввести имя и описание резервного набора данных: Ввод имени и описания резервного набора данных
  4. Кликнуть кнопку «Backup» для начала резервного копирования базы данных: Подтверждение начала резервного копирования
  5. После резервную копию можно будет скачать на локальный компьютер кликнув соответствующую ссылку: Скачивание резервной копии Либо выбрав в левой части меню в разделе «Tools» пункт «Manage Backup Files»

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

Известные ограничения:

На наших хостинговых серверах используется Microsoft SQL Server 2012, поэтому сделанные с их помощью резервные копии баз данных вы сможете восстановить только в Microsoft SQL Server 2012. Восстановление в предыдущих версиях Microsoft SQL Server не поддерживается.

В случае необходимости для переноса данных между базами данных Microsoft SQL Server 2008 и MSSQL Server 2005 можно использовать стандартную процедуру экспорта данных в Microsoft SQL Server Management Studio.

Управление файлами резервных копий

Управлять файлами резервных копий можно с помощью пункта «Manage Backup Files», который находится в левой части меню, в разделе «Tools». Здесь вы можете удалить, скачать, или переместить файл с резервной копией из каталога «Backup» в «Restore» и наоборот:

Прочие вопросы по работе с резервными копиями направляйте авторизованной заявкой из личного кабинета, выбрав отдел «Техподдержка Windows-хостинга, Windows VPS и Windows DS».

Если у вас остались вопросы — посетите раздел FAQ.

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

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

ограничения

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

При восстановлении базы данных из другого экземпляра примите во внимание сведения из раздела Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).

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

При восстановлении более старой базы данных версий до более новой версии SQL Server эта база данных автоматически обновляется до новой версии. Это предотвращает использование базы данных с более старой версией ядро СУБД. Но это относится к обновлению метаданных и не влияет на уровень совместимости базы данных. Если уровень совместимости пользовательской базы данных до обновления был 100 или выше, после обновления он останется таким же. Если уровень совместимости равен 90 перед обновлением, в обновленной базе данных уровень совместимости имеет значение 100, что является самым низким поддерживаемым уровнем совместимости в SQL Server 2016 (13.x) и больше. Дополнительные сведения см. в разделе Уровень совместимости ALTER DATABASE (Transact-SQL).

Как правило, база данных сразу становится доступной. Однако если база данных SQL Server 2005 (9.x) содержит полнотекстовые индексы, процесс обновления импортирует, сбрасывает или перестраивает индексы в зависимости от параметра параметра полнотекстового обновления сервера. Если выбран режим обновления Импортировать или Перестроить, то полнотекстовые индексы во время обновления будут недоступны. В зависимости от объема индексируемых данных процесс импорта может занять несколько часов, а повторная сборка — до десяти раз дольше.

Если выбран режим обновления Импорт, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены. Сведения о просмотре и изменении параметра Режим обновления полнотекстового поиска см. в статье Наблюдение за полнотекстовым поиском для экземпляра сервера и управление им.

Сведения о восстановлении SQL Server из Хранилище BLOB-объектов Azure см. в статье SQL Server Backup and Restore with Microsoft Хранилище BLOB-объектов Azure.

Примеры

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

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, используйте страницу Общие , раздел Источник . Выберите один из следующих вариантов:
  4. База данных Выберите из раскрывающегося списка базу данных для восстановления. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования msdb .

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

    Диалоговое окноВыбор устройств резервного копирования . Носитель данных резервной копии
    Выберите тип носителя в раскрывающемся списке Тип носителя данных резервной копии . Примечание. Параметр Лента появляется только в случае, если на компьютере установлен ленточный накопитель, а параметр Устройство резервного копирования — только в случае, если имеется хотя бы одно устройство резервного копирования. Прибавить
    В зависимости от типа носителя данных, выбранного в поле Носитель резервной копии , при нажатии кнопки Добавить открывается одно из следующих диалоговых окон. (Если список в поле со списком Тип носителя резервной копии заполнен, кнопка Добавить недоступна.)
Тип мультимедиа Диалоговое окно Description
Файл Локальный файл резервной копии В данном диалоговом окне можно выбрать локальный файл из дерева или указать удаленный файл, используя его полное имя в формате UNC. Дополнительные сведения см. в разделе Устройства резервного копирования (SQL Server).
Устройство Выбор устройства резервного копирования В данном диалоговом окне из списка можно выбрать логические устройства резервного копирования, определенные на экземпляре сервера.
Лента Выбор ленты с резервной копией В этом диалоговом окне можно выбрать из списка ленточных дисков, физически подключенных к компьютеру под управлением экземпляра SQL Server.
URL-адрес Выберите расположение файла резервной копии В этом диалоговом окне можно выбрать существующие учетные данные SQL Server или контейнер хранилища Azure, добавить новый контейнер хранилища Azure с подписанным URL-адресом или сформировать подписанный URL-адрес и учетные данные SQL Server для уже существующего контейнера хранилища. См. также статью Соединение с подпиской Microsoft Azure
URL-адрес S3 Выбор расположения файла резервного копирования S3 В этом диалоговом окне введите URL-адрес виртуального узла и идентификатор ключа секрета и идентификатор ключа доступа для хранилища объектов, совместимого с S3. Дополнительные сведения см. в статье о резервном копировании и восстановлении SQL Server с хранилищем объектов, совместимым с S3.

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

Данный список доступен, только если выбран параметр Устройство . Будут выбраны только те базы данных, резервные копии которых доступны на выбранном устройстве.

  1. ПараметрыWITH (необязательно):
    • Перезаписать существующую базу данных (WITH REPLACE)
    • Сохранить параметры репликации (WITH KEEP_REPLICATION)
    • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)
  2. Выберите параметр в поле Состояние восстановления . В данном окне определяется состояние базы данных после операции восстановления.
    • По умолчанию используется схема RESTORE WITH RECOVERY, которая выполняет откат незафиксированных транзакций и после завершения оставляет базу данных работоспособной. Дополнительные журналы транзакций не могут быть восстановлены. Выберите этот вариант, если выполняется восстановление сразу всех необходимых резервных копий.
    • Схема RESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. Базу данных нельзя использовать, пока она не будет восстановлена.
    • СхемаRESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.
  3. Создайте резервную копию заключительного фрагмента журнала до восстановления Не для всех сценариев восстановления требуется резервная копия заключительного фрагмента журнала. Дополнительные сведения см. в разделе Сценарии, в которых требуется резервная копия заключительного фрагмента журнала статьи Резервные копии заключительного фрагмента журнала (SQL Server).
  4. Если имеются активные соединения с базой данных, то операция восстановления может завершиться ошибкой. Проверьте параметр «Закрыть существующие подключения», чтобы убедиться, что все активные подключения между Management Studio и базой данных закрыты. Эта настройка переводит базу данных в однопользовательский режим перед началом процедуры восстановления, а затем возвращает в многопользовательский режим после ее завершения.
  5. Установите флажок Выдавать запрос перед восстановлением каждой резервной копии , если хотите отследить каждую операцию восстановления. Это не требуется, если не нужно наблюдать за состоянием операции восстановления для базы данных большого объема.

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

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

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

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к резервной копии. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
  5. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  6. Выберите параметры в области «Выбор страницы«.
  7. в разделе Параметры восстановления установите флажок Перезаписать существующую базу данных (WITH REPLACE).

Примечание. Если этот параметр не выбран, может отобразиться следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: резервный набор данных содержит резервную копию базы данных, отличающуюся от существующей базы данных Sales . (Microsoft.SqlServer.SmoExtended)»

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

Примечание. Если этот параметр не выбран, может отображаться следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: не удалось получить эксклюзивный доступ, поскольку база данных используется. (Microsoft.SqlServer.SmoExtended)»

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

В следующем примере восстанавливается более ранняя резервная копия диска из базы данных Sales и создается новая база данных с именем SalesTest . При этом исходная база данных, Sales , все еще существует на сервере.

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к резервной копии. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
  5. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  6. В разделе Назначение , в поле База данных автоматически появится имя базы данных для восстановления. Для изменения имени базы данных введите новое имя в окно База данных .
  7. Выберите параметры в области «Выбор страницы«.
  8. В разделе Резервная копия заключительного фрагмента журнала снимите флажокДелать резервную копию заключительного фрагмента журнала перед восстановлением.

Важно! Если оставить этот флажок установленным, существующая база данных Sales сменит состояние на состояние восстановления.

Примечание. Если вы получаете следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: резервная копия заключительного фрагмента журнала для базы данных » Sales » не создана. Если журнал содержит работу, потеря которой нежелательна, создайте резервную копию с помощью инструкции BACKUP LOG WITH NORECOVERY . Чтобы просто перезаписать содержимое журнала, используются предложения WITH REPLACE или WITH STOPAT с инструкцией RESTORE . (Microsoft.SqlServer.SmoExtended)». Скорее всего, вы не ввели название новой базы данных из шага 6 выше. Восстановление обычно не допускает случайной перезаписи базы данных другой базой данных. Если указанная в инструкции RESTORE база данных уже существует на текущем сервере, а идентификатор GUID семейства для заданной базы данных отличается от идентификатора GUID семейства для базы данных, записанного в резервном наборе данных, то ее восстановление не будет выполнено. Это является важной защитной мерой.

D. Восстановление до точки во времени

В следующем примере база данных восстанавливается в состояние на 1:23:17 PM May 30, 2016 и демонстрируется операция восстановления, использующая несколько резервных копий журналов. База данных в настоящее время не существует на сервере.

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к полной резервной копии и всем соответствующим резервным копиям журнала транзакций. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
  5. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  6. В разделе «Назначение» выберите временную шкалу, чтобы открыть диалоговое окно «Временная шкала резервной копии», чтобы вручную выбрать точку во времени, чтобы остановить действие восстановления.
  7. Выберите Указанные дата и время.
  8. В раскрывающемся списке Интервал временной шкалы поменяйте значение на Час (необязательно).
  9. Переместите ползунок в нужное время.
  10. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие».
  11. Нажмите ОК.

Д. Восстановление резервной копии с помощью службы хранилища Microsoft Azure

Общие шаги

В двух примерах ниже выполняется восстановление базы данных Sales из резервной копии, расположенной в службе хранилища Microsoft Azure. Имя учетной записи хранилища — mystorageaccount . Контейнер называется myfirstcontainer . Для краткости первые шесть шагов перечислены здесь однократно, а все примеры начинаются с шага 7.

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно Выбор устройств резервного копирования.
  5. Выберите URL-адрес в раскрывающемся списке Тип носителя резервной копии: .
  6. Выберите » Добавить » и откроется диалоговое окно «Выбор расположения файла резервного копирования».
E1. Восстановление чередуемой резервной копии по существующей базе данных и подписанного URL-адреса существует

Хранимая политика доступа была создана с правами на чтение, запись, удаление и составление списков. Подписанный URL-адрес, связанный с хранимой политикой доступа, был создан для контейнера https://mystorageaccount.blob.core.windows.net/myfirstcontainer . Шаги, в основном, одинаковы, если учетные данные SQL Server уже существуют. База данных Sales в настоящее время существует на сервере. Файлы резервной копии — Sales_stripe1of2_20160601.bak и Sales_stripe2of2_20160601.bak .

  1. Выберите https://mystorageaccount.blob.core.windows.net/myfirstcontainer из раскрывающегося списка Контейнер хранилища Azure: , если учетные данные SQL Server уже существуют. В противном случае введите имя контейнера вручную https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
  2. Введите подписанный URL-адрес в поле форматированного текста Подписанный URL-адрес: .
  3. Нажмите кнопку «ОК » и откроется диалоговое окно «Найти файл резервной копии» в Microsoft Azure .
  4. Разверните узел Контейнеры и перейдите к https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
  5. Удерживая клавишу ctrl, выберите файлы Sales_stripe1of2_20160601.bak и Sales_stripe2of2_20160601.bak .
  6. Нажмите ОК.
  7. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  8. Выберите параметры в области «Выбор страницы«.
  9. в разделе Параметры восстановления установите флажок Перезаписать существующую базу данных (WITH REPLACE).
  10. В разделе Резервная копия заключительного фрагмента журнала снимите флажок Делать резервную копию заключительного фрагмента журнала перед восстановлением.
  11. В разделе Соединения с сервером установите флажок Закрыть существующие подключения к целевой базе данных.
  12. Нажмите ОК.
E2. Подпись общего доступа не существует

В этом примере Sales база данных в настоящее время не существует на сервере.

  1. Выберите «Добавить» и откроется диалоговое окно Подключение подписки Майкрософт.
  2. Завершите Подключение в диалоговом окне подписки Майкрософт и нажмите кнопку «ОК«, чтобы вернуть диалоговое окно «Выбор расположения файла резервного копирования». См. дополнительные сведения в статье Соединение с подпиской Microsoft Azure .
  3. Нажмите кнопку «ОК » в диалоговом окне «Выбор расположения файла резервного копирования» и откроется диалоговое окно «Найти файл резервного копирования» в Microsoft Azure .
  4. Разверните узел Контейнеры и перейдите к https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
  5. Выберите файл резервной копии и нажмите кнопку «ОК«.
  6. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  7. Нажмите ОК.

F. Восстановление локальной резервной копии в хранилище Microsoft Azure (URL)

База данных Sales будет восстановлена в контейнер хранилища Microsoft Azure https://mystorageaccount.blob.core.windows.net/myfirstcontainer из резервной копии, расположенной по адресу E:\MSSQL\BAK . Учетные данные SQL Server для контейнера Azure уже созданы. Учетные данные SQL Server для целевого контейнера уже должны существовать, так как его невозможно создать с помощью задачи восстановления . База данных Sales в настоящее время не существует на сервере.

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования».
  5. Выберите файл из типа носителя резервного копирования: раскрывающийся список.
  6. Откроется диалоговое окно «Добавить» и «Найти файл резервного копирования».
  7. Перейдите к E:\MSSQL\BAK , выберите файл резервной копии и нажмите кнопку «ОК«.
  8. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  9. Выберите «Файлы» в области «Выбор страницы«.
  10. Установите флажок Переместить все файлы в папку.
  11. Укажите контейнер, https://mystorageaccount.blob.core.windows.net/myfirstcontainer , в текстовых полях Папка файла данных: и Папка файлов журнала:.
  12. Нажмите ОК.

G. Восстановление локальной резервной копии из хранилища объектов, совместимого с S3 (URL-адрес S3)

В приведенном ниже примере выполняется восстановление Sales из резервной копии, расположенной в хранилище объектов, совместимом с S3.
URL-адрес S3 имеет формат s3://:// , а файл резервной копии называется Sales.bak . Идентификатор секретного ключа и идентификатор ключа доступа получены от поставщика S3. База данных Sales в настоящее время не существует на сервере.

  1. В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
  3. На странице Общие выберите пункт Устройство в разделе Источник .
  4. Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования».
  5. Выберите URL-адрес S3 из типа носителя резервного копирования: раскрывающийся список.
  6. Нажмите кнопку «Добавить«, чтобы открыть диалоговое окно «Выбор файла резервного копирования S3″.
  7. Введите расположение файла резервного копирования URL-адреса S3 и секретный ключ и ключ доступа.
  8. Нажмите ОК.
  9. Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
  10. Нажмите ОК.

См. также

  • Создание резервной копии журнала транзакций (SQL Server)
  • Создание полной резервной копии базы данных (SQL Server)
  • Восстановление базы данных в новое расположение (SQL Server)
  • Восстановление резервной копии журнала транзакций (SQL Server)
  • RESTORE (Transact-SQL)
  • Восстановление базы данных (страница «Параметры»)
  • Восстановление базы данных (страница «Общие»)

Лучшие 3 способа осстановить SQL базу из .bak без потери данных

В этой статье показано несколько способов осстановить SQL базу из .bak. В частности, мы рассмотрим, как восстановить базу данных.

Что если вы не можете получить доступ к SQL .bak из-за повреждения?

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

Программное обеспечение может восстановить сильно поврежденную базу данных SQL .mdf или .ndf файл. Кроме того, он может помочь вам выполнить выборочное восстановление компонентов базы данных, таких как таблицы, триггеры, ключи, индексы и т. Д.

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

прежде чем ты начнешь!

1. У вас должны быть права DBOwner, чтобы иметь возможность восстановить файл BAK, в противном случае импорт файла BAK не удастся из-за разрешений.

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

3. Используйте учетную запись «sa» или sa-эквивалент при попытке выполнить резервное копирование и восстановление для достижения наилучших результатов.

осстановить SQL базу из .bak – Это абсолютно бесплатно

Команда базы данных Rstore – это самый простой и универсальный способ восстановления резервных копий SQL Server, поскольку команды T-SQL работают везде, независимо от того, вводите ли вы их в SSMS, выполняете с помощью утилиты sqlcmd или запускаете из своей программы.

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

Способ 1 – использование SSMS

Шаг 1. Откройте SSMS и подключитесь к экземпляру SQL Server 2014.

Шаг 2: Затем перейдите в Обозреватель объектов и щелкните Имя сервера, чтобы развернуть дерево серверов.

Шаг 3: Перейдите в Базы данных и откройте базу данных, которую вы хотите восстановить в SQL Server 2014.

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

Шаг 5: Когда появится окно Восстановить базу данных, сделайте следующее:

1. В разделе «Источник для восстановления» выберите параметр «С устройства».
2. Нажмите кнопку обзора рядом с «С устройства», чтобы открыть окно Выбор устройств резервного копирования.
3. В появившемся окне нажмите Добавить.
4. В появившемся диалоговом окне найдите и выберите файл .BAK, который вы хотите восстановить, и нажмите кнопку «ОК».
5. Нажмите кнопку ОК, чтобы вернуться в окно восстановления базы данных.

Шаг 6: Файл .BAK появится в окне восстановления базы данных.

Шаг 7: На левой боковой панели выберите «Опции» в разделе «Выбор страницы» и выполните следующие действия:

а. В разделе «Параметры восстановления» выберите «Перезаписать существующую базу данных (С ЗАМЕНЕЙ)».

Шаг 8: Чтобы продолжить процесс восстановления, нажмите кнопку ОК.

Шаг 9: Отображается окно с прогрессом восстановления.

Шаг 10: Нажмите OK, когда появится сообщение «Восстановление базы данных завершено успешно».

Способ 2 – восстановить базу данных с помощью запроса

Если вам интересно узнать, «Как восстановить базу данных в SQL Server из bak-файла с помощью запроса», выполните следующие действия:

Шаг 1. Запустите SSMS, а затем подключитесь к экземпляру SQL Server 2014.

Шаг 2: Выберите опцию New Query.

Шаг 3: В окне редактора запросов выполните любой из следующих операторов RESTORE:

ПРИМЕЧАНИЕ. Для восстановления всей базы данных из файла .bak используйте следующую команду:

ПРИМЕЧАНИЕ. Замените FileName на имя файла, который вы хотите восстановить.

ПРИМЕЧАНИЕ. Замените «DBName» именем базы данных, которую вы хотите восстановить. Также замените «BackupFilePath» на путь вашего файла резервной копии базы данных, а «BackupFileName» на имя вашего .bak-файла.

Способ 3 – Восстановление базы данных SQL с помощью Replace PowerShell

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

Внимание!!

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

Последние мысли

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

Понимание команд или шагов T-SQL для использования файла SSMS в осстановить SQL базу из .bak может помочь вам эффективно выполнить восстановление базы данных SQL. Если файл резервной копии недоступен или вы не можете восстановить базу данных из файла, воспользуйтесь предложенным выше сторонним инструментом, чтобы немедленно решить вашу проблему.

SysTool Offer

By Chirag Arora

Chirag Arora is a seasoned professional who wears multiple hats in the digital realm. As a Digital Marketing Manager, he orchestrates successful online campaigns, optimizing brand visibility and engagement. Additionally, Chirag brings meticulous attention to detail to his role as a Content Proofreader, ensuring that every piece of content shines with accuracy and clarity.

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

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