Экспорт (0) Печать
Развернуть все
5 из 7 оценили этот материал как полезный - Оценить эту тему

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

Обновлено: Ноябрь 2013 г.

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

Поскольку новая база данных является транзакционно согласованной копией базы данных-источника, ее потенциально можно использовать в качестве резервной копии базы данных База данных SQL Windows Azure. Дополнительные сведения о стратегиях резервного копирования для База данных SQL Windows Azure см. в разделе Резервное копирование и восстановление баз данных SQL Windows Azure.

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

Обзор

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

  • Создание резервных копий данных приложения. Скопируйте базу данных приложения в новую базу данных с другим именем для защиты данных от ошибок пользователей и приложений. Восстановить состояние базы данных приложения можно, переименовав новую базу данных с указанием имени базы данных приложения. Или же можно восстановить определенную часть данных из новой базы данных с помощью запросов Transact-SQL.

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

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

  • Миграция приложения. Функция копирования базы данных позволяет создать согласованную на уровне транзакций копию базы данных. Для создания файла экспорта можно выполнить экспорт приложения уровня данных (DAC). Файл экспорта будет содержать определения хранящихся в базе данных объектов и данные из пользовательских таблиц. Затем файл экспорта можно будет импортировать на другой сервер База данных SQL или в экземпляр компонента SQL Server ядра СУБД. Дополнительные сведения см. в разделе Как импортировать и экспортировать базу данных (базу данных SQL Windows Azure).

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

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

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

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

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

Копирование на тот же сервер

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

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

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

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

Копирование на другой сервер

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

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

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

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

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

Связанные задачи

См. также

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft. Все права защищены.