Восстановление базы данных sql: Восстановление базы данных: разностное — SQL Server
Содержание
Восстановление базы данных: разностное — SQL Server
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
-
Применимо к:SQL Server
В этом разделе описывается восстановление разностной резервной копии базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
В этом разделе
Перед началом работы
Ограничения
Предварительные требования
Безопасность
Восстановление разностной резервной копии базы данных с помощью:
Среда SQL Server Management Studio
Transact-SQL
Связанные задачи
Перед началом
Ограничения
Инструкция RESTORE недопустима в явной или неявной транзакции.
Резервные копии, созданные более поздними версиями SQL Server , не могут быть восстановлены в более ранних версиях SQL Server.
В SQL Serverможно восстановить пользовательскую базу данных из резервной копии базы данных, созданной с помощью SQL Server 2005 (9.x) или более поздней версии.
Предварительные требования
- Перед восстановлением базы данных в среде по модели полного восстановления или модели восстановления с неполным протоколированием необходимо выполнить резервное копирование активного журнала транзакций (который называется заключительным фрагментом журнала). Дополнительные сведения см. в разделе Создание резервной копии журнала транзакций (SQL Server).
Безопасность
Разрешения
Если восстанавливаемая база данных не существуют, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).
Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.
Использование среды SQL Server Management Studio
Восстановление разностной резервной копии базы данных
После подключения к соответствующему экземпляру компонента Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера, щелкнув имя сервера.
Разверните узел Базы данных. В зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данныхи выберите системную базу данных.
Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановитьи пункт База данных.
Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, используйте страницу Общие , раздел Источник . Выберите один из следующих вариантов.
Примечание
Если резервная копия была получена с другого сервера, на целевом сервере не будет журнала резервного копирования для указанной базы данных. В этом случае щелкните пункт Устройство , чтобы вручную указать файл или устройство для восстановления.
Устройство
Нажмите кнопку обзора ( … ), после чего откроется диалоговое окно Выбор устройств резервного копирования . В окне Тип носителя резервной копии выберите один из перечисленных типов устройств. Чтобы выбрать одно или несколько устройств в окне Носитель резервной копии , нажмите кнопку Добавить.
После добавления нужных устройств в списке Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие .
В списке Источник: Устройство: База данных выберите имя базы данных, из которой нужно восстановить резервные копии.
Примечание. Этот список доступен, только если выбрано Устройство . Будут выбраны только те базы данных, резервные копии которых доступны на выбранном устройстве.
В разделе Назначение , в поле База данных автоматически появится имя базы данных для восстановления. Для изменения имени базы данных введите новое имя в окно База данных .
Примечание
Для остановки восстановления на определенный момент времени выберите пункт Временная шкала и перейдите в диалоговое окно Временная шкала резервных копий . Сведения об остановке восстановления базы данных в определенный момент времени см. в статье Восстановление базы данных SQL Server до точки во времени (модель полного восстановления).
В сетке Резервные наборы данных для восстановления выберите резервные копии, которые необходимо восстановить с помощью разностного восстановления.
Сведения о столбцах в сетке Резервные наборы данных для восстановления см. в разделе Восстановление базы данных (страница «Общие»).
На странице Параметры используйте панель Параметры восстановления для выбора любого из следующих вариантов, если он подходит к данной ситуации.
Перезаписать существующую базу данных (WITH REPLACE)
Сохранить параметры репликации (WITH KEEP_REPLICATION)
Выдавать приглашение перед восстановлением каждой резервной копии
Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)
Дополнительные сведения об этих параметрах см. в разделе Восстановление базы данных (страница параметров).
Выберите параметр в поле Состояние восстановления . В данном окне определяется состояние базы данных после операции восстановления.
По умолчанию установлена схемаRESTORE WITH RECOVERY , при этом база данных находится в готовом состоянии для использования путем отката незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. Выберите данный параметр, если выполняется восстановление всех необходимых резервных копий.
СхемаRESTORE WITH NORECOVERY оставляет базу данных в нерабочем состоянии и не выполняет откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. База данных не может быть использована, пока не будет восстановлена.
СхемаRESTORE WITH STANDBY оставляет базу данных в режиме только для чтения. С помощью данного параметра можно отменить незафиксированные транзакции и сохранить отмененные действия в резервном файле, чтобы результаты восстановления можно было отменить.
Описание параметров см. в разделе Восстановление базы данных (страница параметров).
Если имеются активные соединения с базой данных, операции восстановления завершатся ошибкой. Проверьте окно Закрыть существующие соединения и убедитесь, что все активные соединения между Среда Management Studio и базой данных закрыты.
Установите флажок Выдавать запрос перед восстановлением каждой резервной копии , если хотите отследить каждую операцию восстановления. Обычно это не требуется, за исключением случаев, если необходимо наблюдать за состоянием операции восстановления базы данных большого объема.
По желанию можно использовать страницу Файлы для восстановления базы данных в новом расположении. Сведения о перемещении базы данных см. в статье Восстановление базы данных в новое расположение (SQL Server).
Щелкните ОК.
Использование Transact-SQL
Восстановление разностной резервной копии базы данных
Выполните инструкцию RESTORE DATABASE с предложением NORECOVERY, чтобы восстановить полную резервную копию базы данных, которая предшествует разностной резервной копии базы данных. Дополнительные сведения см. в разделе Как восстановить полную резервную копию.
Выполните инструкцию RESTORE DATABASE для восстановления разностной резервной копии базы данных, указав:
имя базы данных, к которой будет применена разностная резервная копия;
устройство резервного копирования, с которого происходит восстановление разностной резервной копии базы данных;
предложение NORECOVERY в случае, если нужно применить резервные копии журнала транзакций после восстановления разностной резервной копии базы данных. В противном случае укажите предложение RECOVERY.
В модели полного восстановления или модели восстановления с неполным протоколированием разностная резервная копия восстанавливает базу данных на момент выполнения разностного резервного копирования. Чтобы восстановить данные на момент сбоя, следует применить все резервные копии журнала транзакций, созданные после создания последней разностной копии базы данных. Дополнительные сведения см. в разделе Применение резервных копий журналов транзакций (SQL Server).
Примеры (Transact-SQL)
A. Восстановление разностной резервной копии базы данных
В этом примере показано восстановление базы данных и разностной резервной копии базы данных MyAdvWorks
.
-- Assume the database is lost, and restore full database, -- specifying the original full database backup and NORECOVERY, -- which allows subsequent restore operations to proceed. RESTORE DATABASE MyAdvWorks FROM MyAdvWorks_1 WITH NORECOVERY; GO -- Now restore the differential database backup, the second backup on -- the MyAdvWorks_1 backup device. RESTORE DATABASE MyAdvWorks FROM MyAdvWorks_1 WITH FILE = 2, RECOVERY; GO
Б. Восстановление базы данных, разностной резервной копии базы данных и журнала транзакций
В этом примере показано восстановление базы данных, разностной резервной копии базы данных и резервной копии журнала транзакций базы данных MyAdvWorks
.
-- Assume the database is lost at this point. Now restore the full -- database. Specify the original full database backup and NORECOVERY. -- NORECOVERY allows subsequent restore operations to proceed. RESTORE DATABASE MyAdvWorks FROM MyAdvWorks_1 WITH NORECOVERY; GO -- Now restore the differential database backup, the second backup on -- the MyAdvWorks_1 backup device. RESTORE DATABASE MyAdvWorks FROM MyAdvWorks_1 WITH FILE = 2, NORECOVERY; GO -- Now restore each transaction log backup created after -- the differential database backup. RESTORE LOG MyAdvWorks FROM MyAdvWorks_log1 WITH NORECOVERY; GO RESTORE LOG MyAdvWorks FROM MyAdvWorks_log2 WITH RECOVERY; GO
Создание разностной резервной копии базы данных (SQL Server)
Восстановление резервной копии журнала транзакций (SQL Server)
См.
также:
Разностные резервные копии (SQL Server)
RESTORE (Transact-SQL)
восстановление базы данных из архива
Какая бы ни была причина для восстановления, Вы как специалист должны уметь оперативно привести базу в рабочее состояние. В рассматриваемом примере имитируется удаление файла базы данных (файл с расширением MDF). Причина не важна. Главное, что файл уничтожен. В Enterprise Manager такая база выделяется словом Suspect:
Считаем, что каталог информационной базы восстанавливать не надо. Определим краткий порядок наших действий:
- Подготовить самую свежую полную копию базы данных и все архивы файла транзакций, сделанные с момента этой полной копии базы данных;
- Восстановить базу данных из полной архивной копии;
- Восстановить данные из архивных копий файла транзакций, включая архив, сделанный в п.1;
- Проверить работоспособность программы 1C.
Давайте остановимся подробнее на каждом шаге.
Создание архивной копии файла транзакций из поврежденной базы
Основное назначение этой операции — подготовиться к восстановлению базы данных в состояние, в котором она была в момент непосредственно перед сбоем. Если следовать плану резервного копирования, реализованному в предыдущей статье, Вы рискуете потерять максимум 20 минут работы предприятия. Но будет гораздо лучше, если Вы вообще ничего не потеряете. Поэтому следует попытаться сделать архивную копию файла транзакций из поврежденной базы. Для этого в Enterprise Manager установите курсор на название поврежденной базы и из контекстного меню вызовите последовательно пункты «Все задачи» — «Backup Database …»:
В открывшемся окне выберите режим архивирования «Transaction log».
В поле «Destination» укажите, куда следует сохранить архивную копию файла транзакций. Для этого нажмите кнопку «Add ..». В открывшемся окне введите путь к файлу и нажмите кнопку «ОК»:
Теперь перейдите на закладку «Options». Если галочка «Remove inactive entries from transaction log» установлена, снимите ее. В противном случае создание архивной копии скорее всего не будет выполнено.
На этом все приготовления завершены. Нажимайте кнопку «ОК». В результате у Вас должен сформироваться архив файла транзакций. Если по каким-либо причинам этого не произошло, значит, Вы не сможете восстановить базу данных на момент сбоя. Такое тоже может быть. Теперь, после попытки сделать архивную копию файла транзакций из поврежденной базы (удачной или нет), следует подготовить все архивы, которые Вы будете использовать при восстановлении. Поместите эти файлы в одну папку. Вам понадобятся:
- Самая свежая полная копия базы данных. С нее будет начинаться процесс восстановления;
- Все архивы файла транзакций, сделанные с момента этой полной копии базы данных. Сюда же поместите архив файла транзакций, которые Вы сделали из поврежденной базы (если у Вас получилось сделать этот архив).
На этом подготовительный этап завершен.
Восстановление базы данных из архивных копий
В Enterprise Manager установите курсор на название поврежденной базы и из контекстного меню вызовите последовательно пункты «Все задачи» — «Restore Database …»:
В открывшемся окне на закладке «General» в поле «Restore as database:» по умолчанию будет выбрана поврежденная база данных (на ней стоял курсор во время вызова пункта меню «Restore Database…»). Вы можете указать другое имя для восстанавливаемой базы данных. В нашем примере мы этого делать не будем.
В группе переключателей «Restore:» выберите «From device». Это, наверное, самый длительный путь восстановления, но таким образом Вы лучше поймете, что и как происходит при восстановлении.
В поле «Devices:» выберите файл полной архивной копии базы данных. Это делается через кнопку «Select Devices…». Процесс выбора файла для восстановления я описывать не буду — он достаточно прост и понятен.
Установите переключатели «Restore backup set» и «Database — complete». Этим мы указываем SQL серверу, что файл, выбранный в поле «Devices:», — это полная копия базы данных.
Перейдите на закладку «Options». В таблице «Restore database files as:» поля будут заполнены информацией из файла полной копии базы данных. Оставим их без изменений. Тем самым мы говорим, что база данных будет восстанавливаться на место поврежденной.
Обратите внимание на группу переключателей «Recovery completion state». Нас будут интересовать первые два значения:
1. Leave database operational. No additional transaction logs can be restored. (Оставить базу данных работающей. Архивы файла транзакций не могут быть восстановлены).
Этот режим выбирается в 2х случаях:
- Мы восстанавливаем базу данных из полной архивной копии, но архивы файла транзакций восстанавливать не будем;
- Мы восстанавливаем последний архив файла транзакций.
После восстановления в этом режиме база данных становится готовой к работе.
2. Leave database nonoperational but able to restore additional transaction logs. (Оставить базу данных в нерабочем состоянии, но с возможностью восстанавливать архивы файла транзакций).
Этот режим надо использовать, когда мы хотим восстановить базу данных из полной архивной копии и набора архивов файла транзакций (за исключением последнего). По условиям нашей задачи у нас есть файл полной копии базы данных и архивы файла транзакций. Поэтому при восстановлении базы данных из полной копии выбираем режим 2 — после восстановления оставить базу в нерабочем состоянии для возможности восстановления данных из архивов файла транзакций. Теперь можно нажать кнопку «ОК». После окончания процедуры восстановления статус базы данных поменяется на «Loading»:
Следующий этап — восстановление данных из всех архивов файла транзакций. За исключением последнего файла, архивы файла транзакций должны восстанавливаться в режиме 2. Последний архив файла транзакций должен быть восстановлен в режиме 1 — оставить базу данных работающей, архивы файла транзакций не могут быть восстановлены. После выполнения этих действий база данных будет восстановлена и готова к работе.
Восстановление архива файла транзакций выполняется аналогично восстановлению из полной копии базы данных. Выберите из контекстного меню пункты «Все задачи» — «Restore Database …».
На этот раз в окне «Devices:» выберите архив файла транзакций, созданный первым после полной копии базы данных. Далее, при последующих операциях восстановления, выбирайте архивы файла транзакций в хронологическом порядке.
Укажите SQL серверу, что будет восстанавливаться файл транзакций. Для этого установите переключатель в положение «Transaction log». На закладке «Options» выберите восстановление в режиме 2.
Нажмите кнопку «ОК». Подобным образом восстановите данные из всех архивов файла транзакций, за исключением последнего. Для него выберите восстановление в режиме 1.
Все! Восстановление базы данных из архивных копий завершено. Запускайте программу 1С и проверяйте ее работоспособность.
Как можно ускорить процесс восстановления
Согласитесь, предложенный способ не из самых быстрых. Тем не менее, Вы на наглядном примере увидели, что же происходит в процессе восстановления. Давайте попробуем ускорить этот процесс. Если системные базы данных не повреждены, мы можем воспользоваться режимом восстановления «Database»:
В этом режиме в группе «Parameters» следует указать:
- для какой базы показывать архивные копии,
- начиная с какой архивной копии начинать восстановление. В выпадающем списке Вы можете выбрать полную архивную копию, начиная с которой пойдет процесс восстановления;
- в таблице выделить флажками те резервные копии, которые будет использоваться для восстановления.
Нам остается совсем немного. Расположить требуемые для восстановления файлы в соответствии с путями, указанными в столбце «Restore From». Это будут те самые файлы, которое Вы подготовили для восстановления.
На закладке «Options» выберите восстановление в режиме 1, ведь мы хотим получить полностью работающую базу.
Обратите внимание на флажок «Point in time restore:». Если Вы хотите восстановить базу данных по состоянию на какой-то конкретный момент времени, установите этот флажок и выберите нужные дату и время.
На этом все приготовления завершены. Нажимайте «ОК» и восстанавливайте базу данных. SQL сервер в автоматическом режиме обработает все указанные файлы.
P.S. В заключение хочется сказать, чтобы Вы не только прочитали эту статью, но и на практике попробовали все сделать своими руками. Только в этом случае Вы будете уверены, что сумеете безошибочно действовать в критической ситуации.
Примечание: в статье отражено мое мнение по восстановлению базы данных из архива. Оно может не совпадать с Вашим мнением и / или мнением других специалистов.
Автор: Михаил Синявский
Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ
Задать вопрос
Ещё статьи о Windows
-
Для чего нужно контролировать трафик в сети?...
Для чего нужно контролировать трафик в сети?
На сегодняшний день каждый современный человек сидит в Интернете. Кто-то зарабатывает деньги с помощью систем копирайта и рерайта, кто-то создает сайты, другие люди просто играют в игры и…
Сводные таблицы и диаграммы в Excel
Сводные таблицы и диаграммы в Excel
Сводные таблицы – моя любимая тема. Слышали когда-нибудь про OLAP-кубы? OLAP — On-Line Analytical Processing – это способ организации больших коммерческих баз данных. Данные OLAP организованы таким…
Работа 1С v77 под Vista и MS SQL 2005
Проблемы работы 1С под MS Vista можно разделить на 2 категории:
Работа в файловом варианте базы.
Работа с базой в формате MS SQL.
1. Для решения проблемы работы в файловом варианте необходимо использовать 1С релиза 26 или 27 (но лучше 27). Фирма 1С…
Безопасность Windows XP
Операционная система Microsoft Windows XP вышла на рынок 25-го ноября 2001-го года. Сотрудники компании возлагали на неё большие надежды и, как оказалось, не прогадали. По заявлению самих разработчиков, новоиспеченная на тот момент XP…
Защита данных в NTFS
Как известно, файловая система NTFS оснащена функцией шифрования данных на диске, поэтому, если в свойствах файла поставить галочку на соответствующей опции, то он будет физически зашифрован. Кроме этого, пользователь может…
SQL сервер для 1С: восстановление базы данных из архива…
SQL сервер для 1С: восстановление базы данных из архива
Какая бы ни была причина для восстановления, Вы как специалист должны уметь оперативно привести базу в рабочее состояние. В рассматриваемом примере имитируется удаление файла базы…
Restore-SqlDatabase (SQLServer) | Microsoft Learn
- Справочник
- Модуль:
- SQLServer
Восстанавливает базу данных из резервной копии или записей журнала транзакций.
Синтаксис
Restore-SqlБаза данных [-ClearSuspectPageTable] [-KeepReplication] [-Частично] [-Заменить базу данных] [-Ограниченный пользователь] [-Смещение ] [-RelocateFile <ПереместитьФайл[]>] [-AutoRelocateFile] [-FileNumber ] [-RestoreAction ] [-StandbyFile ] [-StopAtMarkAfterDate ] [-StopAtMarkName ] [-StopBeforeMarkAfterDate ] [-StopBeforeMarkName ] [-ToPointInTime ] [-база данных] <строка> [-Путь <Строка[]>] [[-BackupFile] ] [-SqlCredential ] [-BackupDevice ] [-Пройти через] [-Контрольная сумма] [-ContinueAfterError] [-Без перемотки] [-Перезапуск] [-Выгрузитьленту после] [-NoRecovery] [-DatabaseFile ] [-DatabaseFileGroup ] [-Размер_блока ] [-BufferCount ] [-MaxTransferSize ] [-MediaName ] [-Скрипт] [-AccessToken ] [-TrustServerCertificate] [-HostNameInCertificate ] [-Шифровать <строка>] [-Что, если] [-Подтверждать] [<Общие параметры>]
Восстановление базы данных Sql[-ClearSuspectPageTable] [-KeepReplication] [-Частично] [-Заменить базу данных] [-Ограниченный пользователь] [-Смещение ] [-RelocateFile <ПереместитьФайл[]>] [-AutoRelocateFile] [-FileNumber ] [-RestoreAction ] [-StandbyFile ] [-StopAtMarkAfterDate ] [-StopAtMarkName ] [-StopBeforeMarkAfterDate ] [-StopBeforeMarkName ] [-ToPointInTime ] [-база данных] <строка> -ServerInstance <Строка[]> [-Учетные данные ] [-ConnectionTimeout ] [[-BackupFile] ] [-SqlCredential ] [-BackupDevice ] [-Пройти через] [-Контрольная сумма] [-ContinueAfterError] [-Без перемотки] [-Перезапуск] [-Выгрузитьленту после] [-NoRecovery] [-DatabaseFile ] [-DatabaseFileGroup ] [-Размер_блока ] [-BufferCount ] [-MaxTransferSize ] [-MediaName ] [-Скрипт] [-AccessToken ] [-TrustServerCertificate] [-HostNameInCertificate ] [-Шифровать <строка>] [-Что, если] [-Подтверждать] [<Общие параметры>]
Восстановление базы данных Sql[-ClearSuspectPageTable] [-KeepReplication] [-Частично] [-Заменить базу данных] [-Ограниченный пользователь] [-Смещение ] [-RelocateFile <ПереместитьФайл[]>] [-AutoRelocateFile] [-FileNumber ] [-RestoreAction ] [-StandbyFile ] [-StopAtMarkAfterDate ] [-StopAtMarkName ] [-StopBeforeMarkAfterDate ] [-StopBeforeMarkName ] [-ToPointInTime ] [-база данных] <строка> -InputObject <Сервер[]> [[-BackupFile] ] [-SqlCredential ] [-BackupDevice ] [-Пройти через] [-Контрольная сумма] [-ContinueAfterError] [-Без перемотки] [-Перезапуск] [-Выгрузитьленту после] [-NoRecovery] [-DatabaseFile ] [-DatabaseFileGroup ] [-Размер_блока ] [-BufferCount ] [-MaxTransferSize ] [-MediaName ] [-Скрипт] [-AccessToken ] [-TrustServerCertificate] [-HostNameInCertificate ] [-Шифровать <строка>] [-Что, если] [-Подтверждать] [<Общие параметры>]
Восстановление базы данных Sql[-ClearSuspectPageTable] [-KeepReplication] [-Частично] [-Заменить базу данных] [-Ограниченный пользователь] [-Смещение ] [-RelocateFile <ПереместитьФайл[]>] [-AutoRelocateFile] [-FileNumber ] [-RestoreAction ] [-StandbyFile ] [-StopAtMarkAfterDate ] [-StopAtMarkName ] [-StopBeforeMarkAfterDate ] [-StopBeforeMarkName ] [-ToPointInTime ] [-DatabaseObject] <база данных> [[-BackupFile] ] [-SqlCredential ] [-BackupDevice ] [-Пройти через] [-Контрольная сумма] [-ContinueAfterError] [-Без перемотки] [-Перезапуск] [-Выгрузитьленту после] [-NoRecovery] [-DatabaseFile ] [-DatabaseFileGroup ] [-Размер_блока ] [-BufferCount ] [-MaxTransferSize ] [-MediaName ] [-Скрипт] [-AccessToken ] [-TrustServerCertificate] [-HostNameInCertificate ] [-Шифровать <строка>] [-Что, если] [-Подтверждать] [<Общие параметры>]
Описание
Командлет Restore-SqlDatabase выполняет операции восстановления базы данных SQL Server.
Это включает полное восстановление базы данных, восстановление журнала транзакций и восстановление файла базы данных.
Этот командлет создан на основе класса Microsoft.SqlServer.Management.Smo.Restore.
Параметры этого командлета обычно соответствуют свойствам объекта Smo.Restore.
Примеры
Пример 1. Восстановление базы данных из файла резервной копии на сетевом ресурсе
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak"
Эта команда восстанавливает полную базу данных MainDB
из файла \\mainserver\databasebackup\MainDB.bak
на экземпляр сервера Computer\Instance
.
Пример 2: Восстановление журнала транзакций базы данных
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log
Эта команда восстанавливает журнал транзакций для базы данных MainDB
из файла \\mainserver\databasebackup\MainDB. trn
на экземпляр сервера Computer\Instance
.
Пример 3: восстановление базы данных и запрос пароля
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.bak" -Credential (Get-Credential "sa")
Эта команда полностью восстанавливает базу данных MainDB
из файла \\mainserver\databasebackup\MainDB.bak
на экземпляр сервера Computer\Instance
, используя логин SQL sa
.
Эта команда запросит у вас пароль для завершения аутентификации.
Пример 4. Восстановление журнала транзакций с параметром NORECOVERY
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Лог-NoRecovery
Эта команда восстанавливает журнал транзакций базы данных MainDB
с параметром NORECOVERY
из файла \\mainserver\databasebackup\MainDB. trn
на экземпляр сервера Computer\Instance
.
Пример 5: Восстановление записей журнала транзакций до момента времени
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RestoreAction Log -ToPointInTime "21 сентября 2017 г., 23:11"
Эта команда восстанавливает журнал транзакций базы данных MainDB
до даты, переданной параметру ToPointInTime , 21 сентября 2017 г., 23:11.
Пример 6. Восстановление базы данных и перемещение файлов данных и журнала
PS C:\> $RelocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Data", "c:\MySQLServer\MainDB. МДФ") PS C:\> $RelocateLog = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("MainDB_Log", "c:\MySQLServer\MainDB.ldf") PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB. trn" -RelocateFile @($RelocateData,$RelocateLog)
В этом примере восстанавливается полная база данных MainDB
на экземпляр сервера Computer\Instance
и перемещаются файлы данных и журналов.
Для каждого перемещаемого файла в примере создается экземпляр класса Microsoft.SqlServer.Management.Smo.RelocateFile.
Каждый конструктор принимает два аргумента: логическое имя файла и физическое расположение файла на целевом сервере.
Объекты RelocateFile передаются в RelocateFile 9.0102 командлета Restore-SqlDatabase .
Пример 7: Восстановление базы данных с ленты
PS C:\> $TapeDevice = New-Object Microsoft.Sqlserver.Management.Smo.BackupDeviceItem("\\.\tape0", "Tape") PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupDevice $TapeDevice
В этом примере база данных MainDB
восстанавливается с ленточного устройства с именем \\.\tape0
на экземпляр сервера. Компьютер\Экземпляр
.
Для представления этого устройства в примере создается экземпляр класса Microsoft.Sqlserver.Management.Smo.BackupDeviceItem.
Конструктор принимает два аргумента: имя устройства резервного копирования и тип устройства резервного копирования.
Этот объект BackupDeviceItem затем передается параметру BackupDevice командлета Restore-SqlDatabase .
Пример 8. Восстановление базы данных из службы хранилища BLOB-объектов Azure
PS C:\> Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "https://mystorageaccountname.blob.core.windows .net/container/MyDB.bak" -SqlCredential "mySqlCredential"
Эта команда восстанавливает полную базу данных MainDB
из файла в службе хранилища BLOB-объектов Windows Azure на экземпляр сервера Computer\Instance
.
Пример 9. Резервное копирование базы данных на SQL2016 и восстановление на SQL2017 с помощью -AutoRelocateFile
PS C:\> Get-SqlDatabase -ServerInstance MYSERVER\SQL2016 -Database AdventureWorks | Backup-SqlDatabase -BackupFile 'C:\BAK2\AdventureWorks. bak' PS C:\> $restore = Restore-SqlDatabase -ServerInstance MYSERVER\SQL2017 -Database AdventureWorks2016 -BackupFile 'C:\BAK2\AdventureWorks.bak' -AutoRelocateFile -PassThru PS C:\> $db.RelocateFiles Имя ЛогическогоФайлаИмяФизическогоФайла ------------------------------ ---------------- AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Data.mdf AdventureWorks_Log C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\DATA\AdventureWorks_Log.ldf # Вы можете увидеть, что исходные имена PhysicalFileName действительно отличаются, выполнив следующий запрос: PS C:\> Invoke-Sqlcmd -ServerInstance MYSERVER\SQL2016 -Query "ВОССТАНОВИТЬ FILELISTONLY FROM DISK = N'C:\BAK2\AdventureWorks.bak' WITH NOUNLOAD" | Выберите -Property LogicalName,PhysicalName Логическое имя Физическое имя ----------- ------------ AdventureWorks_Data C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\MSSQL\DATA\AdventureWorks_Data.mdf AdventureWorks_Log C:\Program Files\Microsoft SQL Server\MSSQL13. SQL2016\MSSQL\DATA\AdventureWorks_Log.ldf
Первая команда создает резервную копию базы данных AdventureWorks на экземпляре SQL2016, работающем на компьютере MYSERVER . Резервная копия сохраняется под C:\BAK2 .
Тот же файл резервной копии используется во втором командлете для восстановления базы данных на экземпляре SQL2017, работающем на том же компьютере ( MYSERVER ).
Обратите внимание, что без переключателя -AutoRelocate командлет завершился бы ошибкой, поскольку физические файлы различались, как показано на рис.
две приведенные выше таблицы (более того, скорее всего, файлы использовались SQL2016 и, возможно, не были доступны SQL2017).
-AutoRelocate позволяет пользователю избежать явного использования -RelocationFile , аргумент для
который довольно утомительно строить.
Примечание. Предполагается, что экземпляр SQL2016 и экземпляр SQL2017 имеют доступ к папке C:\BAK2 .
Параметры
-AccessToken
-AutoRelocateFile
-BackupDevice
-BackupFile
-BlockSize
-BufferCount 9 0043
-Контрольная сумма
-ClearSuspectPageTable
-Confirm
-ConnectionTimeout
-ContinueAfterError
-Credential
-Database
-DatabaseFile 9 0043
-DatabaseFileGroup
-DatabaseObject
-Encrypt
-FileNumber
-HostNameInCertificate
-InputObject
-KeepReplication
-MaxTransferSize
-MediaName
-NoRecovery
-NoRewind
-Offset
-Partial
-PassThru
-Path
-RelocateFile
-ReplaceDatabase
-Restart
-RestoreAction
-RestrictedUser
-Script
-ServerInstance
-SqlCredential
— StandbyFile
-StopAtMarkAfterDate
-StopAtMarkName
-StopBeforeMarkAfterDate
-StopBeforeMarkName
-ToPointInTime
-Trust Сертификат сервера
-UnloadTapeAfter
-WhatIf
Входные данные
Microsoft. SqlServer.Management.Smo.Database
Microsoft.SqlServer.Management.Smo. Server[]
Задает объект SMO.Server, описывающий Экземпляр SQL Server, на котором выполняется операция восстановления.
System.String[]
- Backup-SqlDatabase
Восстановление базы данных SQL Server с помощью резервного копирования MSP360
Восстановление базы данных SQL Server с помощью MSP360
MSP360 Backup поддерживает резервное копирование и восстановление баз данных Microsoft SQL Server. Продукт интегрируется со встроенными механизмами резервного копирования и восстановления Microsoft SQL Server, обеспечивает сжатие SQL Server и предлагает гибкое планирование, а также ряд других полезных опций.
В этой статье мы обсудим, как восстановить базы данных SQL Server с помощью решения MSP360. Инструкции по резервному копированию см. в нашей статье «Резервное копирование базы данных SQL Server».
Мы предполагаем, что вы уже знакомы с тем, как работает SQL Server, поскольку в этой статье рассматривается только то, как решение MSP360 взаимодействует с SQL Server.
Вам потребуется выпуск MSP360 Backup for MS SQL Server или MSP360 Backup Ultimate, чтобы иметь возможность выполнять восстановление базы данных SQL Server.
Убедитесь, что ваш сервер запущен и работает, а затем перейдите к резервному копированию MSP360.
БЕСПЛАТНЫЙ ТЕХНИЧЕСКИЙ ДОКУМЕНТ
Резервное копирование и восстановление SQL Server
Ознакомьтесь с полным руководством с рекомендациями для MSP:
Запустите резервное копирование MSP360 и запустите мастер восстановления.
Выберите облачное хранилище или физическое хранилище, из которого нужно восстановить резервную копию. Затем выберите Запустить восстановление только один раз или Сохранить план восстановления для дальнейших запусков (и укажите имя плана). Нажмите «Далее.
На следующей странице мастера выберите, какие данные необходимо восстановить. Чтобы продолжить восстановление баз данных SQL Server, выберите соответствующий параметр и нажмите кнопку Далее.
Выберите версию данных, которые вы хотите восстановить. Вы можете восстановить последнюю версию или указать момент времени. Нажмите «Далее.
5 Выберите экземпляр SQL Server, предпочитаемый метод проверки подлинности и данные для входа. Нажмите «Далее.
Выберите базы данных, которые вы хотите восстановить, и нажмите «Далее».
Выберите, перезаписывать ли существующие базы данных их восстановленными версиями, и укажите имена для восстановленных баз данных. Если на шаге 3 вы выбрали «Восстановить базу данных MS SQL Server», ваши базы данных будут восстановлены в местах их происхождения. Если на шаге 3 вы выбрали Восстановление файлов резервных копий MS SQL Server, этот шаг будет пропущен.
Мастер не сможет перезаписать существующую базу данных, если вы не отметите соответствующий флажок.
Если на шаге 3 вы выбрали Восстановить базу данных MS SQL Server, настройте дополнительные параметры для восстанавливаемой базы данных:
дополнительные параметры для восстанавливаемой базы данных:
— Папка с файлами данных — указывает расположение файлов MDF.
— Папка с файлами журналов — указывает расположение файлов LDF, содержащих журналы.
— Шаблон имени файла — позволяет указать пользовательский шаблон для именования восстановленных файлов MDF и LDF.
Вы также можете выбрать, должна ли служба резервного копирования закрывать все существующие соединения с целевой базой данных, включив соответствующий параметр на этой странице мастера.
Если на шаге 3 вы выбрали Восстановление файлов резервных копий MS SQL Server, вам нужно будет указать папку назначения для ваших резервных копий и шаблон файла резервной копии.
При восстановлении файлов резервных копий из нескольких баз данных вы можете настроить мастер на автоматическое создание отдельного каталога в папке назначения для каждой из этих баз данных, включив соответствующий параметр на этой странице мастера.
Если ваши данные были зашифрованы на стороне клиента, установите флажок Расшифровать зашифрованные файлы с помощью следующего пароля. Введите свой пароль, введите его еще раз для подтверждения и нажмите «Далее».