Копирование баз данных путем создания и восстановления резервных копий
В SQL Server 2012 можно создать новую базу данных, восстановив резервную копию базы данных, созданной в SQL Server 2005 или более поздней версии. Однако резервные копии баз данных master, model и msdb, созданных в более ранней версии SQL Server, восстановить на SQL Server 2012 невозможно. Кроме того, резервные копии, созданные в SQL Server 2012, невозможно восстановить в более ранних версиях SQL Server.
Важно! |
---|
В SQL Server 2012 используется путь по умолчанию, отличный от пути, использованного в предыдущих версиях. Поэтому для восстановления резервной копии базы данных, созданной в месте расположения по умолчанию SQL Server 2005 или SQL Server 2008, необходимо использовать параметр MOVE. Сведения о новом пути по умолчанию см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server. Дополнительные сведения о перемещении файлов баз данных см. в статье «Перемещение файлов баз данных» далее в этом подразделе. |
Основные этапы копирования базы данных, используя функции резервного копирования и восстановления
При использовании резервного копирования и восстановления для копирования базы данных на другой экземпляр SQL Server компьютер-источник и целевой компьютер могут быть любой платформой, на которой запускается SQL Server.
Основные этапы.
Создайте резервную копию базы данных-источника, которая может находиться на экземпляре SQL Server 2005 или более поздней версии. Компьютер, на котором запущен этот экземпляр SQL Server, называется компьютером-источником.
На компьютере, куда нужно скопировать базу данных (целевой компьютер), подключите экземпляр SQL Server, на котором будет восстановлена база данных. При необходимости создайте те же устройства резервного копирования на целевом экземпляре сервера, что использовались для резервного копирования баз данных-источников.
Восстановите резервную копию базы данных-источника на целевом компьютере. При восстановлении базы данных автоматически создаются все ее файлы.
В следующих разделах рассматриваются дополнительные вопросы, которые могут повлиять на процесс копирования.
Перед восстановлением файлов базы данных
При восстановлении базы данных необходимые файлы базы данных создаются автоматически. По умолчанию у файлов, созданных SQL Server в процессе восстановления, те же имена и пути, что и у файлов резервной копии исходной базы данных на компьютере-источнике.
Также при восстановлении базы данных, если это необходимо, можно указать сопоставление дисков, имена файлов или путь для восстановления. Это может быть необходимо в следующих ситуациях.
Нужная структура каталогов или сопоставление дисков, используемые на исходном компьютере, могут отсутствовать на другом компьютере. Например, возможно, резервная копия содержит файл, который нужно восстановить на диск E, но на целевом компьютере диска E — нет.
на целевом диске может быть недостаточно свободного места;
Если используется имя базы данных, которое уже существует на целевом сервере восстановления, а имя каждого из ее файлов совпадает с именем файла базы данных в резервном наборе данных, происходит одно из следующих действий.
Если существующий файл базы данных может быть перезаписан, он будет перезаписан (это не затронет файл, относящийся к базе данных с другим именем).
Если существующий файл не может быть перезаписан, возникнет ошибка восстановления.
Во избежание ошибок и непредвиденных последствий, перед операцией восстановления можно использовать таблицы журнала backupfile, чтобы найти в резервной копии файлы базы данных и журнала, которые планируется восстановить.
Перемещение файлов баз данных
Если файлы резервной копии базы данных нельзя восстановить на целевом компьютере по причинам, перечисленным выше, необходимо переместить файлы в новое место назначения, где они могут быть восстановлены. Например:
Нужно восстановить базу данных из резервных копий, созданных в месте расположения по умолчанию для SQL Server 2005 или SQL Server 2008.
Может оказаться необходимым восстановить некоторые файлы базы данных из резервной копии на другой диск из-за нехватки места на диске по умолчанию. Такое случается довольно часто, потому что у большинства компьютеров в организациях разное число и параметры дисковых накопителей и различные конфигурации программного обеспечения.
Может оказаться необходимым создать копию существующей базы данных на том же компьютере для тестирования. В этом случае файлы исходной базы данных уже существуют, поэтому при создании копии базы данных во время операции восстановления надо указать другие имена файлов.
Дополнительные сведения см. в подразделе «Восстановление файлов и файловых групп в новое место назначения» далее в этом разделе.
Смена имени базы данных
Можно изменить имя базы данных при восстановлении на целевом компьютере без восстановления файлов с последующим изменением имени базы вручную. Например, нужно изменить имя базы данных с Sales на SalesCopy, чтобы указать на то, что это копия базы данных.
Имя базы данных, явно задаваемое при ее восстановлении, автоматически используется в качестве нового имени базы данных. Так как такой базы данных еще не существует, новая база данных создается из файлов резервной копии.
Обновление базы данных с помощью восстановления
При восстановлении резервных копий из SQL Server 2005 или SQL Server 2008 полезно заранее знать, существует ли на целевом компьютере путь (диск и каталог) для каждого полнотекстового каталога резервной копии. Чтобы получить список всех логических и физических имен — пути и имени файла — всех файлов резервной копии, включая файлы каталогов, выполните инструкцию RESTORE FILELISTONLY FROM <backup_device>. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).
Если нужный путь на целевом компьютере не существует, есть два варианта.
Создать нужное сопоставление дисков или структуру каталогов на целевом компьютере.
Переместить файлы каталогов на новое место назначения во время операции восстановления с помощью предложения WITH MOVE инструкции RESTORE DATABASE. Дополнительные сведения см. в разделе RESTORE (Transact-SQL).
Дополнительные сведения об альтернативных параметров обновления полнотекстовых индексов см. в разделе Обновление полнотекстового поиска из SQL Server 2005.
Владелец базы данных
При восстановлении базы данных на другом компьютере имя входа пользователя SQL Server или Microsoft Windows, начавшего процесс восстановления, автоматически становится именем владельца базы данных. При восстановлении базы данных системный администратор или владелец новой базы данных могут сменить ее владельца. Для предотвращения несанкционированного восстановления базы данных устанавливайте пароли на носители или сами резервные копии.
Управление метаданными при восстановлении базы данных на другой экземпляр сервера
Чтобы обеспечить целостность работы пользователей и приложений при восстановлении базы данных на другой экземпляр сервера, на новом экземпляре необходимо повторно создать некоторые или все метаданные, например имена входа и задания. Дополнительные сведения см. в разделе Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).
Просмотр файлов данных и журналов в резервном наборе данных
Восстановление файлов и файловых групп в новое место
Восстановление файлов и файловых групп поверх существующих файлов
Восстановление базы данных с новым именем
Перезапуск прерванной операции восстановления
Изменение владельца базы данных
Копирование базы данных с помощью управляющих объектов SQL Server
См. также
Справочник
Инструкция RESTORE FILELISTONLY (Transact-SQL)
Основные понятия
Копирование баз данных на другие серверы
Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server