2009-03-12 17 views
13

Ho impostato la replica di tipo merge tra due database e sto utilizzando intervalli di identità su entrambi.Imposta Identity_insert on - Merge Replication

Desidero aggiungere una riga specifica a una tabella unita (impostando il valore dell'identità su qualcosa all'esterno dell'intervallo di identità) sul server di pubblicazione. Quando provo questo, ottengo il seguente errore.

L'inserto non è riuscito. Era in conflitto con un controllo del raggio di identità nel database 'xxx', tabella replicata 'dbo.yyy', colonna 'yyy_id'. Se la colonna Identity viene gestita automaticamente dalla replica , aggiornare l'intervallo come segue: per il server di pubblicazione, eseguire sp_adjustpublisheridentityrange; per il Sottoscrittore, eseguire l'agente di distribuzione o l'agente di merge.

C'è un modo per forzare un valore di identità specifico in una tabella replicata di unione che utilizza la gestione intervallo di identità?

risposta

3

Un modo è garantire che ciascun nodo nella topologia di replica utilizzi un intervallo diverso di valori di identità, in modo che non si verifichino duplicati.

Ad esempio, la pubblicazione potrebbe essere assegnato nell'intervallo 1-100, utente A nell'intervallo 101-200, e abbonato B nell'intervallo 201-300. Se una riga è inserita nel server di pubblicazione e il valore di identità è, ad esempio, 65, , tale valore viene replicato su ciascun Sottoscrittore . Quando la replica inserisce i dati in ciascun Sottoscrittore, non aumenta il valore della colonna Identity in nella tabella Sottoscrittore; al contrario, viene inserito il valore letterale 65 . Solo gli inserimenti utente , ma non la replica, gli inserimenti dell'agente provocano l'incremento del valore della colonna identità .

rif. Replicating Identity Columns

+0

Grazie Mitch, ma nella situazione che sto trattando, i clienti stanno attivamente inserendo record sia nel pub che nel sub che ricevono gli ID assegnati. C'è un ID specifico che voglio inserire nel pub (inferiore all'intervallo corrente). ma voglio delle spie che si aggiungono al pub per aggiungerle nell'intervallo. –