Executar inserções de um gatilho em uma tabela no servidor vinculado - má decisão. Isso afetará muito o desempenho de inserção na tabela de origem ([dbo].[Tabela_1]) e também há uma transação distribuída e configuração de servidores para suportar transações distribuídas - pesadelo.
Uma possível solução é:
-
No servidor de origem, você pode criar uma tabela de filas de sincronização. Por exemplo:
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) )
-
Triger em dbo.SourceTable pode inserir rapidamente em dbo.SyncQueue Record Key que você precisa sincronizar
- Alguns procedimentos armazenados executados periodicamente podem inserir registros da tabela de filas no servidor vinculado.