Восстановление базы данных в новом расположении (SQL Server)
В этой статье описывается, как восстановить базу данных SQL Server в новое расположение и при необходимости переименовать базу данных в SQL Server с помощью SQL Server Management Studio (SSMS) или Transact-SQL. Эта процедура позволяет переместить базу данных по новому пути каталога или создать копию базы данных на том же или другом экземпляре сервера.
Подготовка к работе
ограничения
- При восстановлении базы данных из полной резервной копии системный администратор должен быть единственным пользователем, работающим с базой данных.
Необходимые компоненты
- Модель восстановления с полным резервным копированием или с неполным протоколированием регламентирует, что перед восстановлением базы данных необходимо создать резервную копию активного журнала транзакций. Дополнительные сведения см. в разделе Создание резервной копии журнала транзакций (SQL Server).
- Чтобы восстановить зашифрованную базу данных, необходимо иметь доступ к сертификату или асимметричному ключу, используемому для шифрования базы данных! Без этого сертификата или асимметричного ключа невозможно восстановить базу данных. Этот сертификат должен храниться для шифрования ключа шифрования базы данных до тех пор, пока требуется резервное копирование. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.
Рекомендации
- Дополнительные сведения о перемещении базы данных см. в разделе «Копирование баз данных с помощью резервного копирования и восстановления».
- При восстановлении базы данных SQL Server 2005 (9.x) или более поздней версии до SQL Server база данных автоматически обновляется. Как правило, база данных сразу становится доступной. Но если база данных SQL Server 2005 (9.x) содержит полнотекстовые индексы, при обновлении будет произведен их импорт, сброс или повторное создание в зависимости от установленного на сервере значения свойства upgrade_option. Если при обновлении выбран режим импорта (upgrade_option = 2) или перестроения (upgrade_option = 0), полнотекстовые индексы во время обновления будут недоступны. В зависимости от объема индексируемых данных импорт может занять несколько часов, а перестроение — в несколько (до 10) раз больше. Обратите внимание, что при импорте параметра обновления связанные полнотекстовые индексы перестраиваются, если полнотекстовый каталог недоступен. Чтобы изменить значение свойства сервера upgrade_option , следует использовать процедуру sp_fulltext_service.
Безопасность
В целях безопасности рекомендуется не подключать или восстанавливать базы данных из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.
Разрешения
Если восстановленная база данных не существует, пользователь должен иметь разрешения CREATE DATABASE, чтобы иметь возможность выполнить RESTORE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo).
Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверка только в том случае, если база данных доступна и не повреждена, что не всегда происходит при выполнении RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.
Восстановление базы данных в новую папку и при необходимости ее переименование с помощью SSMS
- Подключение в соответствующий экземпляр ядро СУБД SQL Server, а затем в обозреватель объектов выберите имя сервера, чтобы развернуть дерево сервера.
- Щелкните правой кнопкой мыши базы данных и выберите пункт «Восстановить базу данных«. Откроется диалоговое окно Восстановление базы данных .
- Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, используйте страницу Общие , раздел Источник . Выберите один из следующих вариантов:
- База данных Выберите из раскрывающегося списка базу данных для восстановления. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования msdb .
Если резервная копия была получена с другого сервера, на целевом сервере не будет журнала резервного копирования для указанной базы данных. В этом случае щелкните пункт Устройство , чтобы вручную указать файл или устройство для восстановления.
- Устройство Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». В окне Тип носителя резервной копии выберите один из перечисленных типов устройств. Чтобы выбрать одно или несколько устройств для поля мультимедиа резервного копирования, нажмите кнопку «Добавить«. После добавления устройств в список носителей резервного копирования нажмите кнопку «ОК«, чтобы вернуться на страницу «Общие«. В списке Источник > Устройство > База данных выберите имя базы данных, которую нужно восстановить. Примечание. Этот список доступен, только если выбрано Устройство . Будут выбраны только те базы данных, резервные копии которых доступны на выбранном устройстве.
Восстановление базы данных в новую папку и при необходимости ее переименование с помощью T-SQL
- При необходимости определите логическое и физическое имена файлов в резервном наборе, содержащем полную резервную копию базы данных, которую нужно восстановить. Эта инструкция возвращает список файлов базы данных и журнала, содержащихся в резервном наборе данных. Базовый синтаксис: RESTORE FILELISTONLY FROM WITH FILE = BACKUP_SET_FILE_NUMBER В этом случае аргумент номер_файла_резервного_набора указывает позицию резервной копии в наборе носителей. Положение резервного набора можно получить с помощью инструкции RESTORE HEADERONLY . Дополнительные сведения см. в разделе «Указание резервного набора данных». Эта инструкция также поддерживает несколько вариантов WITH. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).
- Используйте инструкцию RESTORE DATABASE для восстановления полной резервной копии базы данных. По умолчанию файлы данных и журналов восстанавливаются в исходных местоположениях. Чтобы переместить базу данных, используйте параметр MOVE для перемещения каждого из файлов базы данных и предотвращения конфликтов с существующими файлами.
Базовый синтаксис Transact-SQL для восстановления базы данных в новом расположении и новое имя:
RESTORE DATABASE *new_database_name* FROM *backup_device* [ . *n* ] [ WITH < [ **RECOVERY** | NORECOVERY ] [ , ] [ FILE =< *backup_set_file_number* | @*backup_set_file_number* >] [ , ] MOVE '*logical_file_name_in_backup*' TO '*operating_system_file_name*' [ . *n* ] > ;
При подготовке к перемещению базы данных на другой диск необходимо проверить наличие достаточного места и определить потенциальные конфликты с существующими файлами. Это включает использование инструкции RESTORE VERIFYONLY , указывающей те же параметры MOVE, которые планируется использовать в инструкции RESTORE DATABASE.
В следующей таблице аргументы инструкции RESTORE описаны применительно к восстановлению базы данных в новом месте. Дополнительные сведения об этих аргументах см. в разделе RESTORE (Transact-SQL).
новое_имя_базы_данных
Новое имя базы данных.
При восстановлении базы данных на другом экземпляре сервера можно указать исходное имя базы данных вместо нового.
backup_device [ ,. n ]
Указывает список с разделителями-запятыми от 1 до 64 устройств резервного копирования, используемых для восстановления базы данных из резервной копии. Можно указать как физическое устройство резервного копирования, так и соответствующее логическое устройство, если оно определено. Для указания физического устройства резервного копирования используйте параметр DISK или TAPE.
< DISK | TAPE >=имя_физического_устройства_резервного_копирования
< RECOVERY | NORECOVERY >
Если в базе данных используется модель полного восстановления, может возникнуть необходимость применить резервные копии журналов транзакций после восстановления базы данных. В этом случае укажите параметр NORECOVERY.
В противном случае используйте параметр RECOVERY, который применяется по умолчанию.
FILE =< номер_файла_резервного_набора | @номер_файла_резервного_набора >
Идентифицирует резервный набор данных для восстановления. Например, аргумент номер_файла_резервного_набора , равный 1 , указывает первый резервный набор данных на носителе данных резервных копий, а аргумент номер_файла_резервного_набора , равный 2 , указывает второй резервный набор данных. Значение номер_файла_резервного_набора резервного набора данных можно получить с помощью инструкции RESTORE HEADERONLY .
Если этот параметр не указан, по умолчанию используется первый резервный набор на устройстве резервного копирования.
Дополнительные сведения см. в разделе «Указание резервного набора данных» в аргументах RESTORE (Transact-SQL).
MOVE ‘logical_file_name_in_backup‘ TO ‘operating_system_file_name‘ [ ,. n ]
Показывает, что файл данных или журнала, указанный параметром логическое_имя_файла_в_резервной_копии , следует восстановить из копии в месте, указанном параметром имя_файла_в_операционной_системе. Укажите инструкцию MOVE для каждого логического файла, который надо восстановить из резервного набора данных в новом месте.
Пример (Transact-SQL)
В приведенном ниже примере создается база данных MyAdvWorks посредством восстановления резервной копии образца базы данных AdventureWorks2022 , в которой содержатся два файла: AdventureWorks2022 _Data и AdventureWorks2022 _Log. В этой базе данных используется простая модель восстановления. База данных AdventureWorks2022 уже существует на экземпляре сервера, поэтому файлы в резервной копии должны быть восстановлены в новом месте. Количество и имена восстанавливаемых файлов базы данных можно определить с помощью инструкции RESTORE FILELISTONLY. Резервная копия базы данных является первым резервным набором данных на устройстве резервного копирования.
В примерах резервного копирования и восстановления журнала транзакций из резервной копии, включая восстановление на момент времени, используется база данных MyAdvWorks_FullRM , которая создается из базы данных AdventureWorks2022 , как в следующем примере с базой данных MyAdvWorks . Однако результирующая MyAdvWorks_FullRM база данных должна быть изменена, чтобы использовать полную модель восстановления с помощью следующей инструкции Transact-SQL: ALTER DATABASE SET RECOVERY FULL.
USE master; GO -- First determine the number and names of the files in the backup. -- AdventureWorks2022_Backup is the name of the backup device. RESTORE FILELISTONLY FROM AdventureWorks2022_Backup; -- Restore the files for MyAdvWorks. RESTORE DATABASE MyAdvWorks FROM AdventureWorks2022_Backup WITH RECOVERY, MOVE 'AdventureWorks2022_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', MOVE 'AdventureWorks2022_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'; GO
Связанные задачи
- Создание полной резервной копии базы данных (SQL Server)
- Restore a Database Backup Using SSMS
- Создание резервной копии журнала транзакций (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. Если файл резервной копии недоступен или вы не можете восстановить базу данных из файла, воспользуйтесь предложенным выше сторонним инструментом, чтобы немедленно решить вашу проблему.
Exclusive Offers & Deals, Grab it Now!
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.
Восстановление резервной копии базы данных с помощью среды 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 Azure Blob Storage.
Примеры
О. Восстановление полной резервной копии базы данных
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, используйте страницу Общие , раздел Источник . Выберите один из следующих параметров.
- База данных Выберите из раскрывающегося списка базу данных для восстановления. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования 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. Удалить
Удаляет один или несколько выбранных файлов, лент или устройств резервного копирования. Contents
Отображает содержимое носителя выбранного файла, ленты или устройства резервного копирования. Эта кнопка может не работать, если тип носителя — URL-адрес. Тип носителя резервной копии
Перечисляет выбранные носители. После добавления устройств в список носителей резервного копирования нажмите кнопку «ОК«, чтобы вернуться на страницу «Общие«.
В списке Источник > Устройство > База данных выберите имя базы данных, которую нужно восстановить.
Данный список доступен, только если выбран параметр Устройство . Будут выбраны только те базы данных, резервные копии которых доступны на выбранном устройстве.
- ПараметрыWITH (необязательно):
- Перезаписать существующую базу данных (WITH REPLACE)
- Сохранить параметры репликации (WITH KEEP_REPLICATION)
- Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)
- Выберите параметр в поле Состояние восстановления . В данном окне определяется состояние базы данных после операции восстановления.
- По умолчанию используется схема RESTORE WITH RECOVERY, которая выполняет откат незафиксированных транзакций и после завершения оставляет базу данных работоспособной. Не удается восстановить дополнительные журналы транзакций. Выберите этот вариант, если выполняется восстановление сразу всех необходимых резервных копий.
- Схема RESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. Базу данных нельзя использовать, пока она не будет восстановлена.
- СхемаRESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.
- Создайте резервную копию заключительного фрагмента журнала до восстановления Не для всех сценариев восстановления требуется резервная копия заключительного фрагмента журнала. Дополнительные сведения см. в разделе Сценарии, в которых требуется резервная копия заключительного фрагмента журнала статьи Резервные копии заключительного фрагмента журнала (SQL Server).
- Если имеются активные соединения с базой данных, то операция восстановления может завершиться ошибкой. Проверьте параметр «Закрыть существующие подключения», чтобы убедиться, что все активные подключения между Management Studio и базой данных закрыты. Эта настройка переводит базу данных в однопользовательский режим перед началом процедуры восстановления, а затем возвращает в многопользовательский режим после ее завершения.
- Установите флажок Выдавать запрос перед восстановлением каждой резервной копии , если хотите отследить каждую операцию восстановления. Это не требуется, если не нужно наблюдать за состоянием операции восстановления для базы данных большого объема.
Дополнительные сведения об этих параметрах восстановления см. в разделе «Восстановление базы данных (страница параметров)».
B. Восстановление более ранней резервной копии диска поверх существующей базы данных
В следующем примере восстанавливается более ранняя резервная копия диска из базы данных Sales и перезаписывается существующая база данных Sales .
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к резервной копии. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- Выберите параметры в области «Выбор страницы«.
- в разделе Параметры восстановления установите флажок Перезаписать существующую базу данных (WITH REPLACE).
Заметка Если этот параметр не выбран, может отобразиться следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: резервный набор данных содержит резервную копию базы данных, отличающуюся от существующей базы данных Sales . (Microsoft.SqlServer.SmoExtended)»
Заметка Не для всех сценариев восстановления требуется резервная копия заключительного фрагмента журнала. Резервная копия заключительного фрагмента журнала не нужна, если точка восстановления содержится в более ранней резервной копии журнала. Кроме того, резервная копия заключительного фрагмента журнала не требуется при перемещении или замещении (перезаписи) базы данных, при котором не нужно восстанавливать ее на определенный момент времени после создания ее последней резервной копии. Дополнительные сведения см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).
Заметка Если этот параметр не выбран, может отображаться следующее сообщение об ошибке: «System.Data.SqlClient.SqlError: не удалось получить эксклюзивный доступ, поскольку база данных используется. (Microsoft.SqlServer.SmoExtended)»
C. Восстановление более ранней резервной копии диска с новым именем базы данных при условии, что исходная база данных по-прежнему существует
В следующем примере восстанавливается более ранняя резервная копия диска из базы данных Sales и создается новая база данных с именем SalesTest . При этом исходная база данных, Sales , все еще существует на сервере.
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к резервной копии. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- В разделе Назначение , в поле База данных автоматически появится имя базы данных для восстановления. Для изменения имени базы данных введите новое имя в окно База данных .
- Выберите параметры в области «Выбор страницы«.
- В разделе Резервная копия заключительного фрагмента журнала снимите флажокДелать резервную копию заключительного фрагмента журнала перед восстановлением.
Внимание Если оставить этот флажок установленным, существующая база данных 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 и демонстрируется операция восстановления, использующая несколько резервных копий журналов. База данных в настоящее время не существует на сервере.
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования». Выберите «Добавить » и перейдите к полной резервной копии и всем соответствующим резервным копиям журнала транзакций. Нажмите кнопку «ОК » после выбора файлов резервного копирования дисков.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- В разделе «Назначение» выберите временную шкалу, чтобы открыть диалоговое окно «Временная шкала резервной копии», чтобы вручную выбрать точку во времени, чтобы остановить действие восстановления.
- Выберите Указанные дата и время.
- В раскрывающемся списке Интервал временной шкалы поменяйте значение на Час (необязательно).
- Переместите ползунок в нужное время.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие».
- Нажмите ОК.
Д. Восстановление резервной копии с помощью службы хранилища Microsoft Azure
Общие шаги
В двух примерах ниже выполняется восстановление базы данных Sales из резервной копии, расположенной в службе хранилища Microsoft Azure. Имя учетной записи хранилища — mystorageaccount . Контейнер называется myfirstcontainer . Для краткости первые шесть шагов перечислены здесь однократно, а все примеры начинаются с шага 7.
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно Выбор устройств резервного копирования.
- Выберите URL-адрес в раскрывающемся списке Тип носителя резервной копии: .
- Выберите » Добавить » и откроется диалоговое окно «Выбор расположения файла резервного копирования».
E1. Восстановление чередующейся резервной копии поверх существующей базы данных при наличии подписанного URL-адреса.
Хранимая политика доступа была создана с правами на чтение, запись, удаление и составление списков. Подписанный URL-адрес, связанный с хранимой политикой доступа, был создан для контейнера https://mystorageaccount.blob.core.windows.net/myfirstcontainer . Шаги, в основном, одинаковы, если учетные данные SQL Server уже существуют. База данных Sales в настоящее время существует на сервере. Файлы резервной копии — Sales_stripe1of2_20160601.bak и Sales_stripe2of2_20160601.bak .
- Выберите https://mystorageaccount.blob.core.windows.net/myfirstcontainer из раскрывающегося списка Контейнер хранилища Azure: , если учетные данные SQL Server уже существуют. В противном случае введите имя контейнера вручную https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
- Введите подписанный URL-адрес в поле форматированного текста Подписанный URL-адрес: .
- Нажмите кнопку «ОК » и откроется диалоговое окно «Найти файл резервной копии» в Microsoft Azure .
- Разверните узел Контейнеры и перейдите к https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
- Удерживая клавишу ctrl, выберите файлы Sales_stripe1of2_20160601.bak и Sales_stripe2of2_20160601.bak .
- Нажмите ОК.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- Выберите параметры в области «Выбор страницы«.
- в разделе Параметры восстановления установите флажок Перезаписать существующую базу данных (WITH REPLACE).
- В разделе Резервная копия заключительного фрагмента журнала снимите флажок Делать резервную копию заключительного фрагмента журнала перед восстановлением.
- В разделе Соединения с сервером установите флажок Закрыть существующие подключения к целевой базе данных.
- Нажмите ОК.
E2. Подпись общего доступа не существует
В этом примере Sales база данных в настоящее время не существует на сервере.
- Откроется диалоговое окно «Добавить и подключиться к подписке Майкрософт».
- Выполните диалоговое окно «Подключение к подписке Майкрософт» и нажмите кнопку «ОК «, чтобы вернуть диалоговое окно «Выбор расположения файла резервной копии». См. дополнительные сведения в статье Соединение с подпиской Microsoft Azure .
- Нажмите кнопку «ОК » в диалоговом окне «Выбор расположения файла резервного копирования» и откроется диалоговое окно «Найти файл резервного копирования» в Microsoft Azure .
- Разверните узел Контейнеры и перейдите к https://mystorageaccount.blob.core.windows.net/myfirstcontainer .
- Выберите файл резервной копии и нажмите кнопку «ОК«.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- Нажмите ОК.
Е. Восстановление локальной резервной копии в хранилище Microsoft Azure (URL)
База данных Sales будет восстановлена в контейнер хранилища Microsoft Azure https://mystorageaccount.blob.core.windows.net/myfirstcontainer из резервной копии, расположенной по адресу E:\MSSQL\BAK . Учетные данные SQL Server для контейнера Azure уже созданы. Учетные данные SQL Server для целевого контейнера уже должны существовать, так как его невозможно создать с помощью задачи восстановления . База данных Sales в настоящее время не существует на сервере.
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования».
- Выберите файл из типа носителя резервного копирования: раскрывающийся список.
- Откроется диалоговое окно «Добавить» и «Найти файл резервного копирования».
- Перейдите к E:\MSSQL\BAK , выберите файл резервной копии и нажмите кнопку «ОК«.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- Выберите «Файлы» в области «Выбор страницы«.
- Установите флажок Переместить все файлы в папку.
- Укажите контейнер, https://mystorageaccount.blob.core.windows.net/myfirstcontainer , в текстовых полях Папка файла данных: и Папка файлов журнала:.
- Нажмите ОК.
G. Восстановление локальной резервной копии из хранилища объектов, совместимого с S3 (URL-адрес S3)
В приведенном ниже примере выполняется восстановление Sales из резервной копии, расположенной в хранилище объектов, совместимом с S3.
URL-адрес S3 имеет формат s3://:// , а файл резервной копии называется Sales.bak . Идентификатор секретного ключа и идентификатор ключа доступа получены от поставщика S3. База данных Sales в настоящее время не существует на сервере.
- В обозревателе объектовподключитесь к экземпляру компонента SQL Server Database Engine и разверните его.
- Щелкните правой кнопкой мыши узел Базы данных и выберите команду Восстановить базу данных.
- На странице Общие выберите пункт Устройство в разделе Источник .
- Нажмите кнопку обзора (. ), чтобы открыть диалоговое окно «Выбор устройств резервного копирования».
- Выберите URL-адрес S3 из типа носителя резервного копирования: раскрывающийся список.
- Нажмите кнопку «Добавить«, чтобы открыть диалоговое окно «Выбор файла резервного копирования S3″.
- Введите расположение файла резервного копирования URL-адреса S3 и секретный ключ и ключ доступа.
- Нажмите ОК.
- Нажмите кнопку «ОК «, чтобы вернуться на страницу «Общие «.
- Нажмите ОК.
См. также
- Создание резервной копии журнала транзакций (SQL Server)
- Создание полной резервной копии базы данных (SQL Server)
- Восстановление базы данных в новое расположение (SQL Server)
- Восстановление резервной копии журнала транзакций (SQL Server)
- RESTORE (Transact-SQL)
- Восстановление базы данных (страница «Параметры»)
- Восстановление базы данных (страница «Общие»)
Восстановление базы данных из резервной копии в MS SQL Server 2012
Раннее я уже писал о создании резервных копий в MS SQL Server 2012. В данной статье подробно рассмотрим процессе восстановления базы данных из имеющейся резервной копии (резервных копий) в MS SQL Server 2012 (в более ранних версиях, например в MS SQL Server 2008 набор действий аналогичен).
0. Оглавление
- Восстановление базы данных
- Просмотр информации о событиях резервного копирования и восстановления для базы данных
1. Восстановление базы данных
Подключаемся к MS SQL Server c помощью программы «SQL Server Management Studio». В Microsoft Windows Server 2012 R2 ее можно найти в списке всех программ.

