Общие сведения о резервном копировании (SQL Server)

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

ПримечаниеПримечание

Резервное копирование и восстановление SQL Server работает во всех поддерживаемых операционных системах (и в 32-разрядных, и в 64-разрядных версиях). Сведения о поддерживаемых операционных системах см. в разделе Требования к оборудованию и программному обеспечению для установки SQL Server 2008.

Резервные копии

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

  • Полное резервное копирование

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

  • Разностное резервное копирование

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

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

    ПримечаниеПримечание

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

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

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

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

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

Тип резервной копии

Описание

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

Полная резервная копия всей базы данных. Резервные копии базы данных отображают состояние всей базы данных на момент завершения резервного копирования.

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

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

Частичное резервное копирование

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

SQL Server 2008 поддерживает следующие типы резервных копий файлов.

Тип резервной копии

Описание

Частичная резервная копия

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

Частичная разностная резервная копия

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

Резервные копии файлов

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

SQL Server поддерживает следующие типы резервных копий файлов.

Тип резервной копии

Описание

Резервная копия файлов

Полная резервная копия всех данных одного или нескольких файлов или файловых групп.

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

Разностные резервные копии файлов

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

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

Можно выполнять создание резервных копий и восстановление полнотекстовых каталогов. Дополнительные сведения см. в разделе Резервное копирование и восстановление полнотекстового каталога SQL Server 2008 и Поэтапное восстановление и полнотекстовые индексы.

Резервное копирование журнала транзакций (только полная модель восстановления и модель восстановления с неполным протоколированием)

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

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

Важное примечаниеВажно!

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

Резервные копии только для копирования

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

Устройства резервного копирования

Резервное копирование SQL Server осуществляется на устройствах резервного копирования, например на дисках или носителях на магнитной ленте. Можно присоединять новые резервные копии к хранящимся на носителе или перезаписывать устаревшие резервные копии. Дополнительные сведения см. в разделе Работа с носителями резервных копий в SQL Server.

Планирование резервного копирования

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

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

Сжатие резервных копий

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

Ограничения на операции резервного копирования в SQL Server

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

Нельзя создать резервную копию данных, находящихся в автономном режиме

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

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

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

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

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

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

Ограничения параллелизма во время резервного копирования

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

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

  • Операции управления файлами, такие как инструкция ALTER DATABASE с параметром ADD FILE или с параметром REMOVE FILE.

  • Операции сжатия базы данных или файла. Сюда же включены операции автоматического сжатия.

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

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

ПримечаниеПримечание

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