Tuesday, March 20, 2012

A call to SQL Server Reconciler failed. SQL Server 2005, SQL Server Mobile merge replication

Hi,

Iam trying to perform merge replication between SQL Server 2005 and SQL server mobile. It has previously been working. Recently something is causing the following problem when i try to perform the merge. I grabed the following output from the replication monitor.
Error messages:
An error occurred while reading the .bcp data file for the 'MSmerge_rowtrack' article. If the .bcp file is corrupt, you must regenerate the snapshot before initializing the Subscriber. (Source: MSSQLServer, Error number: 2147767868)
Get help: http://help/2147767868

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 troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. (Source: MSSQLServer, Error number: 2147766295)
Get help: http://help/2147766295

From Sql Server managment studio i:
--> right clicked on the publication
--> selected view snapshot agent status
--> i then pressed start

the result was [100%] A snapshot of 8 article(s) was generated.

I then retried to sync it and it had the same problem. I upped then logging to level 3. The log produced the following:

2005/10/02 20:56:18 Hr=00000000 Compression Level set to 1
2005/10/02 20:56:18 Hr=00000000 Count of active RSCBs = 0
2005/10/02 20:56:18 Thread=C38 RSCB=15 Command=OPWC Hr=00000000 Total Compressed bytes in = 175
2005/10/02 20:56:18 Thread=C38 RSCB=15 Command=OPWC Hr=00000000 Total Uncompressed bytes in = 309
2005/10/02 20:56:18 Thread=C38 RSCB=15 Command=OPWC Hr=00000000 Responding to OpenWrite, total bytes = 175
2005/10/02 20:56:18 Thread=C38 RSCB=15 Command=OPWC Hr=00000000 C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\server\30.4E1B0DC71663_8B01FD62-37A2-8AD5-F4E5-B5FF8162902B 0
2005/10/02 20:56:19 Thread=E64 RSCB=15 Command=SYNC Hr=00000000 Synchronize prepped 0
<PARAMS RSCB="15" HostName="" Publisher="i-removed-this-for-the-post" PublisherNetwork="" PublisherAddress="" PublisherSecurityMode="1" PublisherLogin="" PublisherDatabase="CARSRBO_DB" Publication="CARSRBO_DB" ProfileName="DEFAULT" SubscriberServer="CARSRBO_DB - 4e1b0dc71663" SubscriberDatabasePath="Program Files\carsmr.ui\CARSMR_DB.sdf" Distributor="i-removed-this-for-the-post" DistributorNetwork="" DistributorAddress="" DistributorSecurityMode="1" DistributorLogin="" ExchangeType="3" ValidationType="0" QueryTimeout="300" LoginTimeout="15" SnapshotTransferType="0" DistributorSessionId="72"/>
2005/10/02 20:56:19 Thread=E64 RSCB=15 Command=SYNC Hr=8004563C An error occurred while reading the .bcp data file for the 'MSmerge_rowtrack' article. If the .bcp file is corrupt, you must regenerate the snapshot before initializing the Subscriber. -2147199428
2005/10/02 20:56:19 Thread=E64 RSCB=15 Command=SYNC Hr=80045017 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 troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. -2147201001
2005/10/02 20:56:19 Thread=E64 RSCB=15 Command=SCHK Hr=80004005 SyncCheck responding 0
2005/10/02 20:56:19 Thread=E64 RSCB=15 Command=SCHK Hr=00000000 Removing this RSCB 0

Note i noticed that the "MSMerge_rowtrack" does not exist in the snapshot folder only variations in the format MSMerge_rowtrack*.bcp such as MSMerge_rowtrack90.bcp

Any advice on this issue would be appreciated as i have not found anything solid through google.

Thanks in advance,
pdns

If looks like you have not configured the read permissions on the snapshot folder.
The error code 80045017 seems to indicate a permission problem.
Can you try the sync after you give read permissions to the snapshot folder/subfolder and all files.
And note that if you using absolute paths (instead of share) you will need to give NTFS permissions too.

