Как я могу изменить расположение сервера sql azure - PullRequest
10 голосов
/ 08 ноября 2011

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

Я только что погуглил и нашел одну ссылку http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/e6c961cc-5eea-4f07-82c9-a8805d367b05, которая говорит, что мне нужно использовать опцию синхронизации данных на портале Azure, но у меня не включена эта функция на моем портале Azure.

Также, если я использую эту опцию, есть ли плата за нее? Наконец, есть ли другой вариант, который возможен для перемещения местоположения SQL Azure?

Ответы [ 4 ]

11 голосов
/ 15 января 2016

Перемещение существующей базы данных SQL Server в новый регион в Azure при условии, что с базой данных нет контейнеров BLOB-объектов.Для получения дополнительной информации см .:
https://azure.microsoft.com/en-us/blog/migrating-azure-services-to-new-regions/

  1. Обновите базу данных, если необходимо, до одного из уровней ценообразования Premium
  2. Добавьте географическую репликацию в существующую базу данных.Вы можете выбрать, в каком регионе будет создана резервная копия существующей базы данных.Создайте новый сервер базы данных в целевом регионе по вашему выбору.Я предлагаю подготовить этот новый сервер базы данных с тем же именем пользователя и паролем администратора, что и у существующей базы данных sql.При создании вторичной базы данных я предлагаю сделать вторичный тип «читабельным», поскольку он позволит вам проверить правильность репликации всех данных и схем.
  3. Разрешить синхронизацию двух баз данных.Правило большого пальца согласно Microsoft AzureCAT: 3 * (5 минут + размер базы данных / 150 МБ / мин)
  4. Настройка параметров брандмауэра для вторичной базы данных, чтобы разрешить необходимые IP-адреса для доступа к базе данных
  5. Временно отключите всех пользователей или приложений, которые обращаются к существующей базе данных.
  6. На портале Azure выберите существующую базу данных и измените ее роль гео-репликации с первичной на вторичную.
  7. Запустите любуюСценарии ddl, использующие masterdb, такие как сценарии ddl для воссоздания пользователей и профилей пользователей
  8. Изменение строк подключения любых приложений для указания на новую базу данных.
  9. Теперь пользователи и приложения могут подключаться кНовая база данных
  10. По своему усмотрению вы можете удалить старую базу данных в качестве резервной копии и добавить любые новые регионы в качестве резервной копии.

В плане сборов будет взиматься плата за обновление старойбаза данных, если это еще не база данных премиум-класса.Также будет взиматься плата за создание гео-реплицированной базы данных.Однако эти сборы могут быть ограничены суммой от нескольких дней до нескольких дней (в зависимости от того, сколько времени занимает гео-репликация).Когда новая база данных будет запущена и запущена, удалите старую базу данных как можно скорее, чтобы ограничить дополнительные сборы.Наконец, если вы повысили уровень обслуживания старой базы данных до уровня премиум-уровня, чтобы упростить гео-репликацию, вы захотите понизить уровень новой базы данных до исходного уровня обслуживания старой базы данных, чтобы также ограничить сборы.

10 голосов
/ 12 ноября 2011

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

Посмотрите, как здесь

1 голос
/ 30 марта 2018

Если вы можете на время остановить запись в БД, вы можете использовать функцию копирования на портале Azure.

  1. Создайте новый SQL Server в выбранном вами регионе.
  2. Добавьте IP-адреса ваших служб в новый брандмауэр SQL Server.
  3. Остановите запись в исходную базу данных.
  4. Откройте исходную базу данных на портале Azure и нажмите кнопку Копироватьв верхней части блейда.
  5. Выберите новый сервер SQL, расположенный в регионе назначения.
  6. Дождитесь завершения копирования.
  7. Обновите свои службы доукажите на целевую БД.
  8. Включите запись в БД.
  9. Убедитесь, что все работает.
  10. Удалите исходную базу данных (и сервер, если это была единственная БД на сервере).
1 голос
/ 15 ноября 2011

Я бы не использовал DataSynch, потому что он создает много объектов в вашей базе данных для выполнения синхронизации (это инвазивное решение).Вы действительно можете попробовать функцию импорта / экспорта;это должно работать нормально.Вы также можете загрузить пробную версию инструмента резервного копирования Enzo, которая поставляется с 30-дневной бесплатной пробной версией: http://www.bluesyntax.net/backup.aspx. [заявление об отказе: я являюсь автором этого инструмента]

По вопросу о ценеВы можете взимать плату за данные, извлекаемые из базы данных.Перемещение данных "в" SQL Azure пока бесплатно.Если вы переносите данные в другой центр обработки данных, с вас будет взиматься плата за извлечение данных.Это 15 центов за ГБ в США и Европе и 20 центов в Азии.Вот подробные сведения о ценах: http://www.microsoft.com/windowsazure/pricing/

Имейте в виду, что база данных, которая требует 4 ГБ памяти, не означает, что у вас есть 4 ГБ данных.Иногда индексы могут занимать много места.Чтобы оценить размер данных, которые вам нужно будет перенести, вы можете либо отбросить свои индексы (и немного подождать, пока размер базы данных не уменьшится; размер базы данных должен быть примерно равен вашим потребностям в передаче данных), либо вы можете рассчитать размерваши таблицы, выполнив команду.Вот ссылка на статью, в которой показано, как сделать нечто подобное (посмотрите на вторую команду с оператором SELECT; просто запустите ее для всех таблиц): http://www.sqldocumentor.com/table-size-in-sql-server-find-rows-and-disk-space-usage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...