BUG: Merge Replication to Jet 4.0 Subscriber Does Not Allow You to Set the ROWGUIDCOL Column as a Primary Key Column (260246)
The information in this article applies to:
- Microsoft SQL Server 7.0
- Microsoft SQL Server 2000 (all editions)
This article was previously published under Q260246
BUG #: 57378 (SQLBUG_70)
SYMPTOMS
When you use merge publishing from Microsoft SQL Server to Jet 4.0, you cannot specify
the uniqueidentifier column with the ROWGUIDCOL property as the primary key
of the published table. Doing so, causes this error message to occur:
Source: MS.Jet.4.0 Number: -1046
Message: Cannot delete a field that is part of an index or is needed by the system.
WORKAROUND
Here are two ways to work around this problem:
- Use the Microsoft Data Engine (MSDE) subscriber instead of
the Jet 4.0 subscriber.
-or-
- If you use a uniqueidentifier column to uniquely identify a row across multiple
sites or users and you set up the uniqueidentifier column as the primary key
column, use a composite primary key with two columns. One column should identify
the site or user and the other column should be unique to the host or user. For example:
Create table t1(c1 uniqueidentifier rowguidcol, siteid int, id int, primary key(siteid,id), description varchar(10))
instead of:
create table t1(c1 uniqueidentifier primary key rowguidcol, description varchar(10))
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. MORE INFORMATION
This problem applies to both push and pull subscriptions.
The merge agent fails when the s_generation, s_lineage and s_collineage columns are being
added to the table.
Modification Type: | Major | Last Reviewed: | 10/16/2003 |
---|
Keywords: | kbBug kbpending KB260246 |
---|
|