Groups | Blog | Home
all groups > sql server replication > september 2006 >

sql server replication : Transactional Replication breaks when adding articles


Paul Ibison
9/21/2006 12:00:00 AM
Jason,
was the original setup a nosnyc initialization? If so, you can still add the
articles and run sp_addsubscription using a @sync_type of automatic. If you
just want to sync the data and create the procs manually, you can use
sp_scriptpublicationcustomprocs and then run the putput on the subscriber.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com .

Jason Wilson
9/21/2006 7:34:51 AM
This is the 2nd time this has happened:

1) I add a couple of tables the published articles for tranactional
replication
2) I run the snapshot agent
3) The snapshot agent creats the schema and bcp files
4) The subscription agent fails because it can't find the INSERT,
UPDATE, and DELET stored procedures on the subscriber (ie
sp_MSins_TableName, sp_MSdel_TableName, etc)

Last time I had to reinitialize my subscribers to fix the replication.

My questions are this:

1) What step am I missing that is causing this?
2) Can I fix it without re-initializing? (force the creation of the
sp's or manually create them?)

Thanks in advance,

Jason
Jason Wilson
9/21/2006 8:37:25 AM
Thanks Paul,

I'm a novice with replication so bear with me. I orginally created the
replicaiton through EM. I'm not sure where to check the nosync option
-- I did have the original setup create the schema for me -- is that
what you're talking about?

I'll take a look at the books online about syntax for the two stored
procedures you mention, but any hints about their use would be greatly
appreciated.

Thanks again,

Jason

[quoted text, click to view]
Jason Wilson
9/21/2006 8:56:16 AM
Wow I did a search on the 2nd stored procedure you mentioned and found:

http://support.microsoft.com/kb/299903/EN-US/

If I understand it correctly that because I setup the replication with
automatic synch and then manually ran the snapshot agent the sp's
weren't created.

[quoted text, click to view]
Jason Wilson
9/21/2006 11:42:06 AM
I added them manually and ran into other problems -- like it trying to
synch the transactions before it added the tables. I gave up and
re-initialized, but I definitely want to get this figured out before
the next time I need add an article.


[quoted text, click to view]
Jason Wilson
9/21/2006 11:44:27 AM
I did do this sucessfully once before. I think I just added the
articles and never ran the snapshot agent. It took a while, but I
think the tables just appeared at the subscribe eventually. Would that
make any sense?

Jason

[quoted text, click to view]
Paul Ibison
9/21/2006 5:47:48 PM
Jason,
it's really the converse - the initial setup was probably a manual one, so
when the new articles are added, there is an assumption that it will also be
manual. That's the only way I can think of that explains what has happened
in your case. Anyway, running the stored procedure will create the three
procs as a script that can be run manually on the subscriber afterwards to
manually get the system set up.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com .

Paul Ibison
9/21/2006 9:34:47 PM
Not really :) - the tables must have been created by a snapshot or already
existed, and the same for the stored procedures, which arrived during the
initialization or were created manually.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com .

Paul Ibison
9/21/2006 9:37:15 PM
Syncing the transactions before the tables is strange, unless it is
expecting a nosync initialization of the tables, which is what I think you
have done originally. If you use all the default settings, it'll be
automatic and adding new tables will bbe taken care of automatically, along
with the stored procedures, assuming the snapshot agent is run.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com .

AddThis Social Bookmark Button