Извършване на вмъквания от тригер в таблица на свързан сървър - лошо решение. Това ще повлияе значително на производителността на вмъкване в таблицата източник ([dbo].[Table_1]) и също така има разпределена транзакция и конфигуриране на сървъри за поддръжка на разпределени транзакции - кошмар.
Едно възможно решение е:
-
На изходния сървър можете да създадете таблица на опашката за синхронизиране. Например:
CREATE TABLE dbo.SyncQueue ( QueueId INT IDENTITY(1,1), KeyForSync INT, -- Primary key value of record in dbo.SourceTable SyncStatus INT -- statuses can be: 0 - New, 1 - Synchronized, 2 - Error ) suppose you source table is CREATE TABLE dbo.SourceTable ( Key INT, -- primary key of the table Data varchar(xxx) )
-
Задействането на dbo.SourceTable може бързо да вмъкне в запис на dbo.SyncQueue Ключ, който трябва да синхронизирате
- Някои периодично изпълнявани съхранени процедури могат след това да вмъкват записи от опашката в таблицата на свързания сървър.