Pregunta

acabo de venir a través de algo perturbador, yo estaba tratando de poner en práctica la replicación transaccional de una base de datos cuyo diseño no está bajo nuestro control. Esta réplica fue con el fin de realizar informes y sin gravar el sistema demasiado. Al tratar la replicación sólo algunas de las mesas fuimos al otro lado.

En las mesas de investigación no han sido seleccionados para ser replicado, ya que no tienen una clave principal, pensé que esto no puede ser incluso se muestra como una clave principal si uso ODBC y MS Access, pero no en el estudio de gestión. También las consultas no son ridículamente lento.

He intentado insertar un registro duplicado y falló diciendo acerca de un índice único (no es una clave primaria). Parece ser las tablas se han implementado utilizando un índice único que se oponen a una clave principal. ¿Por qué no sé que podría gritar.

¿Hay alguna forma para llevar a cabo la replicación transaccional o una alternativa, que tiene que ser vivo (a último minuto o dos). El servidor principal db es actualmente SQL 2000 Service Pack 3a y el servidor de informes de 2005.

La única cosa que he pensado momento de intentar establecer la replicación se levantó como si se trata de otro tipo de base de datos. Creo que la replicación decir oráculo es posible sería esta fuerza el uso de, digamos, un controlador ODBC como Asumo el acceso está utilizando, por lo tanto mostrando una clave principal. No sé si eso es preciso fuera de mi profundidad en esto.

¿Fue útil?

Solución

estados , no es posible crear una transaccional replicación en tablas sin claves primarias. Se podría usar Combinar replicación (sólo ida), que no requiere una clave primaria, y crea automáticamente una columna rowguid si no existe:

  

replicación de mezcla utiliza un nivel mundial   identificador único (GUID) columna para   identificar cada fila durante la fusión   proceso de replicación. Si una publicación   tabla no tiene un uniqueidentifier   columna con la propiedad ROWGUIDCOL   y un índice único, añade la replicación   uno. Asegurar que cualquier seleccionar e insertar   declaraciones que referencia publicado   tablas utilizan listas de columnas. Si es una mesa   ya no publicada y la replicación   añadió la columna, la columna se   remoto; Si la columna ya   existido, no se elimina.

Por desgracia, tendrá una penalización de rendimiento si se utiliza la réplica de mezcla.

Si es necesario utilizar la replicación para la presentación de informes solamente, y que no es necesario que los datos sean exactamente las mismas que en el editor, entonces usted podría considerar también la replicación de instantáneas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top