В лекции 32 вы узнали о том, насколько важно выполнять резервное копирование вашей системы и как создавать резервные копии. В этой лекции мы продолжим тему защиты базы данных, исходя из материала предыдущей лекции. Вы узнаете, как восстанавливать базу данных, как планировать восстановление на случай аварии; мы рассмотрим более подробно, как происходит воспроизведение базы данных. Как вы увидите, тип выполненного резервного копирования влияет на то, как выполняется восстановление. Кроме изучения методов восстановления и воспроизведения базы данных, вы ознакомитесь с понятием доставки журнала транзакций (log shipping). Это новое средство, введенное в Microsoft SQL Server 2000, позволяющее создавать резервную копию вашей базы данных на другом сервере путем использования журнала транзакций исходного сервера.
Как уже говорилось, тип выполненного резервного копирования влияет на характер операции восстановления. В этом разделе вы узнаете, как выполнять восстановление из полной резервной копии, из разностной резервной копии, а также из резервных копий журнала транзакций.
Восстановление из полной резервной копии – это довольно простой процесс: вы просто восстанавливаете файлы резервной копии с помощью SQL Server Enterprise Manager или операторов Transact-SQL (T-SQL). Инструкции по восстановлению данных с помощью этих двух методов приводятся далее в данной лекции. Если вы планируете восстановление из разностных резервных копий после восстановления из полной резервной копии, то не забывайте создавать резервную копию текущего журнала транзакций (см. раздел "Восстановление из резервных копий журнала транзакций" далее в этой лекции), и задавать параметр NORECOVERY, когда выполняете восстановление.
RECOVERY. Параметр RECOVERY указывает SQL Server, что после окончания операции восстановления нужно попытаться воспроизвести базу данных с помощью оперативного журнала транзакций. Если вы планируете использовать файлы разностных резервных копий или файлы резервных копий журнала транзакций, то не забудьте указать параметр NORECOVERY.Для восстановления из разностной резервной копии вы должны сначала выполнить восстановление из полной резервной копии и затем – из всех разностных резервных копий, созданных вслед за последней полной резервной копией. Напомним, что разностная резервная копия используется для резервного копирования информации, которая изменилась с момента последнего полного или разностного резервного копирования. Не забудьте использовать параметр NORECOVERY (за исключением случая восстановления самого последнего файла резервной копии, для которого вы будете использовать параметр RECOVERY ). Если у вас выполняется восстановление из резервных копий журналов транзакций в дополнение к разностной резервной копии, то вы должны также выполнить резервное копирование текущего журнала и применять все измененные файлы журнала, как это описано в следующем разделе.
Чтобы выполнить воспроизведение для возврата базы данных к состоянию, в котором она находилась непосредственно перед отказом системы, вы должны сначала восстановить файлы данных из последней полной резервной копии и затем восстановить изменения, внесенные в базу данных после этого резервного копирования. Чтобы восстановить эти изменения, вам нужно восстановить все резервные копии журнала транзакций, созданные до момента отказа.
Чтобы вы не потеряли ни одной из самых последних транзакций, вы должны сначала сохранить текущий журнал. Если вы забудете сохранить текущий журнал, то потеряете последние изменения, записанные в журнал транзакций, поскольку операции восстановления перезаписывают журнал транзакций.
Чтобы использовать журналы транзакций для восстановления базы данных к состоянию, в котором она находилась непосредственно перед моментом отказа, выполните следующие основные шаги, используя методы, которые вы изучили в лекции 32.
NO_TRUNCATE.Если ваша база данных работает в режиме воспроизведения BULK_LOGGED, то вы должны повторно выполнить любые минимально протоколированные в журнале операции, если это восстановление необходимо. К этим операциям относятся SELECT...INTO, BULK COPY, и некоторые операции CREATE INDEX, а также текстовые операции, о которых говорилось в предыдущей лекции. Если это налагает на вас непосильную нагрузку, не задавайте для вашей базы данных режим BULK_LOGGED.
Как уже говорилось, вы можете выполнять операцию восстановления с помощью Enterprise Manager или операторов T-SQL – оба метода дают одинаковые результаты. В отличие от операций резервного копирования, в SQL Server нет мастера для операций восстановления.
Для операции восстановления с помощью Enterprise Manager выполните следующие шаги.
От вас не требуется непосредственное восстановление какой-либо базы данных; на самом деле, когда вам действительно потребуется восстанавливать базу данных, вы будете использовать другое имя базы данных. Например, предположим, что пользователь случайно удалил таблицу. Если бы вы восстанавливали всю базу данных, то вам пришлось бы заменить все данные более ранними данными. Вместо этого вы можете восстановить эти данные в базе данных под другим именем, извлечь из нее соответствующую таблицу и воспроизвести эту таблицу в реальную базу данных.
В диалоговом окне Restore database вы можете также выделить набор резервного копирования и затем просмотреть его свойства, щелкнув на кнопке Properties (Свойства). Пример окна
(рис 33.5) Вкладка General диалогового окна Restore database после щелчка на кнопке выбора From device(рис 33.4) Вкладка Options диалогового окна Restore databaseОстальные параметры (кнопки выбора) позволяют вам указывать, в каком состоянии следует оставить базу данных по завершении восстановления.RECOVERY. При выборе этого варианта вы не можете восстанавливать резервные копии журнала транзакций.NORECOVERY. При установке этого флага вы можете запускать дальнейшее восстановление с разностных резервных копий или резервных копий журнала NORECOVERY для восстановления, и вы можете выполнять восстановление с разностных резервных копий или резервных копий журнала транзакций. В отличие от предыдущего варианта эта кнопка выбора позволяет пользователям осуществлять доступ к базе данных по чтению с одновременным выполнением операции восстановления.Оператор T-SQL RESTORE действует аналогично оператору BACKUP (см.лекцию 32). Подобно оператору BACKUP, сначала оператор RESTORE относительно труден для использования, но некоторые BACKUP, оператор RESTORE предоставляет несколько больше возможностей, чем использование Enterprise Manager.
В этом разделе мы рассмотрим синтаксис оператора RESTORE и различные параметры этого оператора. Оператор RESTORE имеет две следующие формы.
Как видите, выбор оператора зависит от типа выполняемой вами операции восстановления. Поскольку большинство параметров этих операторов совпадает, мы будет рассматривать все параметры для обоих типов восстановления (база данных и журнал) в одном списке далее.
Оператор RESTORE для полного восстановления базы данных имеет следующий синтаксис:
RESTORE DATABASE имя_базы_данных [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Для этого оператора обязательными параметрами являются только имя базы данных и местоположение резервной копии.
Оператор восстановления файла или группы файлов имеет следующий синтаксис:
RESTORE DATABASE имя_базы_данных [FILE = имя_файла ] [FILEGROUP = имя_группы_файлов ] [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Для этого оператора обязательными параметрами являются только имя базы данных, имя файла или группы файлов и местоположение резервной копии.
Оператор RESTORE для восстановления журнала транзакций имеет следующий синтаксис:
RESTORE LOG имя_базы_данных [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Во всех этих операторах имя_базы_данных представляет базу данных, для которой будет выполнено восстановление. Устройство_резервного_копирования – это имя логического устройства резервного копирования или имя физического устройства. Если указано физическое устройство, то имени устройства должен предшествовать тип устройства, т.е. DISK =, или PIPE =. Вы можете задать одно или несколько устройств. (Имена нескольких устройств разделяются запятыми.)
FROM, то восстановление не происходит, но все же происходит воспроизведение (если не задан параметр NORECOVERY ). Этот метод можно использовать для установки базы данных в режим воспроизведения без восстановления каких-либо дополнительных данных. Например, вы можете выполнить несколько операций восстановления из разностных резервных копий и затем запустить операцию RESTORE без предложения FROM, чтобы задать для базы данных режим воспроизведения, запустив тем самым процесс воспроизведения.В табл. 33.1 приводится список дополнительных параметров, которые можно использовать в оператореRESTORE. Как вы увидите, эти параметры обеспечивают высокий уровень гибкости при выполнении операций восстановления. (Один из параметров доступен только для восстановления журнала транзакций, что отмечено в описании.)
| Параметр | Описание |
|---|---|
RESTRICTED_USER |
Задает ограничение доступа к вновь восстановленной базе данных, чтобы разрешать доступ только ролям db_owner, dbcreater и |
FILE = номер_файла |
Указывает используемый набор резервной копии, если носитель содержит более одного набора. Например, если задать значение 2, то будет использоваться второй набор резервной копии на данном носителе |
PASSWORD = пароль |
Указывает пароль для набора сохранения |
MEDIANAME = имя_носителя |
Указывает имя носителя |
MEDIAPASSWORD = пароль |
Указывает пароль, который был присвоен этому набору носителей |
MOVE 'имя_логического_файла' TO 'имя_файла_ОС' |
Изменяет местоположение восстанавливаемого файла, например: MOVE 'Northwind' TO 'D:\data\Northwind.mdf'. Вы можете использовать этот параметр, если выполняете восстановление на новом диске, поскольку старый диск непригоден |
NORECOVERY | RECOVERY | |
Параметр NORECOVERY указывает, что воспроизведение транзакций (откат или повторное исполнение) не будет выполняться после восстановления. Использование этого параметра необходимо, если вы будете продолжать восстановление с других резервных копий (разностных или журнала транзакций). Используемый по умолчанию параметр RECOVERY указывает, что будет выполнена операция воспроизведения, причем будет выполнен откат всех нефиксированных изменений. Параметр указывает, что на случай отмены операции воспроизведения будет создан файл отката |
KEEP_REPLICATION |
Указывает, что будут сохранены параметры репликации, если база данных восстанавливается на издателе |
NOUNLOAD | UNLOAD |
Параметр NOUNLOAD указывает, что после операции восстановления носитель не будет выгружаться из устройства (например, лента с резервной копией не будет перемотана в начало или извлечена). Параметр UNLOAD (принятый по умолчанию) указывает, что по окончании операции восстановления носитель будет выгружен |
REPLACE |
Указывает, что SQL Server будет восстанавливать файлы данных, даже если эти файлы уже существуют. Существующие файлы данных будут удалены и записаны снова. Если вы не задали параметр REPLACE, то SQL Server проверяет, существует ли уже база данных, которую вы указали. Если она существует, то операция восстановления не выполняется. Эта мера предосторожности помогает избежать непреднамеренного восстановления поверх существующей базы данных |
|
Указывает, что SQL Server должен перезапускать операцию восстановления, если она была прервана |
STATS [ = процент ] |
Указывает вывод сообщения после выполнения определенного процента операции восстановления. Его полезно использовать, если вы хотите следить за ходом выполнения операций |
PARTIAL |
Указывает, что нужно выполнить частичное восстановление |
STOPAT = дата_время |
Указывает, что базу данных следует восстановить
(только восстановление журнала к состоянию, в котором она находилась на дату,
транзакций) указанную значением дата_время |
STOPATMARK = 'метка' |
Указывает, что операция восстановления выполняется, пока не встретится указанная метка |
STOPBEFOREMARK = 'метка' |
Указывает, что операция восстановления заканчивается непосредственно перед указанной меткой |
BEGIN TRANSACTION ... WITH MARK имя_метки, позволяют вам использовать параметры STOPATMARK и STOPBEFOREMARK оператора RESTORE.В этой врезке мы рассмотрим несколько примеров использования оператора T-SQL RESTORE.
Следующий оператор восстанавливает файлы данных для базы данных Example:
RESTORE DATABASE Example FROM Backup_Dev_1, Backup_Dev_2 WITH NORECOVERY, STATS = 5 GO
Следующий оператор восстанавливает журнал транзакций для базы данных Example:
RESTORE LOG Example FROM Backup_Dev_3, Backup_Dev_4 WITH NORECOVERY, STATS = 5, UNLOAD GO
На экран будет выводиться процент выполнения операции, а также результаты восстановления. Будет указано количество восстановленных страниц, сколько времени длится восстановление и какова скорость (Мб/с).
Вы можете также восстановить эту базу данных с помощью следующего оператора:
RESTORE LOG Example WITH RECOVERY GO
Вы снова увидите статистику, относящуюся к операции восстановления.
Для увеличения времени работоспособности вашей системы недостаточно использовать кластеризацию ваших серверов (см. лекцию 12) или использовать RAID (см. лекцию 5) – вы должны также планировать воспроизведение на случай аварии до того, как она наступила. Вам необходимо знать, как выполняется качественное резервное копирование и восстановление, когда они требуются, но вы должны быть также готовы к воссозданию вашей системы с самого начала, если возникнет такая необходимость. Эта подготовка означает документирование и планирование. Кроме того, возможно, вам потребуется для обеспечения достаточного уровня восстанавливаемости использовать новое средство SQL Server 2000, которое называется доставкой журнала транзакций (log shipping). Это средство позволяет применять журналы транзакций основной системы к резервным системам.
Как
Все эти шаги предусматривают планирование и/или создание документации. Часто бывает так, что план воспроизведения не документируется, и только разработчик плана способен выполнить его, что может иметь катастрофические последствия, если этот человек отсутствует.
Если шаги создания вашей текущей конфигурации недостаточно документированы, то возможны проблемы, когда требуется перестроение вашей системы или даже когда к системе добавляется новое оборудование.
Документирование текущей конфигурации позволяет вам быстрее воссоздавать, реинсталлировать и реконфигурировать систему. Проследите за тем, чтобы была включена следующая информация.
Как вы уже видели в лекции 5, использование отказоустойчивых томов RAID-матриц значительно снижает вероятность отказа системы. Диски являются механическими компонентами и, как таковые, подвержены износу. Использование отказоустойчивого тома, возможно, избавит вас от необходимости реинсталляции операционной системы и SQL Server и восстановления системы с резервных копий, что может оказаться дорогостоящим процессом, отнимающим много времени (дорогостоящим в смысле трудозатрат, а также потерь дохода, связанных с выходом системы из строя).
При отказе одного из отказоустойчивых дисков заменяйте его по возможности быстрее. В конце концов, может отказать и второй диск, а некоторые уровни RAID могут выдержать потерю только одного диска. Подготовьте запасные компоненты и будьте готовы использовать их.
Будьте готовы к немедленному восстановлению базы данных. Резервные копии следует хранить вне рабочего места, чтобы сохранить их от катастроф, таких как пожар или затопление, но вы должны также держать под рукой дубликаты последних резервных копий, поскольку вам не всегда удастся быстро получить резервные копии, хранящиеся вне рабочего места. Использование промежуточной секции резервного копирования является распространенным способом хранения последних резервных копий по месту, а также повышения производительности резервного копирования и восстановления. Промежуточная секция резервного копирования находится в вашей сети и состоит из дисков, на которых сохраняются последние резервные копии баз данных и журналов транзакций. При необходимости восстановления вам не нужно использовать ленты, доставляя их из хранилища, находящегося вне рабочего места, – вы можете немедленно начать восстановление. Этот метод полезно использовать, если вам требуется немедленное восстановление, но он может оказаться достаточно дорогостоящим, поскольку вы должны выделять дополнительные ресурсы оборудования для хранения резервных копий. Вы должны оценить ваш бюджет и ваши потребности, чтобы определить, насколько осуществимо использование промежуточной секции резервного копирования в ваших условиях.
Поскольку вас может не оказаться на месте, когда потребуется восстановление после аварии, вы должны тщательно документировать план восстановления базы данных и предоставить доступ к этой информации другим сотрудникам, чтобы они тоже могли при необходимости восстановить систему. План восстановления базы данных на случай аварии может также оказаться полезным напоминанием, если вы давно не выполняли восстановление. В любом случае документированная копия плана восстановления базы данных облегчит выполнение процесса восстановления.
Средство доставки журнала (Log
В случае катастрофического отказа на основном сервере резервный сервер можно быстро и легко преобразовать в новый основной сервер. Это средство уже использовалось многими при работе с SQL Server 7, но теперь оно официально поддерживается фирмой Microsoft с добавлением средств упрощения работы. К этим средствам относятся создание и поддержка резервных систем с помощью мастера плана обслуживания базы данных Database Maintenance Plan Wizard и агента SQL Server Agent.
На этом мы заканчиваем рассмотрение операций резервного копирования, восстановления и воспроизведения баз данных. Вы узнали, как эффективно выполнять резервное копирование и восстановление системы и как выполняется воспроизведение в SQL Server. Вы видели, как выполнять эти операции с помощью Enterprise Manager и операторов T-SQL. В этой лекции описаны операции восстановления, а также подготовка критически важного плана восстановления на случай аварии. Помните, что защита системы является одной из главных обязанностей
В лекции 32 вы узнали о том, насколько важно выполнять резервное копирование вашей системы и как создавать резервные копии. В этой лекции мы продолжим тему защиты базы данных, исходя из материала предыдущей лекции. Вы узнаете, как восстанавливать базу данных, как планировать восстановление на случай аварии; мы рассмотрим более подробно, как происходит воспроизведение базы данных. Как вы увидите, тип выполненного резервного копирования влияет на то, как выполняется восстановление. Кроме изучения методов восстановления и воспроизведения базы данных, вы ознакомитесь с понятием доставки журнала транзакций (log shipping). Это новое средство, введенное в Microsoft SQL Server 2000, позволяющее создавать резервную копию вашей базы данных на другом сервере путем использования журнала транзакций исходного сервера.
Как уже говорилось, тип выполненного резервного копирования влияет на характер операции восстановления. В этом разделе вы узнаете, как выполнять восстановление из полной резервной копии, из разностной резервной копии, а также из резервных копий журнала транзакций.
Восстановление из полной резервной копии – это довольно простой процесс: вы просто восстанавливаете файлы резервной копии с помощью SQL Server Enterprise Manager или операторов Transact-SQL (T-SQL). Инструкции по восстановлению данных с помощью этих двух методов приводятся далее в данной лекции. Если вы планируете восстановление из разностных резервных копий после восстановления из полной резервной копии, то не забывайте создавать резервную копию текущего журнала транзакций (см. раздел "Восстановление из резервных копий журнала транзакций" далее в этой лекции), и задавать параметр NORECOVERY, когда выполняете восстановление.
RECOVERY. Параметр RECOVERY указывает SQL Server, что после окончания операции восстановления нужно попытаться воспроизвести базу данных с помощью оперативного журнала транзакций. Если вы планируете использовать файлы разностных резервных копий или файлы резервных копий журнала транзакций, то не забудьте указать параметр NORECOVERY.Для восстановления из разностной резервной копии вы должны сначала выполнить восстановление из полной резервной копии и затем – из всех разностных резервных копий, созданных вслед за последней полной резервной копией. Напомним, что разностная резервная копия используется для резервного копирования информации, которая изменилась с момента последнего полного или разностного резервного копирования. Не забудьте использовать параметр NORECOVERY (за исключением случая восстановления самого последнего файла резервной копии, для которого вы будете использовать параметр RECOVERY ). Если у вас выполняется восстановление из резервных копий журналов транзакций в дополнение к разностной резервной копии, то вы должны также выполнить резервное копирование текущего журнала и применять все измененные файлы журнала, как это описано в следующем разделе.
Чтобы выполнить воспроизведение для возврата базы данных к состоянию, в котором она находилась непосредственно перед отказом системы, вы должны сначала восстановить файлы данных из последней полной резервной копии и затем восстановить изменения, внесенные в базу данных после этого резервного копирования. Чтобы восстановить эти изменения, вам нужно восстановить все резервные копии журнала транзакций, созданные до момента отказа.
Чтобы вы не потеряли ни одной из самых последних транзакций, вы должны сначала сохранить текущий журнал. Если вы забудете сохранить текущий журнал, то потеряете последние изменения, записанные в журнал транзакций, поскольку операции восстановления перезаписывают журнал транзакций.
Чтобы использовать журналы транзакций для восстановления базы данных к состоянию, в котором она находилась непосредственно перед моментом отказа, выполните следующие основные шаги, используя методы, которые вы изучили в лекции 32.
NO_TRUNCATE.Если ваша база данных работает в режиме воспроизведения BULK_LOGGED, то вы должны повторно выполнить любые минимально протоколированные в журнале операции, если это восстановление необходимо. К этим операциям относятся SELECT...INTO, BULK COPY, и некоторые операции CREATE INDEX, а также текстовые операции, о которых говорилось в предыдущей лекции. Если это налагает на вас непосильную нагрузку, не задавайте для вашей базы данных режим BULK_LOGGED.
Как уже говорилось, вы можете выполнять операцию восстановления с помощью Enterprise Manager или операторов T-SQL – оба метода дают одинаковые результаты. В отличие от операций резервного копирования, в SQL Server нет мастера для операций восстановления.
Для операции восстановления с помощью Enterprise Manager выполните следующие шаги.
От вас не требуется непосредственное восстановление какой-либо базы данных; на самом деле, когда вам действительно потребуется восстанавливать базу данных, вы будете использовать другое имя базы данных. Например, предположим, что пользователь случайно удалил таблицу. Если бы вы восстанавливали всю базу данных, то вам пришлось бы заменить все данные более ранними данными. Вместо этого вы можете восстановить эти данные в базе данных под другим именем, извлечь из нее соответствующую таблицу и воспроизвести эту таблицу в реальную базу данных.
В диалоговом окне Restore database вы можете также выделить набор резервного копирования и затем просмотреть его свойства, щелкнув на кнопке Properties (Свойства). Пример окна
(рис 33.5) Вкладка General диалогового окна Restore database после щелчка на кнопке выбора From device(рис 33.4) Вкладка Options диалогового окна Restore databaseОстальные параметры (кнопки выбора) позволяют вам указывать, в каком состоянии следует оставить базу данных по завершении восстановления.RECOVERY. При выборе этого варианта вы не можете восстанавливать резервные копии журнала транзакций.NORECOVERY. При установке этого флага вы можете запускать дальнейшее восстановление с разностных резервных копий или резервных копий журнала NORECOVERY для восстановления, и вы можете выполнять восстановление с разностных резервных копий или резервных копий журнала транзакций. В отличие от предыдущего варианта эта кнопка выбора позволяет пользователям осуществлять доступ к базе данных по чтению с одновременным выполнением операции восстановления.Оператор T-SQL RESTORE действует аналогично оператору BACKUP (см.лекцию 32). Подобно оператору BACKUP, сначала оператор RESTORE относительно труден для использования, но некоторые BACKUP, оператор RESTORE предоставляет несколько больше возможностей, чем использование Enterprise Manager.
В этом разделе мы рассмотрим синтаксис оператора RESTORE и различные параметры этого оператора. Оператор RESTORE имеет две следующие формы.
Как видите, выбор оператора зависит от типа выполняемой вами операции восстановления. Поскольку большинство параметров этих операторов совпадает, мы будет рассматривать все параметры для обоих типов восстановления (база данных и журнал) в одном списке далее.
Оператор RESTORE для полного восстановления базы данных имеет следующий синтаксис:
RESTORE DATABASE имя_базы_данных [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Для этого оператора обязательными параметрами являются только имя базы данных и местоположение резервной копии.
Оператор восстановления файла или группы файлов имеет следующий синтаксис:
RESTORE DATABASE имя_базы_данных [FILE = имя_файла ] [FILEGROUP = имя_группы_файлов ] [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Для этого оператора обязательными параметрами являются только имя базы данных, имя файла или группы файлов и местоположение резервной копии.
Оператор RESTORE для восстановления журнала транзакций имеет следующий синтаксис:
RESTORE LOG имя_базы_данных [ FROM устройство_резервного_копирования ] [ WITH необязательные параметры ]
Во всех этих операторах имя_базы_данных представляет базу данных, для которой будет выполнено восстановление. Устройство_резервного_копирования – это имя логического устройства резервного копирования или имя физического устройства. Если указано физическое устройство, то имени устройства должен предшествовать тип устройства, т.е. DISK =, или PIPE =. Вы можете задать одно или несколько устройств. (Имена нескольких устройств разделяются запятыми.)
FROM, то восстановление не происходит, но все же происходит воспроизведение (если не задан параметр NORECOVERY ). Этот метод можно использовать для установки базы данных в режим воспроизведения без восстановления каких-либо дополнительных данных. Например, вы можете выполнить несколько операций восстановления из разностных резервных копий и затем запустить операцию RESTORE без предложения FROM, чтобы задать для базы данных режим воспроизведения, запустив тем самым процесс воспроизведения.В табл. 33.1 приводится список дополнительных параметров, которые можно использовать в оператореRESTORE. Как вы увидите, эти параметры обеспечивают высокий уровень гибкости при выполнении операций восстановления. (Один из параметров доступен только для восстановления журнала транзакций, что отмечено в описании.)
| Параметр | Описание |
|---|---|
RESTRICTED_USER |
Задает ограничение доступа к вновь восстановленной базе данных, чтобы разрешать доступ только ролям db_owner, dbcreater и |
FILE = номер_файла |
Указывает используемый набор резервной копии, если носитель содержит более одного набора. Например, если задать значение 2, то будет использоваться второй набор резервной копии на данном носителе |
PASSWORD = пароль |
Указывает пароль для набора сохранения |
MEDIANAME = имя_носителя |
Указывает имя носителя |
MEDIAPASSWORD = пароль |
Указывает пароль, который был присвоен этому набору носителей |
MOVE 'имя_логического_файла' TO 'имя_файла_ОС' |
Изменяет местоположение восстанавливаемого файла, например: MOVE 'Northwind' TO 'D:\data\Northwind.mdf'. Вы можете использовать этот параметр, если выполняете восстановление на новом диске, поскольку старый диск непригоден |
NORECOVERY | RECOVERY | |
Параметр NORECOVERY указывает, что воспроизведение транзакций (откат или повторное исполнение) не будет выполняться после восстановления. Использование этого параметра необходимо, если вы будете продолжать восстановление с других резервных копий (разностных или журнала транзакций). Используемый по умолчанию параметр RECOVERY указывает, что будет выполнена операция воспроизведения, причем будет выполнен откат всех нефиксированных изменений. Параметр указывает, что на случай отмены операции воспроизведения будет создан файл отката |
KEEP_REPLICATION |
Указывает, что будут сохранены параметры репликации, если база данных восстанавливается на издателе |
NOUNLOAD | UNLOAD |
Параметр NOUNLOAD указывает, что после операции восстановления носитель не будет выгружаться из устройства (например, лента с резервной копией не будет перемотана в начало или извлечена). Параметр UNLOAD (принятый по умолчанию) указывает, что по окончании операции восстановления носитель будет выгружен |
REPLACE |
Указывает, что SQL Server будет восстанавливать файлы данных, даже если эти файлы уже существуют. Существующие файлы данных будут удалены и записаны снова. Если вы не задали параметр REPLACE, то SQL Server проверяет, существует ли уже база данных, которую вы указали. Если она существует, то операция восстановления не выполняется. Эта мера предосторожности помогает избежать непреднамеренного восстановления поверх существующей базы данных |
|
Указывает, что SQL Server должен перезапускать операцию восстановления, если она была прервана |
STATS [ = процент ] |
Указывает вывод сообщения после выполнения определенного процента операции восстановления. Его полезно использовать, если вы хотите следить за ходом выполнения операций |
PARTIAL |
Указывает, что нужно выполнить частичное восстановление |
STOPAT = дата_время |
Указывает, что базу данных следует восстановить
(только восстановление журнала к состоянию, в котором она находилась на дату,
транзакций) указанную значением дата_время |
STOPATMARK = 'метка' |
Указывает, что операция восстановления выполняется, пока не встретится указанная метка |
STOPBEFOREMARK = 'метка' |
Указывает, что операция восстановления заканчивается непосредственно перед указанной меткой |
BEGIN TRANSACTION ... WITH MARK имя_метки, позволяют вам использовать параметры STOPATMARK и STOPBEFOREMARK оператора RESTORE.В этой врезке мы рассмотрим несколько примеров использования оператора T-SQL RESTORE.
Следующий оператор восстанавливает файлы данных для базы данных Example:
RESTORE DATABASE Example FROM Backup_Dev_1, Backup_Dev_2 WITH NORECOVERY, STATS = 5 GO
Следующий оператор восстанавливает журнал транзакций для базы данных Example:
RESTORE LOG Example FROM Backup_Dev_3, Backup_Dev_4 WITH NORECOVERY, STATS = 5, UNLOAD GO
На экран будет выводиться процент выполнения операции, а также результаты восстановления. Будет указано количество восстановленных страниц, сколько времени длится восстановление и какова скорость (Мб/с).
Вы можете также восстановить эту базу данных с помощью следующего оператора:
RESTORE LOG Example WITH RECOVERY GO
Вы снова увидите статистику, относящуюся к операции восстановления.
Для увеличения времени работоспособности вашей системы недостаточно использовать кластеризацию ваших серверов (см. лекцию 12) или использовать RAID (см. лекцию 5) – вы должны также планировать воспроизведение на случай аварии до того, как она наступила. Вам необходимо знать, как выполняется качественное резервное копирование и восстановление, когда они требуются, но вы должны быть также готовы к воссозданию вашей системы с самого начала, если возникнет такая необходимость. Эта подготовка означает документирование и планирование. Кроме того, возможно, вам потребуется для обеспечения достаточного уровня восстанавливаемости использовать новое средство SQL Server 2000, которое называется доставкой журнала транзакций (log shipping). Это средство позволяет применять журналы транзакций основной системы к резервным системам.
Как
Все эти шаги предусматривают планирование и/или создание документации. Часто бывает так, что план воспроизведения не документируется, и только разработчик плана способен выполнить его, что может иметь катастрофические последствия, если этот человек отсутствует.
Если шаги создания вашей текущей конфигурации недостаточно документированы, то возможны проблемы, когда требуется перестроение вашей системы или даже когда к системе добавляется новое оборудование.
Документирование текущей конфигурации позволяет вам быстрее воссоздавать, реинсталлировать и реконфигурировать систему. Проследите за тем, чтобы была включена следующая информация.
Как вы уже видели в лекции 5, использование отказоустойчивых томов RAID-матриц значительно снижает вероятность отказа системы. Диски являются механическими компонентами и, как таковые, подвержены износу. Использование отказоустойчивого тома, возможно, избавит вас от необходимости реинсталляции операционной системы и SQL Server и восстановления системы с резервных копий, что может оказаться дорогостоящим процессом, отнимающим много времени (дорогостоящим в смысле трудозатрат, а также потерь дохода, связанных с выходом системы из строя).
При отказе одного из отказоустойчивых дисков заменяйте его по возможности быстрее. В конце концов, может отказать и второй диск, а некоторые уровни RAID могут выдержать потерю только одного диска. Подготовьте запасные компоненты и будьте готовы использовать их.
Будьте готовы к немедленному восстановлению базы данных. Резервные копии следует хранить вне рабочего места, чтобы сохранить их от катастроф, таких как пожар или затопление, но вы должны также держать под рукой дубликаты последних резервных копий, поскольку вам не всегда удастся быстро получить резервные копии, хранящиеся вне рабочего места. Использование промежуточной секции резервного копирования является распространенным способом хранения последних резервных копий по месту, а также повышения производительности резервного копирования и восстановления. Промежуточная секция резервного копирования находится в вашей сети и состоит из дисков, на которых сохраняются последние резервные копии баз данных и журналов транзакций. При необходимости восстановления вам не нужно использовать ленты, доставляя их из хранилища, находящегося вне рабочего места, – вы можете немедленно начать восстановление. Этот метод полезно использовать, если вам требуется немедленное восстановление, но он может оказаться достаточно дорогостоящим, поскольку вы должны выделять дополнительные ресурсы оборудования для хранения резервных копий. Вы должны оценить ваш бюджет и ваши потребности, чтобы определить, насколько осуществимо использование промежуточной секции резервного копирования в ваших условиях.
Поскольку вас может не оказаться на месте, когда потребуется восстановление после аварии, вы должны тщательно документировать план восстановления базы данных и предоставить доступ к этой информации другим сотрудникам, чтобы они тоже могли при необходимости восстановить систему. План восстановления базы данных на случай аварии может также оказаться полезным напоминанием, если вы давно не выполняли восстановление. В любом случае документированная копия плана восстановления базы данных облегчит выполнение процесса восстановления.
Средство доставки журнала (Log
В случае катастрофического отказа на основном сервере резервный сервер можно быстро и легко преобразовать в новый основной сервер. Это средство уже использовалось многими при работе с SQL Server 7, но теперь оно официально поддерживается фирмой Microsoft с добавлением средств упрощения работы. К этим средствам относятся создание и поддержка резервных систем с помощью мастера плана обслуживания базы данных Database Maintenance Plan Wizard и агента SQL Server Agent.
На этом мы заканчиваем рассмотрение операций резервного копирования, восстановления и воспроизведения баз данных. Вы узнали, как эффективно выполнять резервное копирование и восстановление системы и как выполняется воспроизведение в SQL Server. Вы видели, как выполнять эти операции с помощью Enterprise Manager и операторов T-SQL. В этой лекции описаны операции восстановления, а также подготовка критически важного плана восстановления на случай аварии. Помните, что защита системы является одной из главных обязанностей
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.