SQL Server Performance

Replics - Agregar y Actualizar registros

Discussion in 'Preguntas sobre SQL Server en Español.' started by pecobeconen, Jan 10, 2007.

  1. pecobeconen New Member

    Buenas, necesito q 2 servidores (SQL SERVER 2000) trabajen localmente (no poseen una conexion constante, por eso es q no pueden trabajar on-line uno con el otro) y cada X tiempo se repliquen quedando con los mismos datos.

    Leyendo en diversos foros y tutoriales llegue a la concluision q mi solucion son las replicas Mezcla, pero en las mismas no encuentro solucion a 2 inconvenientes q tengo.

    1º) en ambos servidores se INSERTAN datos, y todos los ejemplos q dan vuelta por la web son de Actualizacion de datos. Ejemplo, al comenzar el dia en ambos servidores tengo 10000 clientes, el ultimo con IdCliente = 10000. En ambos servidores por dia se dan de alta aproximadamente 200 clientes nuevos, con lo cual en AMBOS servidores tengo los clientes con Id=10001, 10002, etc etc. O sea, en ambos servidores tengo con mismo ID clientes con distintos datos. Segun he leido, al replicarse esta informacion no me aparecerán 400 clientes nuevos al final del dia, sino q solo me apareceran 200 clientes nuevos (actualizandose los datos de los distintos IDs dependiendo de la fecha-hora de actualizacion de dichos datos)

    2º) la base de datos posee ciertas tablas fisicas (llamamos asi a tablas q se utilizan para acumular valores para aumentar la performance de las columnas, por ejemplo, cada vez q se hace una venta, la misma se "acumula" en una tabla con formato, ID, Fecha (mensual), Monto. Entonces cuando se requieren las ventas de un mes simplemente se consulta a dicha tabla en lugar de recorrer las X miles de ventas q existen). El problema q me surge con la registracion es el siguiente. Al comenzar el dia, en la tabla "fisica" tengo, ID=100, Fecha=01/07 y en monto tengo Monto=500.000. Si ahora en ambos servidores se comienzan a cargar ventas, al final del dia en uno voy a tener ID=100, Fecha=01/07 Monto=550.000 y en el otro ID=100, Fecha=01/07 Monto=580.000. Al actualizarse la info entre ambos servidores NECESITO q dicha tabla quede ID=100, Fecha=01/07 Monto=630.000 (porq 630.000, porq al comienzo del dia el valor era 500.000 y en el servidor y se cargaron 50.000 quedando en 550.000 y en el server 2 se cargaron 80.000 quedando en 580.000 o sea, en total, en el dia se vendieron 130.000, dandome como saldo al final del dia 630.000)

    En conclusion, la insercion en ambos servidores y acumulacion en tablas "fisicas" de informacion en ambos servidores es el inconveniente q no puedo resolver.

    Desde ya muchisimas gracias
  2. Luis Martin Moderator

    En mi opinión lo que necesitas implementar es cluster server.
    Si no es posible, quizás te convenga backups y restores parciales cada X tiempo. La replicación necesita ciertas características que deberías comprobar como, por ejemplo, que todas las tablas tenga PK.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  3. pecobeconen New Member

    Luis, desde ya muchas gracias.
    En primer lugar, he leido sobre Cluster Server http://www.microsoft.com/spanish/msdn/articulos/archivo/100103/voices/wns-introclustermscs.asp) y si es eso lo correcto no encuentro el punto en el cual pueda utilizarlo para resolver mi inconveniente.

    Por otro lado me comentas: "quizás te convenga backups y restores parciales cada X tiempo". Es algo q no veo viable.. en ambos servidores se trabaja en tiempo real constantemnte insertando y actualizado datos.

    Por ultimo, todas las tablas poseen su PK, y la mayoria tambien sus FK correspondientes.

    Perdon q vuelva con la pregunta ppal de mi post.
    Existe la posibilidad de hacer insercion en ambos servidores y acumulacion en tablas "fisicas" de informacion en ambos servidores y luego por algun proceso automatico dejar ambos servidores en identico estado.

    Voy mas alla con mi duda.. como trabajan por ejemplo las cadenas de hoteles, bancos, cadenas de negocios (electrodomesticos) q verifican-modifica-insertan productos-clientes-ventas, etc etc en distintos servidores y luego unen TODA su informacion en 1.

    Un abrazo, Pedro!
  4. Luis Martin Moderator

    Pedro,

    Si no es a través de cluster no encuentro la forma de mantener dos servidores que se esten replicando uno al otro, dado que uno es el que publica y el otro es que recibe los snap.

    De todas formas seguiré investigando.

    Un abrazo,

    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



Share This Page