Репликация базы данных SQL Azure в базу данных Azure SQL

У кого-нибудь есть идея, как лучше всего реализовать непрерывную репликацию некоторых таблиц БД из базы данных SQL Azure в базу данных SQL Azure (PaaS) добавочным способом.

Я пробовал предварительный просмотр синхронизации данных (схема не загружается даже через пару часов), фабрика данных (копирование данных) — быстро, но всегда копирует все данные (дубликаты записей) — а не инкрементный способ.

Пожалуйста, предложите.


person VIJAY RAAVI    schedule 21.07.2016    source источник
comment
вы это уже проверили? блоги .msdn.microsoft.com/sql_server_team/   -  person Aravind    schedule 21.07.2016
comment
@Aravind, я проверил это между локальным и Azure SQL (PaaS),   -  person VIJAY RAAVI    schedule 21.07.2016
comment
Мне нужна репликация между Azure SQL (PaaS) и Azure SQL (PaaS)   -  person VIJAY RAAVI    schedule 21.07.2016
comment
если вы ищете вариант резервного копирования и аварийного восстановления, есть функция активной георепликации. Если вы хотите скопировать данные, проверьте этот вопрос stackoverflow.com/questions/6572754/   -  person Aravind    schedule 21.07.2016
comment
Меня не интересует функция георепликации, я ищу репликацию некоторых таблиц БД между двумя разными базами данных Azure SQL (в этих БД более 300 таблиц).   -  person VIJAY RAAVI    schedule 22.07.2016


Ответы (3)


Какие бизнес-требования стоят за этим запросом?

1. У вас есть справочные данные в базе данных 1 и вы хотите реплицировать эти данные в базу данных 2?

Если это так, используйте кросс-запросы к базам данных, если вы находитесь на одном логическом сервере. Подробности см. в моей статье.

2 - Можно ли иметь дубликат базы данных в другом регионе? Если это так, используйте активную георепликацию для синхронизации базы данных. См. мою статью об этом для деталей.

3. Если вам просто нужно реплицировать пару таблиц, а объем данных невелик, то просто напишите простую программу PowerShell (рабочий процесс) для постепенной загрузки цели из источника.

Запланируйте программу в службе автоматизации Azure на выбранное вами время. Я бы использовал флаг, чтобы указать, какие записи были реплицированы.

Поместите вставку в цель и обновите флаг источника в транзакции, чтобы гарантировать согласованность. Этот узор представляет собой ряд за мучительным узором рядов.

Вы даже можете группировать записи. Изучите использование SQLBulkCopy в библиотеке system.data.sqlclient .Net.

4. И последнее, но не менее важное: база данных SQL Azure теперь поддерживает команду OPENROWSET. К сожалению, эта функция доступна только для чтения из шаблона файла хранилища BLOB-объектов, когда вы находитесь в облаке. Более старые версии локальной команды позволяют вам записывать в файл.

Я надеюсь, что эти предложения помогут.

Удачного кодирования.

Джон Коварный администратор баз данных

person CRAFTY DBA    schedule 27.11.2017

Если вы хотите использовать Фабрику данных Azure, чтобы выполнять добавочные обновления, вам нужно будет изменить свой запрос, чтобы просмотреть дату создания/изменения в исходной таблице. Затем вы можете взять эти данные и поместить их в «Промежуточную таблицу» на стороне назначения, а затем использовать сохраненную процедуру обработки, чтобы выполнить вставку/обновление в «Реальную таблицу» и, наконец, обрезать промежуточную таблицу.

Надеюсь это поможет.

person JustLogic    schedule 25.07.2016

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

  • Максимальное количество групп синхронизации, к которым может принадлежать любая база данных: 5
  • Символы, которые нельзя использовать в именах объектов: Имена объектов (баз данных, таблиц, столбцов) не могут содержать печатные символы точки (.), левой квадратной скобки ([) или правой квадратной скобки (]).

Поддерживаемые ограничения на параметры БД

Ссылка: http://download.microsoft.com/download/4/E/3/4E394315-A4CB-4C59-9696-B25215A19CEF/SQL_Data_Sync_Preview.pdf

person VIJAY RAAVI    schedule 02.08.2016