Какие бизнес-требования стоят за этим запросом?
1. У вас есть справочные данные в базе данных 1 и вы хотите реплицировать эти данные в базу данных 2?
Если это так, используйте кросс-запросы к базам данных, если вы находитесь на одном логическом сервере. Подробности см. в моей статье.
2 - Можно ли иметь дубликат базы данных в другом регионе? Если это так, используйте активную георепликацию для синхронизации базы данных. См. мою статью об этом для деталей.
3. Если вам просто нужно реплицировать пару таблиц, а объем данных невелик, то просто напишите простую программу PowerShell (рабочий процесс) для постепенной загрузки цели из источника.
Запланируйте программу в службе автоматизации Azure на выбранное вами время. Я бы использовал флаг, чтобы указать, какие записи были реплицированы.
Поместите вставку в цель и обновите флаг источника в транзакции, чтобы гарантировать согласованность. Этот узор представляет собой ряд за мучительным узором рядов.
Вы даже можете группировать записи. Изучите использование SQLBulkCopy в библиотеке system.data.sqlclient .Net.
4. И последнее, но не менее важное: база данных SQL Azure теперь поддерживает команду OPENROWSET. К сожалению, эта функция доступна только для чтения из шаблона файла хранилища BLOB-объектов, когда вы находитесь в облаке. Более старые версии локальной команды позволяют вам записывать в файл.
Я надеюсь, что эти предложения помогут.
Удачного кодирования.
Джон Коварный администратор баз данных
person
CRAFTY DBA
schedule
27.11.2017