2009-03-12 11 views
13

Tengo la duplicación de fusión configurada entre dos bases de datos y estoy usando rangos de identidad en ambos.Establecer Identity_insert on - Merge Replication

Quiero agregar una fila específica a una tabla fusionada (estableciendo el valor de identidad a algo fuera del rango de identidad) en el editor. Cuando intento esto, obtengo el siguiente error.

Error en la inserción. En conflicto con un control de rango de identidad restricción en la base de datos 'xxx', tabla replicada 'dbo.yyy', columna 'yyy_id'. Si la columna de identidad se gestiona automáticamente mediante la replicación , actualice el rango de la siguiente manera: para el publicador, ejecute sp_adjustpublisheridentityrange; para el suscriptor, ejecute el agente de distribución o el agente de mezcla.

¿Hay alguna forma de forzar el valor de identidad específico en una tabla duplicada de combinación que utiliza la administración del rango de identidad?

Respuesta

3

Una forma es asegurar que cada nodo en la topología de replicación esté usando un rango diferente de valores de identidad, para que no se produzcan duplicados.

Por ejemplo, el editor podría ser asigna el intervalo de 1-100, el abonado A el rango de 101-200, y el suscriptor B el rango de 201-300. Si una fila es insertada en el publicador y el valor de identidad es, por ejemplo, 65, ese valor se replica en cada suscriptor . Cuando la replicación inserta datos de en cada suscriptor, no incrementa el valor de la columna de identidad en la tabla del suscriptor; en su lugar, se inserta el valor literal 65. Solo las inserciones del usuario , pero no la replicación insertadas del agente causan que se incremente el valor de la columna identidad .

Ref. Replicating Identity Columns

+0

Gracias Mitch, pero en la situación que estoy tratando, los clientes están ingresando registros activamente tanto en el pub como en el sub que están recibiendo Ids asignados. Hay una ID específica que quiero insertar en el pub (menor que el Rango actual). pero quiero que los custs que están agregando al pub agreguen dentro del rango. –

Cuestiones relacionadas