Копирование баз данных путем создания и восстановления резервных копийCopy Databases with Backup and Restore

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

В SQL Server 2019 (15.x)SQL Server 2019 (15.x)можно создать новую базу данных, восстановив резервную копию пользовательской базы данных, созданной в SQL Server 2005 (9.x)SQL Server 2005 (9.x) или более поздней версии.In SQL Server 2019 (15.x)SQL Server 2019 (15.x), you can create a new database by restoring a backup of a user database created by using SQL Server 2005 (9.x)SQL Server 2005 (9.x) or a later version. Однако резервные копии баз данных master, model и msdb , созданных в более ранней версии SQL ServerSQL Server , восстановить на SQL Server 2019 (15.x)SQL Server 2019 (15.x)невозможно.However, backups of master, model and msdb that were created by using an earlier version of SQL ServerSQL Server cannot be restored by SQL Server 2019 (15.x)SQL Server 2019 (15.x). Кроме того, резервные копии, созданные в SQL Server 2019 (15.x)SQL Server 2019 (15.x) , невозможно восстановить в более ранних версиях SQL ServerSQL Server.Also, SQL Server 2019 (15.x)SQL Server 2019 (15.x) backups cannot be restored by any earlier version of SQL ServerSQL Server.

Важно!

SQL Server 2016 использует путь по умолчанию, отличный от пути, использованного в предыдущих версиях.SQL Server 2016 uses a different default path than earlier versions. Поэтому для восстановления резервной копии базы данных, созданной в месте расположения по умолчанию для ранних версий, необходимо использовать параметр MOVE.Therefore, to restore backups of a database created in the default location of earlier versions you must use the MOVE option. Сведения о новом пути по умолчанию см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server.For information about the new default path see File Locations for Default and Named Instances of SQL Server. Дополнительные сведения о перемещении файлов баз данных см. в статье «Перемещение файлов баз данных» далее в этом подразделе.For more information about moving database files, see "Moving the Database Files," later in this topic.

Основные этапы копирования базы данных, используя функции резервного копирования и восстановленияGeneral steps for using Backup and Restore to copy a database

При использовании резервного копирования и восстановления для копирования базы данных на другой экземпляр SQL Server компьютер-источник и целевой компьютер могут быть любой платформой, на которой запускается SQL Server.When you use backup and restore to copy a database to another instance of SQL Server, the source and destination computers can be any platform on which SQL Server runs.

Основные этапы.The general steps are:

  1. Создайте резервную копию базы данных-источника, которая может находиться на экземпляре SQL Server 2005 (9.x)SQL Server 2005 (9.x) или более поздней версии.Back up the source database, which can reside on an instance of SQL Server 2005 (9.x)SQL Server 2005 (9.x) or later. Компьютер, на котором запущен этот экземпляр SQL ServerSQL Server , называется компьютером-источником.The computer on which this instance of SQL ServerSQL Server is running is the source computer.

  2. На компьютере, куда нужно скопировать базу данных ( целевой компьютер), подключите экземпляр SQL Server, на котором будет восстановлена база данных.On the computer to which you want to copy the database (the destination computer), connect to the instance of SQL Server on which you plan to restore the database. При необходимости создайте те же устройства резервного копирования на целевом экземпляре сервера, что использовались для резервного копирования баз данных- источников .If needed, on the destination server instance, create the same backup devices as used to the backup of the source databases.

  3. Восстановите резервную копию базы данных- источника на целевом компьютере.Restore the backup of the source database on the destination computer. При восстановлении базы данных автоматически создаются все ее файлы.Restoring the database automatically creates all of the database files.

Рассматриваются дополнительные вопросы, которые могут повлиять на процесс.Some additional considerations that may affect this process:

Перед восстановлением файлов базы данныхBefore You restore database files