80045017 The SQL Server CE Replication Provider must have read permissions to the snapshot folder. Read permission is needed so the SQL Server CE Replication Provider can download the initial subscription to the Windows CE-based device.

The identity under which the SQL Server CE Replication Provider runs depends upon how IIS authentication is configured.

|||Hi Mahesh,

I think you were right in it being a security problem.

i followed the tutorial at http://msdn2.microsoft.com/en-us/library/ms240364
and the issue is now resolved.

I am not sure of exactly where the permission problem was.

Could it have been that for the SQL Server 2005 security properties that the settings for Security -> Logins -> Computername/IUSR_*
did not have MSmerge_* database roles assigned for the database ?|||Glad that the issue is resolved.
I think the user ISUR* did not read permissions on the snapshot folder.|||

I have following error in propagate while subscription, the error like this.

Error messages:

The schema script 'C:\Program Files\Microsoft SQL Server\MSSQL.5\MSSQL\ReplData\unc\TOSHIBA$SQLSERVER2005ENT_TESTMOBILE_TESTSQLMOBILE\20060303170979\tblTest_2.sch' could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147024891)
Get help: http://help/MSSQL_REPL-2147024891

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 troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001)
Get help: http://help/MSSQL_REPL-2147201001


I try to synchronization from SQL Server 2005 Enterprise to SQL Mobile 2005. While add new subscription on SQL Mobile 2005 it raised error like this on synchronizing data :

- Synchronizing Data (100%) (Error)

Messages

Initializing SQL Server Reconciler has failed.
HRESULT 0x80045901 (29045)

The remote server "TOSHIBA\SQLSERVER2005ENT" does not exist, or has not been designated as a valid Publisher, or you may not have permission to see available Publishers.
HRESULT 0x00003700 (0)

{call sp_helpdistpublisher (N'TOSHIBA\SQLSERVER2005ENT') }
HRESULT 0x00000000 (0)

You do not have the required permissions to complete the operation.
HRESULT 0x0000372E (0)

The operation could not be completed.

Any way to fix this ? The both error are on the same scene (while add SQL Mobile Subscription).

Thanks.

|||

Hello...

I had the same problem the past few days...and what solved it for me was two things:

1. making sure that the windows user accounts for the replication had read/write control of the replication problems.

2. making sure that those windows user accounts (and my one sql login account that is used for anonymous access) were in the Publication Access List for the publication.

|||how do I check if the user account is in publication access list or not? Thx.|||should be somewhere on the publication properties page. Search books online for "merge publication access list" for more information.|||

I found the list and verified the the two things you mentioned. Yet I still have the exact same error message as you did. I am trying to snyc sql server 2005 standard to SQL mobile. Our IIS is on a seperate box. Did you use IIS on a seperate box too? Much obliged to your info.

|||We are also synchronizing between sql server 2005 standard and sql server Mobile. However, we are running IIS and SQL Server on the same box.|||We are experiencing the same symptoms. All was going fine until yesterday morning. Nobody has changed anything and the issue is not happening for all of the users. This makes me suspcious of the theory that permissions are at fault.

Can anyone who had this problem and resolved it recount what processes they went through?

Thanks|||Additionally you have to make sure that the user connecting to the IIS site has permissions to launch and execute the replisapi.dll. This can be done using the Configure Web Sync wizard.|||Also check if the snapshot is still valid and the files are not cleaned up. If they arent, then rerun the snapshot agent.|||Re-runnning the snapshot is what we do to get it going again - but this does not explain why there is different behaviour for individual users.

Each user has an individual snapshot - should they be updated? The normal snapshot gets run every night so shouldn't be out of date.

What we have established is that this only occurs for some users when the application has been re-installed. (Again, not for all users).|||

When a normal snapshot runs, it invalidates all the dynamic snapshots. Also if the snapshot is expired due to retention or other admin actions then the snapshot needs to be run to make the syncs succeed.

What do you mean by application has been re-installed? On what server, and what does it mean to the subscriber?

sql

No comments:

Post a Comment