.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Snapshot while initializing a MERGE is not appled to the subscriber

Posted By:      Posted Date: April 10, 2011    Points: 0   Category :



2x SQL2008R2 SP2. (Box 'A' andf 'B')

'A' has a database 'C' which is to be replicated onto 'B'. 'C' has only 8 Articles (4 tables, 4 views).

I set up a Merge-Replication (Publisher and distributor is 'A'), subscriber is 'B'. Snaphot is to be transferred via FTP.

When creating a new pull on 'B', i want to use a new database (selected "new database', 'D'). 'D' should then be initialized with the snapshot which has been generated while creating the publication.

Unfortunately, the snapshot will not be applied to 'D'. The agent just starts to replicate the database. But since the new (empty) database 'D' is missing some tables, i receive an errormessage, that the view cannot be inserted due to missing components.

This is correct since the snapshot was not applied to 'D'. If i prepare 'D' manually to include the tables and views, the replication works fine, data is being copied between 'A' and 'B' and vise-versa.

But setting up a SNAPSHOT-publication for database 'C' on box 'A', then creating a snapshot-pull-subscription for this on box 'B' into 'D' , the snapshot will be applied  as expected.

I used the same permissions (SQL-Agent, etc.) for both publications/subscriptions.

Ans hints for troubleshooting ?

Thanks in advance !


View Complete Post

More Related Resource Links

Initializing a Merge Subscription Without a Snapshot - doesn't operate correctly



I do the backup from the publisher, next I restore it at the subscriber using *pure* database.

next I attempt to create subscription using this db. of course, I use

SubscriptionSyncType.None for SyncType propery of the subscription.


1. nevertheless the merge agent downloads whole snapshot!

both data (bcp files) and the schema.

2. I get the *strange* error. below thelines from the log:

Applying the snapshot to the Subscriber

A dynamic snapshot will be applied from 'C:\DOCUME~1\...\LOCALS~1\Temp\DB$MAIN_DB1_Main_testReplFromBackup\'

Preparing table '__UserSyncOptions' for merge replication

Applied script '__UserSyncOptions_2.cft'

{call sp_MSsetconflicttable (N'__UserSyncOptions', N'MSmerge_conflict_Main___UserSyncOptions', N'DB\MAIN', N'DB1', N'Main')}

{call sp_MSsetconflicttable (N'__UserSyncOptions', N'MSmerge_conflict_Main___UserSyncOptions', N'DB\MAIN', N'DB1', N'Main')}

Incorrect syntax near 'Id'.

The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. When trou

Merge Replication: How to give read access on snapshot share to a sql account

Hello All, I want to give read access to an sql account(not windows account). Can it be given or not. Someone please tell. Thanks saandii777

Merge Replication, Push Subscription : The snapshot takes centuries to apply

Well, not centuries, except that the users are storming the gate. I'm trying to find how to get the snapshot moved to the subscriber and applied in a reasonable time. Last time was successful, but took 2 1/2 days to build the subscriber database from the snapshot. Hillary responded: Something is very wrong here. You should be able to generate your snapshot, copy it manually over to the subscriber - using the altsnapshotfolder parameter and then apply it there. So now I have my snapshot, a folder with lots of .cft .bcp .dri .prc .sch  and .trg files. Getting this to the subscriber computer shouldn't take long. Once I get it there, how do I use it to get the subscriber set up?  You can't be successful at this unless you're at least 1/2 a bubble off level.

Merge Replication Compressed Snapshot

Hi, How do I go about compressing my snapshot files? I am unable to find a tutorial explaining how to do it.

Logical HOST_NAME within Post Snapshot Script for Dynamic Merge Snapshot


I have a Merge Publication that is dynamically filtered based on HOST_NAME(). All subscriptions are push subscriptions (i.e all agents run in a common distributor)

In the definition of any Subscriber I can specify  the value of HOST_NAME() for the pupose of dynamic filtering. But HOST_NAME() in the Post Snapshot script appears to be the actual HostName of the Distributor (not the HostName of the Subscriber for whom that dynamic snapshot is intended).

How can I retrieve either the HOST_NAME for the subscriber as defined by the subscription, or the actual HOST_NAME() of the intended subscriber (either will do).

The processing performed by the Post Snapshot Script is conditional on which dynamic snapshot has just been invoked




The merge process detected a mismatch while evaluating the subscriber partition validation expressio



We have a Merge Replication system between SQL 2008 R2 Enterprise and Express edition. 2 servers are on the same domain, and everything works fine by sql replication.

When we want to synchronize by web synchronization, we get an error like below

"The merge process detected a mismatch while evaluating the subscriber partition validation expression. The problem can be resolved by
reinitializing the subscription." (we did reinitializing but same error again!)

and also this another error message in same situation

" - The common generation watermark is invalid at this replica since it does not exist or metadata for changes not yet propagated may have been cleaned up.
 - The merge process failed because it detected a mismatch between the replication metadata of the two replicas, such that some changes could be lost leading to non-convergence. This could be due to the subscriber not having synchronized within the retention period, or because of one of the replicas being restored to a backup older than retention period, or because of the publisher performing more aggressive cleanup on articles of type download-only and articles with partition_options = 3."

Any idea?


Best regards.


SQL Server 2008 merge replication snapshot hangs on filtered articles


I have a publication on SQL Server 2008 Standard Edition using merge replication.  When I attempt to generate the initial snapshot, the snapshot agent appears to hang on the step "Setting up the publication for filtered articles."  I get a long (over 4 hour) series of messages: "The process is running and is waiting for a response from the server."  I know something is happening server-side, as SQL Server and the snapshot agent use a lot of memory and max out one core's processing capacity.

This has me confused as the publication is not doing any filtering.

Even more confusing:  I backed up the database and restored it onto my development-test system.  I created the snapshot there, and it took under 10 minutes every time.

Any suggestions for investigating and resolving this?

SQL 2008. Merge replication. Snapshot agent. Access Denied

Windows Server 2008 Standard x64 SP1, SQL Server 2008 Enterprise Edition x64 SP1
Snapshot agent has read-write permissions to ReplData folder but cannot access local snapshot folder. How to resolve this error?

Error messages:
Source: mscorlib
Target Site: Void WinIOError(Int32, System.String)
Message: Access to the path 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ReplData\unc\ServerName_DatabaseName_PublicationName\DateTime\' is denied.
Stack:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
   at System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)
   at Microsoft.SqlServer.Replication.Utilities.CreateDirectoryWithExtendedErrorInformation(String directory)
   at Microsoft.SqlServer.Replication.Snapshot.SnapshotProvider.CreateSnapshotFolders()
   at Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.CreateSnapshotFolders()
   at Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
   at Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
   at Microsoft.SqlServer.Replication.AgentCore.Run() (Source: mscorlib, Error number: 0)