В Microsoft Windows Server 2008 R2 в меню «Пуск» (Start) — «Microsoft SQL Server 2012» — «Среда SQL Server Management Studio».

Вводим адрес сервера или его псевдоним, данные для авторизации и нажимаем «Соединить» (Connect).

Слева, в обозревателе объектов (Object Explorer), раскрываем вкладку «Базы данных» (Server Oblects), находим в списке базу данных из которой (или в которую) необходимо восстановить данные, кликаем по ней правой кнопкой мыши, затем в появившемся контекстном меню выбираем «Задачи» (Tasks) — «Восстановить» (Restore) — «База данных…» (Database…)

Запустится мастер восстановления базы данных (Restore Database). Выбираем базу источник (Source for restore), при этом мастер попробует автоматически подобрать последовательность файлов резервных копий для восстановления базы на текущий момент времени.

Если же требуется загрузить данные из конкретного файла или устройства резервного копирования, то необходимо установить соответствующий переключатель в положение «Устройство» (From device) и вручную указать источник для восстановления.

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

Нажав кнопку «Временная шкала…» (Timeline) можно указать время на которое необходимо восстановить данные. При имеющейся копии журнала транзакций время восстановления можно выбрать с точностью до секунды (или имеющегося checkpoint’а в журнале транзакций).

