7

Sto replicando diverse tabelle in un database sullo stesso server del database di origine.Replica di SQL Server che non replica chiavi esterne

Queste tabelle contengono diverse chiavi esterne. Quando guardo le tabelle replicate, non hanno le chiavi esterne su di esse.

Così, qui sono le mie domande:

  1. Dovrebbe essere la copia di replica queste chiavi esterne di default?
  2. In caso contrario, come posso farli replicare?
  3. In tal caso, cosa causerebbe la mancata replica?

NOTA: mio database sorgente ha TableA e TableB. TableA ha una chiave primaria di AId. TableB ha una chiave esterna su quella colonna. E sto facendo una replica transazionale di entrambi TableA e TableB.

+0

Wow, sto avendo lo stesso identico problema. Non ho la risposta, ma forse è necessario pubblicare lo schema e dirci quale tipo di replica si sta utilizzando. – peter

risposta

6

OK, mi sono imbattuto in qualcosa, ma dipende dal tipo di replica che si sta utilizzando.

Sto utilizzando il sostituto transazionale. Trova la pubblicazione in uso qui,

(Management Studio) Replication -> Pubblicazioni locali -> (Pubblicazione)

Fare clic destro le proprietà di pubblicazione e selezionare, poi sotto gli articoli a destra clicca su 'Tabelle' e selezionare l'opzione 'Imposta le proprietà di tutti gli articoli della tabella'.

Qui il primo elemento è "Copia vincoli di chiave esterna".

Non ho provato, ma mi aspetto che funzioni.

È possibile applicare queste impostazioni anche per tabella se si fa clic con il tasto destro su una singola tabella e si seleziona l'opzione "Imposta proprietà di questo articolo".