Get help: http

Merge Replication Atomicity - at what point does ALL subscriber data become visible at the publisher



I have a Merge Replication installation going on with about 35 connected devices. When one of the subscribers synchronizes, do the inserted rows appear sporadically on the publication database at different times? Or do they appear all at once?

Can all of these be isolated inside a transaction - this would seem like it should be the default behaviour, in case of a sync being cancelled or failing due to loss of connectivity etc. 

The reason for this question is that another part of the system seems to have queried the publication database during and after a subscriber synchronization with differing results. 

If this is normal, what would be the best solution to ensure data integrity? 

Thank you in advance. 


SQL SErver 2008 Merge Replication: Alter Trigger cause syntax error on subscriber site


I have 2 clustered instances running on SQL Server 2008 SE-64 patch level 10.0.2531.0. These is one DB on these 2 instances (compatibility_level=80)under merge replication. now I need to change one trigger to add "NOT FOR REPLICATION". One publisher site all is ok but on subscriber site it causes Error 102 Severity 15 State 1 Incorrect Syntax near 'dbo'.

After tracing the error in profiler, I captured the incorrect syntax as below:

exec('ALTER TRIGGER [dbo].[trgBusinessEntityAllocationUpdate] on [dbo].[BusinessEntityAllocation] 

obviously, there is an duplicated part of object name. but the script was generated by replication engine. How could it happened? can anyone help?



George the DBA

When is a new snapshot requied in merge replication?


Have I correctly understood that a snapshot is only required in a merge replication (pull) when the subscription is first created or reinitialized?

And that the publisher is re-generating those snapshots on some schedule, only to speed up to process if some subscribers need to be reinitialized?

I'm asking this because I intend to download the snapshot via ftp manually (inorder to use passive FTP-SSL, merge replication itself only supports active FTP). Since the MergeSubscriptionAgent.IsSnapshotRequired() method takes ages to return a result (more than a minute ove local LAN), I'd like to skip that part and simply go ahead and download the snapshot when the subscription has not been created or is marked for reinitialization.

I need answers to the questions above, so that if I go down this route -> a couple of weeks in production I wouldn't run into trouble, because SQL requires a new snapshot to say validate data or something...

Applying Push Merge Replication snapshot manually


Here is the complete scenario :- SBS 2003 running Sql Server 2005 Standard, Merge Replication and Push Subscription. Connection Via VPN. Subscribers are SQL SERVER 2005 express..

Sometimes due to some structural changes, snapshot is to be re-applied. This is rare but is possible in our case.. On some subscribers snapshot applying goes on for hours and days with no sucess.

Are there any step by step instructions on how we can reintialize or reapply the snapshot on those subscribers manually i.e. maybe by copying the replication folder manually to subscriber and applying manually..

Pls help..

IMP : There might be a delay in posting replies due to time difference (GMT +2:00) and Friday's Holiday instead of Sunday.

How to know a Database is Merge Subscriber ?


Dear Sir,

Like 'IsMergePublished' property to know that database is Merge Replication Publisher Database, Is there any Property or Function through we know that database is Merge Replication Subscriber Database ?

Sanjay Shah

Merge Replication - Publisher Identity Range Assignment with Disconnected Subscriber


Hello everyone,

I have a merge replication topology setup as follows...  Publisher - SQL 2008 SP1, Distributor - SQL 2008 R2 (RTM), Subscriber - SQL 2008 SP1.

I recently had my subscriber disconnected for a couple days.  During this time, I was getting the following error on my publisher:

The insert failed. It conflicted with an identity range check constraint in database 'production', replicated table 'dbo.CustomerOrder', column 'CustomerOrderId'. If the identity column is automatically managed by replication, update the range as follows: for the Publisher, execute sp_adjustpublisheridentityrange; for the Subscriber, run the Distribution Agent or the Merge Agent.

I understand why I would normally get this error, but if the publisher and distributor are both online, why didn't the publisher attain a new range from the distributor after it hit its threshold?  Is this expected behavior whenever a subscriber is disconnected?

Thanks in advance.


SQL Server 2008 Merge Replication - Snapshot File Location Is Incorrect


I've searched far and wide, and so far have not been able to find any reference to this issue.

There is a merge replication setup on a SQL 2008 server, setup to replicate to SQL 2008 Express edition. We have similar setups in SQL 2005 AND SQL 2008 without issues. The setup is that the current merge replication snapshot file location is \\<ServerName>\Repldata\UNC\<SERVER_PUBLICATION>\20101229112828 which represents the file location of the latest snapshot which was just generated due to an obsolete snapshot.

The issue comes in when attempting to replicate against the server. The replication says that the schema script could not be propogated to the subscriber. Under normal circumstances I would say it's due to security issues with being able to read to the above folder, however this is not the case. The additional error that comes up is stating that it could not read the file along with an OS error 3 (The system cannot find the path specified).

What is unique about this, is that the subscriber is trying to download the snapshot from an old and now non-existent snapshot folder. Here is an copy of the error, noting the file location of "20091121130613" which no longer exists and is from an old snapshot.


Mail Merge




I am after creating a mail merge documents from datasource and .dot template file on server side. Can you give me an idea how i will achive this?


Thanks in advance.



Syed Hussain



Merge SQL to Excel--Need .Net button to open on fly and have current SQL data!


           Hello all,
I do not know if this is the proper place to ask this, but my question is...
I have a SQL DB and I want to convert it to Excel Sheet (I did this using the wizard)!
In my aspx page I have a button.  So when I press this button I want the Excel sheet to open!  But I need the Excel sheet to show me the up to date information that is in the SQL DB.  
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend