Как скопировать базу данных SQL Azure на локальный сервер разработки? - PullRequest
146 голосов
/ 29 марта 2011

Кто-нибудь знает, как я могу скопировать базу данных SQL Azure на мою машину разработки?Я хотел бы прекратить платить, чтобы иметь базу данных разработки в облаке, но это лучший способ получить производственные данные.Я копирую свою производственную базу данных в новую базу данных разработки, но я бы хотел, чтобы эта же база данных была локальной.

Есть предложения?

Ответы [ 23 ]

2 голосов
/ 21 сентября 2012

Относительно «Я не смог заставить работать / импортировать SSIS, так как получил ошибку« Ошибка при вставке в столбец «id» только для чтения ». Это можно обойти, указав на экране сопоставления, что вы хотите разрешить вставку элементов Identity.

После этого все работало нормально, используя мастер импорта / экспорта SQL для копирования из Azure в локальную базу данных.

У меня был только мастер импорта / экспорта SQL, который поставляется с SQL Server 2008 R2 (работал нормально) и Visual Studio 2012 Express для создания локальной базы данных.

2 голосов
/ 26 июня 2012

Не удалось настроить импорт / экспорт служб SSIS, так как я получил сообщение об ошибке «Ошибка при вставке в столбец« id »только для чтения». Также я не мог заставить http://sqlazuremw.codeplex.com/ работать, и ссылки выше на синхронизацию данных SQL Azure у меня не работали.

Но я нашел отличную запись в блоге о файлах BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/

В видео в посте Автор поста в блоге проходит шесть шагов:

  1. Создайте или перейдите к учетной записи хранения на портале управления Azure. Вам понадобится URL-адрес BLOB-объекта и первичный ключ доступа к хранилищу. учетная запись.

  2. В блоге советуют сделать новый контейнер для файла bacpac и предлагает использовать Azure Storage Исследователь для этого. (Нотабене вам понадобится URL-адрес BLOB-объекта и первичный ключ доступа к хранилищу учетной записи, чтобы добавить его в обозреватель хранилища Azure.)

  3. На портале управления Azure выберите базу данных, которую вы хотите экспорта и нажмите «Экспорт» в разделе «Импорт и экспорт» ленты.

  4. В появившемся диалоговом окне требуются имя пользователя и пароль для база данных, URL-адрес BLOB-объекта и ключ доступа. Не забудьте включить контейнер в URL-адресе BLOB-объекта и включать имя файла (например, https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac).

  5. После нажатия кнопки Готово база данных будет экспортирована в BACPAC. файл. Это может занять некоторое время. Вы можете увидеть файл с нулевым байтом немедленно, если вы проверите в проводнике хранилища Azure. Это Служба импорта / экспорта проверяет, имеет ли она право на запись в блоб-магазин.

  6. Как только это будет сделано, вы можете использовать Azure Storage Explorer для загрузки файл BACPAC, а затем в SQL Server Management Studio щелкните правой кнопкой мыши папку базы данных вашего локального сервера и выберите Импорт Приложение уровня данных, которое запускает мастер, который читает в Файл BACPAC для создания копии вашей базы данных Azure. Мастер можно также напрямую подключиться к хранилищу BLOB-объектов, чтобы получить BACPAC файл, если вы не хотите сначала копировать его локально.

Последний шаг может быть доступен только в выпуске SQL Server 2012 SQL Server Management Studio (это версия, которую я использую). У меня нет более ранних на этой машине, чтобы проверить. В сообщении в блоге автор использует инструмент командной строки DacImportExportCli.exe для импорта, который, по моему мнению, доступен по адресу http://sqldacexamples.codeplex.com/releases

2 голосов
/ 08 февраля 2015

Принятый ответ устарел.Я нашел лучший ответ: Использовать приложение уровня данных для импорта

Более подробную информацию см. В этой статье: Восстановление базы данных SQL Azure на локальном сервере

1 голос
/ 29 августа 2011

Скачать Optillect SQL Azure Backup - у него есть 15-дневная пробная версия, поэтому ее будет достаточно для перемещения вашей базы данных:)

1 голос
/ 06 мая 2013

Вы можете использовать новые мобильные службы Azure для выполнения еженедельного экспорта резервной копии из SQL Azure в файл .bacpac, размещенный в хранилище Azure.Это решение на 100% облачное, не требует сторонних инструментов и не требует локального размещенного экземпляра SQL Server для загрузки / копирования / резервного копирования чего-либо.

Есть около 8 различных шагов, но все они просты: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure.aspx

1 голос
/ 05 апреля 2018

Я всегда использую функцию импорта / экспорта, которая кажется самой простой среди всех.

Шаг 1:

Получите резервную копию из экземпляра Azure следующим образом, Выберите базу данных → Щелкните правой кнопкой мыши → Задачи → Экспорт приложения уровня данных.

Шаг 2: Дайте конкретное имя для файла резервной копии и сохраните его в нужном вам месте.location

Шаг 3: Вот так вы и сделали резервную копию базы данных из экземпляра sql в локальную.Давайте восстановим его до местного.Скопируйте резервную копию базы данных на ваш диск C.Теперь откройте PowerShell с правами администратора и перейдите к диску C

Шаг 4: Давайте загрузим скрипт powershell, чтобы удалить мастер keyRemoveMasterKey.ps1 , у которого есть скрипт натот же диск в этом случае его C.

Шаг 5: Запустите сценарий следующим образом,. \ RemoveMasterKey.ps1 -bacpacPath "C: \ identity.bacpac"

Вот и все, теперь вы можете восстановить его на MSSQL 2017 в своей локальной среде.

Шаг 6: Подключитесь к локальному серверу и нажмите Базы данных → Import-Data-Tier-Application

Шаг 7 : Дайте имя вашей базе данных для восстановления.

Теперь вы увидите все зеленым!

Прочитайте мой блог с диаграммами.

0 голосов
/ 27 мая 2014

Теперь вы можете использовать SQL Server Management Studio для этого.

  • Подключение к базе данных SQL Azure.
  • Щелкните правой кнопкой мыши базу данных в обозревателе объектов.
  • Выберите параметр «Задачи» / «Развернуть базу данных в SQL Azure».
  • На шаге «Параметры развертывания» выберите подключение к локальной базе данных.
  • «Далее» / «Далее» / «Готово» ...
0 голосов
/ 05 октября 2017

Привет! Я использую инструмент SQLAzureMW для миграции и управления БД SQLAzure.Очень полезныйОн был загружен из codeplex, но в настоящее время он недоступен, кодплекс будет отключен, теперь в GttHub доступен тот же инструмент приложения.Ниже ссылка объясняет, как использовать этот инструмент, а также доступно приложение для загрузки.

https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md

0 голосов
/ 05 апреля 2017

Если кто-то хочет получить бесплатную и эффективную возможность (и не прочь сделать это вручную) для резервного копирования базы данных в локальную систему, используйте функцию сравнения схем и данных, встроенную в последнюю версию Microsoft Visual Studio 2015 Community Edition (бесплатная версия) или Professional /. Премиум / Ultimate издание. Это работает как шарм!

У меня есть учетная запись BizPark в Azure, и нет способа сделать резервную копию базы данных напрямую, не заплатив. Я нашел эту опцию в VS работает.

Ответ взят из https://stackoverflow.com/a/685073/6796187

0 голосов
/ 17 сентября 2015

Если у кого-то возникла проблема с импортом Bacpac БД, использующей Azure SQL Sync , Сандрино Ди Маттиа разработал отличное простое приложение для решения этой проблемы.

  1. Экспорт Bacpac вашей БД
  2. Загрузка Ди Маттиа двоичный файл
  3. С помощью этого консольного приложения восстановите загруженный Bacpac
  4. Lauch SSMS
  5. Щелкните правой кнопкой мыши «Базы данных» и выберите «Импортировать приложение уровня данных»
  6. Выберите отремонтированный Bacpac.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...