FIX: Immediate Updating Subscriber May Fail If a Text Column Comes Before Primary Key (245833)
The information in this article applies to:
This article was previously published under Q245833
BUG #: 56535 (SQLBUG_70)
SYMPTOMS
The triggers that are generated and placed on the subscribing tables will not correctly identify the primary key columns if all of the following conditions are true:
- The table participates in transactional replication with immediate-updating subscribers.
- A text (or image or ntext) column occurs before the primary key column.
- The subscriber connects back to the publisher to perform its two-phase commit using a dynamic remote procedure call (RPC).
This can lead to the following errors being generated when the subscribing table is updated:
Server: Msg 20515, Level 16, State 1, Procedure sp_MSreplraiserror, Line 9
Updatable Subscribers: Rows do not match between Publisher and Subscriber. Refresh rows at Subscriber.
Server: Msg 21054, Level 16, State 1, Procedure sp_MSreplraiserror, Line 16
Updatable Subscribers: RPC to Publisher failed.
Server: Msg 20512, Level 16, State 1, Procedure sp_MSreplraiserror, Line 8
Updatable Subscribers: Rolling back transaction.
WORKAROUND
To work around this problem, use any of the following:
- Restructure the table so that the primary key is before the text column.
- Do not replicate the text column.
- Change the data type of the text column to varchar.
- Use a static RPC, rather than a dynamic RPC, to connect back to publisher.
STATUS
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base: 254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0 For more information, contact your primary support provider.
Modification Type: | Major | Last Reviewed: | 3/14/2006 |
---|
Keywords: | kbBug kbfix KB245833 |
---|
|