Очень важно (!) также помнить о том, что если восстановление данных осуществляется в информационную базу отличную от той с которой производилось резервное копирование (т. е. необходимо скопировать базу данных) то на вкладке «Файлы» (Files) необходимо указать путь к файлам этой информационной базы.

На вкладке «Параметры» (Options) можно указать дополнительные параметры резервного копирования. В частности:
- Флаг «Перезаписать существующую базу данных (WITH REPLACE)» (Overwrite the existing database) указывает, что операция восстановления перезапишет файлы любой базы данных, в настоящее время использующей имя, указанное в качестве базы данных назначения.
- Флаг «Сохранить параметры репликации (WITH KEEP_REPLICATION)» (Preserve the replication settings) сохраняет настройки репликации при восстановлении опубликованной базы данных на сервере, отличном от сервера, на котором была создана база данных. Этот параметр имеет значение, только если во время создания резервной копии проводилась репликация базы данных.
- Флаг «Ограничение доступа к восстановленной базе данных (WITH RESTRICTED_USER)» (Restrict access to the restored database) ограничит доступ к базе данных, за исключением пользователей с правами db_owner, dbcreator или sysadmin. Данный параметр имеет смысл использовать, например, если необходимо последовательно восстановить базу из нескольких файлов резервных копий, и доступ пользователей необходимо ограничить до завершения всех операций по восстановлению данных.
- Если оставить флаг «Создание резервной копии заключительного фрагмента журнала перед восстановлением» (Take tail-log backup before restore) то будет создана резервная копия заключительного фрагмента журнала транзакций. Если для точки во времени, выбранной в окне «Временная шкала резервного копирования» (Backup Timeline) требуется резервная копия заключительного фрагмента журнала, этот флажок будет установлен и снять его будет нельзя.
- Флаг «Закрыть существующие соединения» (Close existing connections option) переводит базу данных в однопользовательский режим перед началом выполнения процедуры восстановления, а затем возвращает в многопользовательский режим после ее завершения.
- Ну и наконец, флаг «Выдавать приглашение перед восстановлением каждой резервной копии» ( Prompt before restoring each backup ) указывает, что после восстановления каждой резервной копии будет выводиться диалоговое окно с вопросом, нужно ли продолжать последовательность восстановления. Этот параметр позволяет приостанавливать последовательность восстановления после восстановления каждой резервной копии. Он будет полезен, например, когда нужно поменять ленты в устройстве, если на сервере имеется только одно ленточное устройство.

