Forums Últimos mensajes - Powered by IBM
 
Tags Palabras claves

Solución?

24/05/2006 - 17:35 por José | Informe spam
Analizando un poco más llegué a una solución a mi problema 2 que es el que
más me interesa, no se si la adecuada pero me funcionó..
Por cada tabla replicada necesito crear 3 stores en mi bd de suscriptor:
sp_MSins_Table1 (Inserción); sp_MSupd_Table1 (Actualización);
sp_MSdel_Table1 (Borrado)

Para crear los stores necesito identificar los id de cada tabla; ejecuté en
el publicador:
select artid, dest_table
from sysarticles sa, syspublications sp
where
sp.name = 'NombrePublicación' and -- Nombre de publicación en tabla
syspublications
sp.pubid = sa.pubid

Una vez obtenido el id de la tabla ejecuto sp_scriptinsproc;
sp_scriptdelproc y sp_scriptmappedupdproc
con parámetro id de tabla (debe hacerse con todas las tablas publicadas
(sysarticles)). Ej:
sp_scriptdelproc 1 ejecutado en el publicador me devuelve el script que debo
ejecutar sobre la bd suscripta para poder replicar los borrados efectuados
en la tabla con id 1 en el publicador a través del agente distribuidor.
Me funcionó, pero supongo que hay una manera más facil de hacerlo...
 

Leer las respuestas

#1 qwalgrande
29/05/2006 - 07:47 | Informe spam
Hola.

Sobre tus dos problemas, el primero, aplicar una instantánea tan grande no
es la mejor de las ideas. Ibas muy bien encaminado con el backup - restore.
Otra alternativa es inicializar las tablas mediante un DTS.

Sobre el segundo, tienes varias opciones. La primera pasa por no utilizar
procedimientos específicos para el insert, el update y el delete de cada
tabla, si no usar los genéricos. Estas propiedades se especifican a nivel de
artículo (en SQL Server 2000, basta con desmarcar un check por comando en
las propiedades del artículo, accesible cuando ya tienes creada la
suscripción). En cualquier caso, estos procedimientos almacenados se crean
al arrancar por primera vez el job de la suscripción. Sin embargo, a veces
el proceso de inicialización del suscriptor no funciona como debe, sobre
todo si has tenido que crear y borrar varias veces esta suscripción, que
creo que es tu caso.

Espero haber sido de ayuda,

Alberto López Grande (qwalgrande)


"José" escribió en el mensaje
news:
Analizando un poco más llegué a una solución a mi problema 2 que es el que
más me interesa, no se si la adecuada pero me funcionó..
Por cada tabla replicada necesito crear 3 stores en mi bd de suscriptor:
sp_MSins_Table1 (Inserción); sp_MSupd_Table1 (Actualización);
sp_MSdel_Table1 (Borrado)

Para crear los stores necesito identificar los id de cada tabla; ejecuté
en
el publicador:
select artid, dest_table
from sysarticles sa, syspublications sp
where
sp.name = 'NombrePublicación' and -- Nombre de publicación en tabla
syspublications
sp.pubid = sa.pubid

Una vez obtenido el id de la tabla ejecuto sp_scriptinsproc;
sp_scriptdelproc y sp_scriptmappedupdproc
con parámetro id de tabla (debe hacerse con todas las tablas publicadas
(sysarticles)). Ej:
sp_scriptdelproc 1 ejecutado en el publicador me devuelve el script que
debo
ejecutar sobre la bd suscripta para poder replicar los borrados efectuados
en la tabla con id 1 en el publicador a través del agente distribuidor.
Me funcionó, pero supongo que hay una manera más facil de hacerlo...



Preguntas similares