При восстановлении базы данных необходимые файлы базы данных создаются автоматически.Restoring a database automatically creates the database files needed by the restoring database. По умолчанию у файлов, созданных SQL Server в процессе восстановления, те же имена и пути, что и у файлов резервной копии исходной базы данных на компьютере-источнике.By default, the files created by SQL Server during the restoration process use the same names and paths as the backup files from the original database on the source computer.

Также при восстановлении базы данных, если это необходимо, можно указать сопоставление дисков, имена файлов или путь для восстановления.Optionally, when restoring the database, you can specify the device mapping, file names, or path for the restoring database.

Это может быть необходимо в следующих ситуациях.This might be necessary in the following situations:

  • Нужная структура каталогов или сопоставление дисков, используемые на исходном компьютере, могут отсутствовать на другом компьютере.The directory structure or drive mapping used by the database on the original computer not exist on the other computer. Например, возможно, резервная копия содержит файл, который нужно восстановить на диск E, но на целевом компьютере диска E — нет.For example, perhaps the backup contains a file that would be restored to drive E by default, but the destination computer lacks a drive E.

  • на целевом диске может быть недостаточно свободного места;The target location might have insufficient space.

  • Если используется имя базы данных, которое уже существует на целевом сервере восстановления, а имя каждого из ее файлов совпадает с именем файла базы данных в резервном наборе данных, происходит одно из следующих действий.You are reusing a database name that exists on the restore destination and any of its files is named the same as a database file in the backup set, one of the following occurs:

    • Если существующий файл базы данных может быть перезаписан, он будет перезаписан (это не затронет файл, относящийся к базе данных с другим именем).If the existing database file can be overwritten, it will be overwritten (this would not affect a file that belongs to a different database name).

    • Если существующий файл не может быть перезаписан, возникнет ошибка восстановления.If the existing file cannot be overwritten, a restore error would occur.

Во избежание ошибок и непредвиденных последствий перед операцией восстановления можно использовать таблицы журнала backupfile , чтобы найти в резервной копии файлы базы данных и журнала, которые планируется восстановить.To avoid errors and unpleasant consequences, before the restore operation, you can use the backupfile history table to find out the database and log files in the backup you plan to restore.

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

Если файлы резервной копии базы данных невозможно восстановить на целевом компьютере, необходимо переместить файлы в новое место назначения, где они могут быть восстановлены.If the files within the database backup cannot be restored onto the destination computer, it is necessary to move the files to a new location while they are being restored. Пример:For example:

  • Нужно восстановить базу данных из резервных копий, созданных в месте расположения по умолчанию для предыдущей версии.You want to restore a database from backups created in the default location of the earlier version.

  • Может оказаться необходимым восстановить некоторые файлы базы данных из резервной копии на другой диск из-за нехватки места на диске по умолчанию.It may be necessary to restore some of the database files in the backup to a different drive because of capacity considerations. Такое случается довольно часто, потому что у большинства компьютеров в организациях разное число и параметры дисковых накопителей и различные конфигурации программного обеспечения.This is a common occurrence because most computers within an organization do not have the same number and size of disk drives or identical software configurations.

  • Может оказаться необходимым создать копию существующей базы данных на том же компьютере для тестирования.It may be necessary to create a copy of an existing database on the same computer for testing purposes. В этом случае файлы базы данных для исходной базы данных уже существуют, и когда во время операции восстановления создается копия базы данных, должны быть указаны другие имена файлов.In this case, the database files for the original database already exist, so different file names must be specified when the database copy is created during the restore operation.

Дополнительные сведения см. в подразделе «Восстановление файлов и файловых групп в новое место назначения» далее в этом разделе.For more information, see "To restore files and filegroups to a new location," later in this topic.

Изменение имени базы данныхChanging the database name

Можно изменить имя базы данных при восстановлении на целевом компьютере без восстановления файлов с последующим изменением имени базы вручную.The name of the database can be changed as it is restored to the destination computer, without having to restore the database first and then change the name manually. Например, нужно изменить имя базы данных с Sales на SalesCopy , чтобы указать на то, что это копия базы данных.For example, it may be necessary to change the database name from Sales to SalesCopy to indicate that this is a copy of a database.