Когда все необходимые параметры установлены нажимаем «ОК» для запуска процесса восстановления базы данных. После того, как все операции по восстановлению будут завершены увидим соответствующее уведомление.

2. Просмотр информации о событиях резервного копирования и восстановления для базы данных
Для того чтобы узнать, когда производилось создание резервных копий конкретной базы данных, а также восстановление базы данных из резервной копии, можно воспользоваться стандартным отчетом «События резервного копирования и восстановления» (Backup and Restore Events). Для формирования данного отчета необходимо в Обозревателе объектов (Server Oblects) кликнуть правой кнопкой мыши по соответствующей базе данных, в контекстном меню выбрать «Отчеты» (Reports) — «Стандартный отчет» (Standart Reports) — «События резервного копирования и восстановления» (Backup and Restore Events).

Сформировавшийся отчет содержит в себе следующие данные:
- Среднее время, затрачиваемое на операции резервного копирования (Average Time Taken For Backup Operations)
- Успешные операции резервного копирования (Saccessful Backup Operations)
- Ошибки операции резервного копирования (Backup Operation Errors)
- Успешные операции восстановления (Saccessful Restore Operations)

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

Помогла ли Вам данная статья?
Смотрите также:
Добавление базы данных в Microsoft SQL Server 2012 Ниже приведена пошаговая инструкция, показывающая как добавить новую базу данных в Microsoft SQLServer 2012 (в более старых редакциях, например в Microsoft SQL Server 2008 R2, набор действий аналогичен). Запускаем…
Перемещение базы данных tempdb в MS SQL Server Системная база данных tempdb служит рабочим пространством для хранения временных объектов, таких как временные таблицы, промежуточные результаты вычислений, временные хранимые процедуры, результаты буферов и сортировки, внутренние объекты, создаваемые компонентой Database…
Создание резервной копии базы данных в MS SQL Server 2012 Ниже будет подробно рассказано о том, как создать резервную копию базы данных в MS SQL Server 2012. В младших версиях (например в MS SQL Server 2008) алгоритм получения резервной копии…
Запись опубликована в рубрике Microsoft SQL Server 2012 с метками Backup, SQL. Добавьте в закладки постоянную ссылку.
