Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Administration (2000)
 Repliatication keeps asking for unique identifier

Author  Topic 

TRACEYSQL
Aged Yak Warrior

594 Posts

Posted - 2006-09-21 : 13:27:49
I have my database and when i set up replication i keep getting

SQL Server requires that all articles in a publication allowing updatable subscriptions contain a uniqueidentifier column named 'MSrepl_tran_version' used for tracking changes to the replicated data. SQL Server will add such a column to published tables that do not have one.

Adding a new column will:
» Cause INSERT statements without column lists to fail
» Increase the size of the table

SQL Server will add a uniqueidentifier column to each of the following tables when the publication is created.

[DELTEK].[ACCT]

Its almost like SQL is thinking i choose merge replication and not transactional....

The table has Primary key on it.


CREATE TABLE [ACCT] (
[ACCT_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[ACTIVE_FL] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[FY_CD_FR] [varchar] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[PD_NO_FR] [smallint] NULL ,
[FY_CD_TO] [varchar] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[PD_NO_TO] [smallint] NULL ,
[ACCT_ENTR_GRP_CD] [varchar] (6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[PROJ_REQD_FL] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[S_ACCT_TYPE_CD] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[DETL_FL] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[TOP_FL] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[MODIFIED_BY] [varchar] (18) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[TIME_STAMP] [datetime] NOT NULL ,
[ROWVERSION] [smallint] NULL ,
[L1_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L2_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L3_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L4_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L5_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L6_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L7_ACCT_NAME] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[LVL_NO] [smallint] NULL ,
[L1_ACCT_SEG_ID] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L2_ACCT_SEG_ID] [varchar] (13) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L3_ACCT_SEG_ID] [varchar] (11) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L4_ACCT_SEG_ID] [varchar] (9) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L5_ACCT_SEG_ID] [varchar] (7) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L6_ACCT_SEG_ID] [varchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L7_ACCT_SEG_ID] [varchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[L8_ACCT_SEG_ID] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[TC_ACCT_TYPE_CD] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
CONSTRAINT [PK_0039] PRIMARY KEY NONCLUSTERED
(
[ACCT_ID]
) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO


We have used transactional before without having to put uniqueidentifiers on the tables......

Not sure why it suddenly asking for the unique identifier




TRACEYSQL
Aged Yak Warrior

594 Posts

Posted - 2006-09-24 : 10:29:09
I got this working............it may be a bug when you delete replication it keeps on insisting its now merge.
I eventually got it done.
Go to Top of Page

TRACEYSQL
Aged Yak Warrior

594 Posts

Posted - 2006-09-24 : 10:29:09
I got this working............it may be a bug when you delete replication it keeps on insisting its now merge.
I eventually got it done.
Go to Top of Page
   

- Advertisement -