FIX: Merge Replication Fails After a Call to sp_MSgetrowmetadata (283034)



The information in this article applies to:

  • Microsoft SQL Server 7.0 Service Pack 2
  • Microsoft SQL Server 7.0
  • Microsoft SQL Server 7.0 Service Pack 1

This article was previously published under Q283034
BUG #: 58101 (SQLBUG_70)

SYMPTOMS

Merge replication with pull subscriptions apparently fails on an article after a call to the sp_MSgetrowmetadata stored procedure. After this failure, the next step in the job history is as follows:
The remote procedure call failed and did not execute.
NOTE: The step was retried the requested number of times (1) without succeeding. The step failed.
In fact, the sp_MSgetrowmetadata procedure ends successfully; the problem occurs just after that.

CAUSE

The failure is in the code that merges the entries in the publisher and subscriber lineages. The number of slots is limited to 16 instead of 32.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0

For more information, contact your primary support provider.

MORE INFORMATION

The Merge Agent trace with OutputVerboseLevel 3 gives an output that resembles the following:

.
Connecting to Publisher '<PUBLISHER>.stetho'
Server: <PUBLISHER>
DBMS: Microsoft SQL Server
Version: 07.00.0842
.
Uploading data changes to the Publisher
Repl Agent Status: 3
<SUBSCRIBER>.Stetho: {call sp_MSmakegeneration (?)}
<SUBSCRIBER>.Stetho: {call sp_MSenumgenerations (17149, ?) }
<PUBLISHER>.stetho: {call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }{call sp_MScheckexistsgeneration (?, ?, ?) }
<PUBLISHER>.stetho: {call sp_MSinsertgenhistory (?, ?, ?) }
Percent Complete: 5
Processing deletions from <SUBSCRIBER>.Stetho
Repl Agent Status: 3
<SUBSCRIBER>.Stetho: {call sp_MSenumdeletesmetadata(?,?,?,?,?,?)}
Percent Complete: 5
Processing article 'parametr'
Repl Agent Status: 3
<PUBLISHER>.stetho: {call sp_MSenumcolumns (?,?)}
<SUBSCRIBER>.Stetho: {call sp_MSenumchanges(?,?,?,?,?)}
<PUBLISHER>.stetho: {call sp_MSgetrowmetadata(?,?,?,?,?,?,?)}
					


Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbbug kbfix KB283034