Как написать триггеры для вставки данных из одной таблицы в другую таблицу, которые находятся на разных хост-серверах? - PullRequest
0 голосов
/ 28 мая 2018

У меня есть одна таблица, созданная в базе данных SQL Server, которая находится на моем локальном сервере, и она постоянно обновляется данными.Как написать триггер для вставки тех же данных в другую базу данных SQL Server, которая находится в Azure Cloud?Важно, что две базы данных находятся на разных серверах, одна на локальном, а другая на Azure.

1 Ответ

0 голосов
/ 29 мая 2018

Вы можете сделать это, добавив в таблицу префикс имени базы данных.Например, триггер в db1 может выполнить что-то вроде «INSERT INTO DB2.dbo.TableName (column1, column2) ....».Но в вашем случае у вас должен быть сервер, на котором вы ведете таблицу аудита в качестве связанного сервера с вашей базовой таблицей.

Однако я бы не рекомендовал это.Кросс-серверные или кросс-триггерные базы данных могут быть немного рискованными.Если другая база данных недоступна или занята, это может задержать или прервать ваши транзакции.

Я бы порекомендовал репликацию или асинхронный триггер с использованием компонента Service Broker для этого типа требований.Вот ссылка на процесс, чтобы использовать компонент Service Broker для асинхронных триггеров.http://www.madeiradata.com/service-broker-asynchronous-triggers/

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