none
Error en Replica SQL 2008

    Question

  • Hola a todos. Les cuento que tengo implementada una replica y funciona muy bien, pero ahora tengo el sgte inconveniente: en una tabla replicada cambie los tipos de datos a unas columnas y empece con problemas en la replicacion. El mensaje que me da es "The merge process is retrying a failed operation made to article XX - Reason: Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query".
    No entiendo bien el error porque en la tabla en cuestion tengo campos del tipo varchar pero ninguno varbinary. Pero viendo los triggers que se crean para replica veo que utiliza campos varbinary.

    Por favor si alguien me puede ayudar.

    Saludos
    Francisco

    Thursday, August 30, 2012 3:00 PM

Answers

  • Hola.

    La forma sería realizar todo aquello que se realiza al reinicializar una suscripción de forma manual: Cambiar la estructura en destino (con el consiguiente cambio en el tipo de los datos en tu caso) y cambiar los procedimientos almacenados que se encargan de realizar el movimiento de los datos. Si procede, volcar los datos de nuevo. Es bastante más fácil reinicializar, si es que te lo puedes permitir (que no siempre es posible, por volumen de datos, disponibilidad, etc).



    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Saturday, September 01, 2012 8:31 AM

All replies

  • Hola.

    Si cambias la estructura de las tablas replicadas debes reinicializar la suscripción, de ese modo la estructura del suscriptor y los procedimientos de actualización se ponen a nivel con los cambios introducidos.

    Si no lo logras o no sabes cómo, nos dices.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Thursday, August 30, 2012 6:17 PM
  • Hola, gracias por la respuesta. Tenia entendido, por lo que lei, que las modificaciones en estructuras de tablas se replicaban de manera automatica en Sql Server 2008 R2 y no habia necesidad de reinicializar la suscripcion (es lo que queremos evitar). Es mas, corrimos ALTER TABLE para agregar columnas y no tuvimos problemas, pero esta vez corrimos un ALTER TABLE para modificar el tipo de dato de una columna y la replica empezo a dar error. Sabes si hay alguna manera de modificar la estructura de una tabla sin tener que reinicializar la suscripcion? Saludos Francisco
    Friday, August 31, 2012 8:23 PM
  • Hola.

    La forma sería realizar todo aquello que se realiza al reinicializar una suscripción de forma manual: Cambiar la estructura en destino (con el consiguiente cambio en el tipo de los datos en tu caso) y cambiar los procedimientos almacenados que se encargan de realizar el movimiento de los datos. Si procede, volcar los datos de nuevo. Es bastante más fácil reinicializar, si es que te lo puedes permitir (que no siempre es posible, por volumen de datos, disponibilidad, etc).



    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Saturday, September 01, 2012 8:31 AM
  • Hola.

    ¿Aclaramos tus dudas?


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Saturday, September 08, 2012 8:09 AM