Поделиться через


Копирование баз данных путем создания и восстановления резервных копий

Область применения:SQL Server

В SQL Server можно создать новую базу данных, восстанавливая резервную копию пользовательской базы данных, созданной с помощью SQL Server 2005 (9.x) или более поздней версии. Однако резервные копии master, model и msdb, созданные с помощью более ранней версии SQL Server, не могут быть восстановлены SQL Server. Кроме того, резервные копии SQL Server не могут быть восстановлены любой более ранней версией SQL Server.

Внимание

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

Основные этапы копирования базы данных, используя функции резервного копирования и восстановления

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

Основные этапы.

  1. Создайте резервную копию исходной базы данных, которая может находиться в экземпляре SQL Server 2005 (9.x) или более поздней версии. Компьютер, на котором выполняется этот экземпляр SQL Server, является исходным компьютером.

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

  3. Восстановите резервную копию базы данных- источника на целевом компьютере. При восстановлении базы данных автоматически создаются все ее файлы.

Рассматриваются дополнительные вопросы, которые могут повлиять на процесс.

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

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

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

Это может быть необходимо в следующих ситуациях.

  • Та структура каталогов или сопоставление дисков, которые использует база данных на исходном компьютере, не существуют на другом компьютере. Например, возможно, резервная копия содержит файл, который нужно восстановить на диск E, но на целевом компьютере диска E — нет.

  • в целевом месте может быть недостаточно свободного пространства;

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

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

    • Если существующий файл не может быть перезаписан, возникнет ошибка восстановления.

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

Перемещение файлов баз данных

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

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

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

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

Дополнительные сведения см. в подразделе «Восстановление файлов и файловых групп в новое место назначения» далее в этом разделе.

Изменение имени базы данных

Имя базы данных можно изменить при восстановлении на целевом компьютере, не восстанавливая сначала базу данных с последующим изменением имени вручную. Например, нужно изменить имя базы данных с Sales на SalesCopy , чтобы указать на то, что это копия базы данных.

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

Обновление базы данных с помощью восстановления

При восстановлении резервных копий из предыдущей версии желательно заранее знать, существует ли на целевом компьютере путь (диск и каталог) для каждого полнотекстового каталога резервной копии. Чтобы вывести список логических и физических имен, а также пути и имени файла каждого файла в резервной копии, включая файлы каталога, используйте инструкцию RESTORE FILELISTONLY FROM <backup_device>. Дополнительную информацию см. в разделе RESTORE FILELISTONLY (Transact-SQL).

Если нужный путь на целевом компьютере не существует, есть два варианта.

  • Создать сопоставление дисков или каталогов на целевом компьютере.

  • Переместите файлы каталогов в новое расположение во время операции восстановления, используя предложение WITH MOVE в инструкции RESTORE DATABASE. Дополнительные сведения см. в RESTORE (Transact-SQL).

Дополнительные сведения об альтернативных параметров обновления полнотекстовых индексов см. в разделе Обновление полнотекстового поиска.

Владелец базы данных

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

Управление метаданными при восстановлении базы данных на другой экземпляр сервера

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

Просмотр файлов данных и журналов в резервном наборе данных

Восстановление файлов и файловых групп в новом расположении

Восстановление файлов и файловых групп поверх существующих файлов

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

Перезапуск прерванной операции восстановления

Изменение владельца базы данных

Копирование базы данных с помощью управляющих объектов SQL Server (SMO)

См. также

Копирование баз данных на другие серверы
Расположение файлов для экземпляров SQL Server по умолчанию и с именами
RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)