Триггер удаляется при удалении и создании таблицы, как это сделать в процессе, который требует удаления таблицы - PullRequest
0 голосов
/ 21 сентября 2018

Существует процесс, который имеет огромный процесс ETL, и, наконец, он сбрасывает данные в таблицу X базы данных ABC. Я хотел создать зеркало этой таблицы в таблице Y, которая находится в базе данных DEF другого сервера.

Я создал триггер для этого, который будет выдвигать данные при вставке таблицы.Но позже стало известно, что процесс ETL удаляет таблицу и воссоздает ее.Что также приводит к удалению триггера.

Каким образом я могу реализовать этот процесс для создания точной копии таблицы на другом сервере БД.

Редактировать:
a) Iне иметь никакого контроля над процессом ETL.Следовательно, я не могу ничего изменить, и хочу сохранить процесс дискретным.
b) Я не могу усечь таблицу Y, поскольку DDL не поддерживается связанными серверами, поэтому я хочу удалить Таблицу Y и затем вставить

1 Ответ

0 голосов
/ 21 сентября 2018

Как я могу реализовать этот процесс, чтобы сделать точную копию таблицы на другом сервере БД

Лучший способ для этого - использовать SQL Server Replication

Если по каким-либо причинам вы предпочитаете воссоздать триггер на воссозданной таблице, вы можете использовать Триггеры DDL , которые должны создать ваш триггер в случае создания таблицы.

PS Почему бы вам не использовать TRUNCATE таблицу (с отключением индекса при необходимости) вместо drop / create?

...