Экспорт (0) Печать
Развернуть все

Копирование баз данных в базу данных SQL Azure

Обновлено: Февраль 2015 г.

Операция копирования базы данных копирует База данных SQL Microsoft Azure в новую базу данных. Копию базы данных можно создать на том же или на другом логическом сервере. По завершении процесса копирования новая база данных будет полностью работоспособной и независимой от базы данных-источника. Новая база данных будет транзакционно согласована с базой данных-источником на момент завершения операции копирования. База данных в копии имеет такой же уровень служб, максимальный размер и уровень производительности, как и база данных-источник.

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

В этом разделе

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

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

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

  • Миграция приложения. При переносе приложения может потребоваться перенести связанные базы данных.

noteПримечание
Базы данных, созданные с помощью функции копирования, учитываются в ограничении База данных SQL Azure для каждого из серверов База данных SQL Azure. Сведения о влиянии на стоимость и выставление счетов см. в разделе Учетные записи и выставление счетов в базе данных SQL Azure.

Значок стрелки, используемый со ссылкой «В начало» [Top]

При использовании функции копирования базы данных копирование идет асинхронно, поэтому соединение с сервером База данных SQL Azure не требуется на всем протяжении данного процесса. Можно скопировать базу данных, войдя в базу данных master на целевом сервере и выполнив инструкцию Transact-SQL CREATE DATABASE с предложением AS COPY OF. Затем можно наблюдать за ходом процесса копирования с помощью представления sys.dm_database_copies и sys.databases на целевом сервере.

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

При копировании базы данных на тот же сервер База данных SQL Azure можно использовать одно и то же имя входа для обеих баз данных. Субъект безопасности, используемый для копирования базы данных, становится владельцем (DBO) новой базы данных после ее создания.

На следующем рисунке показано копирование на тот же сервер.

Копирование базы данных на тот же сервер базы данных SQL

На этом рисунке показано копирование базы данных Database1A в новую базу данных Database1B на том же сервере База данных SQL Azure, Server1. Учетная запись, от имени которой выполнялось копирование базы данных, становится владельцем базы данных Database1B. Пользователи базы данных, их разрешения, идентификаторы безопасности копируются из базы данных Database1A в базу данных Database1B. Поскольку пользовательские идентификаторы безопасности одинаковы для обеих баз данных, у имен входа в Server1 сохраняются одни и те же разрешения в обеих базах данных.

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

Базу данных также можно копировать между двумя разными серверами База данных SQL Azure, которые находятся в одном или в разных регионах. Поскольку новая база данных создается на другом сервере База данных SQL Azure, она связывается с другой базой данных master. Все пользователи новой базы данных сохраняют те же разрешения, которые они имели в базе данных-источнике. Субъект безопасности, используемый для копирования базы данных, становится владельцем (DBO) новой базы данных после ее создания и получает новый идентификатор безопасности.

На следующем рисунке показано копирование на другой сервер.

Копирование базы данных на другой сервер базы данных SQL

На этом рисунке показано копирование базы данных Database1A с сервера Server1 в новую базу данных Database2A на другом сервере База данных SQL Azure, Server2. Учетная запись, от имени которой выполнялось копирование базы данных, становится владельцем базы данных Database2A. Пользователи базы данных и их разрешения (но не идентификаторы безопасности) копируются из базы данных Database1A в базу данных Database2A. Имена входа с сервера Server1 нельзя использовать в новой базе данных, так как они связаны с другим сервером База данных SQL Azure и идентификаторы безопасности в базе данных Database2A отличаются от идентификаторов безопасности пользователей базы Database1A.

ImportantВажно!
Регион База данных SQL Azure может содержать несколько физических кластеров. В настоящее время нельзя копировать базу данных между двумя разными кластерами с помощью Transact-SQL. Дополнительные сведения об ограничениях см. в разделе Restrictions.

После завершения операции копирования межу серверами именами входа, пользователями и разрешениями базы данных Database2A можно будет управлять независимо от базы данных Database1A. Для сопоставления пользователей в новой базе данных с именами входа на новом сервере База данных SQL Azure используйте имя входа DBO и инструкцию ALTER USER Transact-SQL. Например: ALTER USER userName WITH LOGIN='loginName'. Дополнительные сведения см. в разделе ALTER USER.

Значок стрелки, используемый со ссылкой «В начало» [Top]

Функция копирования базы данных (DB Copy) позволяет быстро и легко создать копию базы данных. Если она не соответствует вашим требованиям, рассмотрите один из следующих вариантов:

Восстановление на определенный момент времени позволяет создать копию ранней версии базы данных. Например, можно создать копию базы данных до последнего обновления. Восстановление на определенный момент времени доступен на уровнях обслуживания Basic, Standard и Premium. Дополнительные сведения о службе Восстановление на определенный момент времени см. в разделе Резервное копирование и восстановление баз данных SQL Azure.

Функция Активная георепликация доступна только для уровня обслуживания базы данных Premium. Это позволяет контролировать время выполнения копирования. Использовать его следует только в случае, когда необходима тесная координация окончания копирования с другими действиями рабочего процесса. Дополнительные сведения см. в Активная георепликация для базы данных SQL Azure.

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

ImportantВажно!
Параметры аудита базы данных не копируются в новую базу данных независимо от используемого метода копирования. Если в новой базе данных требуется аудит, его необходимо включить после того, как база данных будет активирована и подключена к сети. Кроме того, если вы создаете базу данных в другом регионе, используйте учетную запись хранения, которая расположена в том же регионе, что и новая база данных. Дополнительные сведения об аудите для База данных SQL Azure см. в статье Аудит баз данных.

См. также

Показ:
© 2015 Microsoft