Showing posts with label snapshot. Show all posts
Showing posts with label snapshot. Show all posts

Sunday, March 25, 2012

Changing Article Properties without a new Snapshot

In our replication environment, the subscriber is initially set up with an snapshot of the publisher database. However, after that, the subscriber and publisher are different and we can never re-initialize from a snapshot again (we purge data on the publisher to reduce the database size but do not purge the same data on the subscriber; we do this by stubbing out the stored procedures on the subscriber that purge data on the publisher).

If an article is added or dropped from the publication, using snapshot and synchronize, just these changes are propagated to the publisher (without an entire new snapshot).

However, if an Article Property is changed (change SCALL to MCALL under Statement Delivery options for the UPDATE statement), the interface REQUIRES an entire new snapshot. Is there any way I can avoid the new Snapshot? It overwrites the subscriber database and this cannot happen!

Linda

Adding/dropping article(s) from an existing publication requires generates a new snapshot in general. This is to make sure the data convergence.

Do you mind sharing the business purpose - 'avoiding the new Snapshot' and 'can not overwrite the subscriber database'?

Thanks.

This posting is provided AS IS with no warranties, and confers no rights.

|||

Hi Linda,

Yes, changing CALL format will require a new snapshot.

But there is another way which might do what do you need (although requires more steps and a little intrusive). You can drop the subscription and publication. It will delete the replication, but not the data at subscriber. Then you can create the publication and subscription again. But when you create the subscription, you can choose to initialize subscription without snapshot. BOL has instruction (http://msdn2.microsoft.com/en-us/library/ms151705.aspx) on how to do it. Just follow the instructions under "Initializing a subscription with an alternative method".

Thanks,

Peng

|||

Thanks again, Peng. I have used this method in the past (breaking replication and restoring without a snapshot). I will test it for this scenario and let you know the results.

Linda

|||

Peng,

This works for changing article properties. Thanks!

Under what conditions will SQL2005 Replication generate an entire new snapshot?

Our configuration will not allow the subscription database to be re-initialized with a snapshot. The snapshot from the publisher will only be used for the initial subscription.

I need to identify all cases when a new snapshot will be created and use the alternative method of breaking replication, make the changes and then re-add the subscription without a snapshot.

Examples:

Adding or dropping a table: the snapshot agent just applies changes from the 1 item I changed without breaking replication.

Dropping a view: I dropped a view and the snapshot agent recreated the entire snaphot. Why?

How can I tell if my changes to replication are going to cause a new snapshot to be generated?

Linda

Monday, March 19, 2012

Changed Snapshot Agent Schedule, but Agent still running on old on

I recently changed my snapshot agent schedule to run 1x each night. In the
Job History (SQL Server Agent), it shows to run as scheduled. However, when
I look at the Agent History, it is recording session activity every hour.
What is going on here?
Thanks,
Buddy
Hi,
Try to stop and start SQL Agent and if doesn't work, try to create a new
profile in the Snapshot agent properties/agent profiles and click to use this
new profile avoiding the default.
Regards
"Budman" wrote:

> I recently changed my snapshot agent schedule to run 1x each night. In the
> Job History (SQL Server Agent), it shows to run as scheduled. However, when
> I look at the Agent History, it is recording session activity every hour.
> What is going on here?
> Thanks,
> Buddy

Thursday, March 8, 2012

Change to new subscriber without snapshot?

We have a nightly replication of changes to a database going across the
WAN to a server that has been unstable and will be running out of disk
space soon.
I have a new subscriber set up, and can restore a backup from the old
subscriber, so the data will be the same.
Due to politics (!), I do not have access to the publisher. Can they
script out the replication, and point it to the new server without a
new snapshot coming from the publisher? The group that controls the
publisher estimates it would take 48 hours to push a snapshot across
the WAN.
Thanks in advance.
You can do a nosync initialization. Have a look at this article for more
info:
http://www.replicationanswers.com/No...alizations.asp
Rgds,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
|||yes, its called a no-sync subscription. You will have to make sure that the
data is in sync, otherwise your distribution agent may fail frequently. The
group that controls the publisher will have to fix this each time.
You will also have to have them auto generated the replication stored
procedures for you by using sp_enumcustomresolvers 'PublicationName'
Run this in your publication database.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Mr. DOS" <mike@.mrdos.com> wrote in message
news:1116228663.708155.103080@.f14g2000cwb.googlegr oups.com...
> We have a nightly replication of changes to a database going across the
> WAN to a server that has been unstable and will be running out of disk
> space soon.
> I have a new subscriber set up, and can restore a backup from the old
> subscriber, so the data will be the same.
> Due to politics (!), I do not have access to the publisher. Can they
> script out the replication, and point it to the new server without a
> new snapshot coming from the publisher? The group that controls the
> publisher estimates it would take 48 hours to push a snapshot across
> the WAN.
> Thanks in advance.
>