Копирование баз данных путем создания и восстановления резервных копий
В SQL Server 2014 г. можно создать новую базу данных, восстановив резервную копию пользовательской базы данных, созданной с помощью SQL Server 2005 или более поздней версии. Однако резервные копии master, model и msdb, созданные с помощью более ранней версии SQL Server, не могут быть восстановлены SQL Server 2014 г. Кроме того, SQL Server 2014 резервные копии не могут быть восстановлены любой более ранней версией SQL Server.
Важно!
SQL Server 2014 использует путь по умолчанию, отличный от более ранних версий. Поэтому для восстановления резервной копии базы данных, созданной в месте расположения по умолчанию для ранних версий, необходимо использовать параметр MOVE. Сведения о новом пути по умолчанию см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server. Дополнительные сведения о перемещении файлов баз данных см. в статье «Перемещение файлов баз данных» далее в этом подразделе.
Основные этапы копирования базы данных, используя функции резервного копирования и восстановления
При использовании резервного копирования и восстановления для копирования базы данных на другой экземпляр SQL Server компьютер-источник и целевой компьютер могут быть любой платформой, на которой запускается SQL Server.
Основные этапы.
Создайте резервную копию базы данных-источника, которая может находиться в экземпляре SQL Server 2005 или более поздней версии. Компьютер, на котором запущен этот экземпляр SQL Server , называется компьютером-источником.
На компьютере, куда нужно скопировать базу данных ( целевой компьютер), подключите экземпляр SQL Server, на котором будет восстановлена база данных. При необходимости создайте те же устройства резервного копирования на целевом экземпляре сервера, что использовались для резервного копирования баз данных-источников.
Восстановите резервную копию базы данных-источника на целевом компьютере. При восстановлении базы данных автоматически создаются все ее файлы.
В следующих разделах рассматриваются дополнительные вопросы, которые могут повлиять на процесс копирования.
Перед восстановлением файлов базы данных
При восстановлении базы данных необходимые файлы базы данных создаются автоматически. По умолчанию файлы, созданные 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)