Solved

Error while restoring backup while setting up transactional replication

Posted on 2010-09-05
7
1,483 Views
Last Modified: 2012-05-10
Msg 21397, Level 16, State 1, Procedure sp_MSaddautonosyncsubscription, Line 279
The transactions required for synchronizing the nosync subscription created from the specified backup are unavailable at the Distributor. Retry the operation again with a more up-to-date log, differential, or full database backup.

Thanks
0
Comment
Question by:venk_r
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 12

Expert Comment

by:Máté Farkas
ID: 33609682
Which statement or operation have you run when you get this message (please provide the full statement)?
0
 
LVL 8

Expert Comment

by:avirups
ID: 33609936
Msg 21397
The transactions required for synchronizing the nosync subscription created from the specified backup are unavailable at the Distributor. Retry the operation again with a more up-to-date log, differential, or full database backup.
 
Quick Checks:

-- on the publisher database
select allow_initialize_from_backup, min_autonosync_lsn,* from syspublications
allow_initialize_from_backup  = 1  
min_autonosync_lsn = the lsn from which the commands should be applied at the subscriber
--on distribution database
select min_autonosync_lsn,* from distribution.dbo.mspublications
min_autonosync_lsn will be the same as the syspublications.min_autonosync_lsn

During the execution of sp_addsubscription, we perform validation in sp_MSaddautonosyncsubscription procedure before we create the subscription.

--on distribution database
select subscription_seqno,publisher_seqno,ss_cplt_seqno,* from distribution.dbo.mssubscriptions
min_autonosync_lsn should be always less than the subscription_seqno

When we execute sp_addsubscrption with @backupdevicename='backup device', we are executing the “RESTORE HEADERONLY” on the backup and getting the LASTLSN of the latest backup if the backup set contains multiple backups. All this logic is handled in sp_MSextractlastlsnfrombackup proc. This proc is executed inside sp_MSaddautonosyncsubscription procedure.

RESTORE HEADERONLY FROM DISK on the backup set and get the lastLSN from the latest backup. Use the following SQL to get the binary form of the lsn.
declare @numericlsn numeric(25,0)
declare @high4bytelsncomponent bigint,
@mid4bytelsncomponent bigint,
@low2bytelsncomponent int
 
--set the lsn here
set @numericlsn = 93000000070800001
 
select @high4bytelsncomponent = convert(bigint, floor(@numericlsn / 1000000000000000))
select @numericlsn = @numericlsn - convert(numeric(25,0), @high4bytelsncomponent) * 1000000000000000
select @mid4bytelsncomponent = convert(bigint,floor(@numericlsn / 100000))
select @numericlsn = @numericlsn - convert(numeric(25,0), @mid4bytelsncomponent) * 100000
select @low2bytelsncomponent = convert(int, @numericlsn)
 
SELECT  convert(binary(4), @high4bytelsncomponent) + convert(binary(4), @mid4bytelsncomponent) + convert(binary(2), @low2bytelsncomponent)
This is the lsn from which the Distribution agent will pick up the commands from msrepl_transactions and apply at the subscriber.

Potential Problems

If the backup set contains multiple backup sets, the sp_addsubscrption logic select the first backup set and not the most recent backup set.  As result, the Subscriber may not have the most recent copy of the Publication database.  After all, reason we we’re doing this method is to reduce the data transfer time to the Subscriber.  We didn’t count on the backup set having multiple copies of the Published database.  Kinds of defeats trying to “save time” using Backups.

Solution: When using “allow initialization from backup files” always create the Publisher backup to a NEW backup (*.bak) file.
0
 
LVL 50

Expert Comment

by:Vitor Montalvão
ID: 33609949
I'll suggest you to reinitialize the replication with new snapshot.
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 
LVL 8

Author Comment

by:venk_r
ID: 33610723
I cannot reintialize  the snapshot as the data is huge and it will take almost 2 days to complete.The only I got is to restore the backup on the subscriber.Meanwhile I have tried restoring differential backups followed by full still no luck.Just to let you the test system(publisher) as  got no active transations.So there is no chance of LSN going out of sync.
Thanks
0
 
LVL 50

Expert Comment

by:Vitor Montalvão
ID: 33610829
Well, if you won't create new snapshot then restore subscriber database should work as well.

Good luck
0
 
LVL 8

Accepted Solution

by:
avirups earned 500 total points
ID: 33615143
Did you get a chance to try the solution posted above? Let me know if that did not work.
0
 
LVL 8

Author Closing Comment

by:venk_r
ID: 33757919
thanks
0

Featured Post

Comparison of Amazon Drive, Google Drive, OneDrive

What is Best for Backup: Amazon Drive, Google Drive or MS OneDrive? In this free whitepaper we look at their performance, pricing, and platform availability to help you decide which cloud drive is right for your situation. Download and read the results of our testing for free!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is basically a blog post I wrote recently. I've found that SARGability is poorly understood, and since many people don't read blogs, I figured I'd post it here as an article. SARGable is an adjective in SQL that means that an item can be fou…
Naughty Me. While I was changing the database name from DB1 to DB_PROD1 (yep it's not real database name ^v^), I changed the database name and notified my application fellows that I did it. They turn on the application, and everything is working. A …
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question