Имя базы данных, явно задаваемое при ее восстановлении, автоматически используется в качестве нового имени базы данных.The database name explicitly supplied when you restore a database is used automatically as the new database name. Так как такой базы данных еще не существует, новая база данных создается из файлов резервной копии.Because the database name does not already exist, a new one is created by using the files in the backup.

Обновление базы данных с помощью восстановленияWhen upgrading a database by using Restore

При восстановлении резервных копий из предыдущей версии желательно заранее знать, существует ли на целевом компьютере путь (диск и каталог) для каждого полнотекстового каталога резервной копии.When restoring backups from an earlier version, it is helpful to know in advance whether the path (drive and directory) of each of the full-text catalogs in a backup exists on the destination computer. Чтобы получить список всех логических и физических имен — пути и имени файла — всех файлов резервной копии, включая файлы каталогов, выполните инструкцию RESTORE FILELISTONLY FROM <устройство_резервного копирования>To list the logical names and physical names, path and file name) of every file in a backup, including the catalog files, use a RESTORE FILELISTONLY FROM <backup_device> statement. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).For more information, see RESTORE FILELISTONLY (Transact-SQL).

Если нужный путь на целевом компьютере не существует, есть два варианта.If the same path does not exist on the destination computer, you have two alternatives:

  • Создать нужное сопоставление дисков или структуру каталогов на целевом компьютере.Create the equivalent drive/directory mapping on the destination computer.

  • Переместить файлы каталогов на новое место назначения во время операции восстановления с помощью предложения WITH MOVE инструкции RESTORE DATABASE.Move the catalog files to a new location during the restore operation, by using the WITH MOVE clause in your RESTORE DATABASE statement. Дополнительные сведения см. в разделе RESTORE (Transact-SQL)невозможно.For more information, see RESTORE (Transact-SQL).

Дополнительные сведения об альтернативных параметров обновления полнотекстовых индексов см. в разделе Обновление полнотекстового поиска.For information about alternative options for upgrading full-text indexes, see Upgrade Full-Text Search.

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

При восстановлении базы данных на другом компьютере имя входа пользователя SQL ServerSQL Server или MicrosoftMicrosoft Windows, начавшего процесс восстановления, автоматически становится именем владельца базы данных.When a database is restored on another computer, the SQL ServerSQL Server login or MicrosoftMicrosoft Windows user who initiates the restore operation becomes the owner of the new database automatically. При восстановлении базы данных системный администратор или владелец новой базы данных могут сменить ее владельца.When the database is restored, the system administrator or the new database owner can change database ownership. Для предотвращения несанкционированного восстановления базы данных устанавливайте пароли на носители или сами резервные копии.To prevent unauthorized restoration of a database, use media or backup set passwords.

Управление метаданными при восстановлении базы данных на другой экземпляр сервераManaging metadata when restoring to another server instance

Чтобы обеспечить целостность работы пользователей и приложений при восстановлении базы данных на другой экземпляр сервера, на новом экземпляре необходимо повторно создать некоторые или все метаданные, например имена входа и задания.When you restore a database onto another server instance, to provide a consistent experience to users and applications, you might have to re-create some or all of the metadata for the database, such as logins and jobs, on the other server instance. Дополнительные сведения см. в статье Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).For more information, see Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

Просмотр файлов данных и журналов в резервном наборе данныхView the data and log files in a backup set

Восстановление файлов и файловых групп в новом расположенииRestore files and filegroups to a new location

Восстановление файлов и файловых групп поверх существующих файловRestore files and filegroups over existing files

Восстановление базы данных с новым именемRestore a database with a new name

Перезапуск прерванной операции восстановленияRestart an interrupted restore operation

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

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

См. также разделSee also

Копирование баз данных на другие серверы Copy Databases to Other Servers
Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server File Locations for Default and Named Instances of SQL Server
Инструкция RESTORE FILELISTONLY (Transact-SQL) RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)RESTORE (Transact-SQL)