March 25, 2003 at 10:19 am
I have a client who is having an issue regarding its merge replication solution. The environment consists of a central publisher/distributor and 21 subscribers. All of the servers run SQL Server 2000 sp3 on an NT 4.0 platform. They are connected using dedicated T1 or DSL lines and the Merge Agent runs every three min. for each subscriber. Each merge moves approx. 150 to 200 records. The application is a full client tool developed using Clarion 5.5 (http://www.softvelocity.com/).
Issue: One table, JOBDETL (similar to an invoice detail table), contains three attributes of interest, BILLRATE, BILLHRS, and TOTCHG. (See table definition below)
CREATE TABLE [dbo].[JobDetl] (
[JobPtr] [int] NOT NULL ,
[WkoPtr] [int] NOT NULL ,
[CusPtr] [int] NOT NULL ,
[SitePtr] [int] NOT NULL ,
[EmpPtr] [int] NOT NULL ,
[YMDWeekEnding] [datetime] NULL ,
[PayProc] [tinyint] NULL ,
[Chkno] [int] NULL ,
[EmplName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[YMDServ] [datetime] NULL ,
[SkillID] [int] NULL ,
[BackBrace] [tinyint] NULL ,
[Boots] [tinyint] NULL ,
[Broom] [tinyint] NULL ,
[Glasses] [tinyint] NULL ,
[Gloves] [tinyint] NULL ,
[Hat] [tinyint] NULL ,
[Rake] [tinyint] NULL ,
[Shirt] [tinyint] NULL ,
[Shovel] [tinyint] NULL ,
[Vest] [tinyint] NULL ,
[Other] [tinyint] NULL ,
[OthDesc] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[RideStat] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Reimbursements] [decimal](7, 2) NULL ,
[Charges] [decimal](7, 2) NULL ,
[InvProc] [tinyint] NULL ,
[InvPtr] [int] NULL ,
[TotalHrs] [decimal](5, 2) NULL ,
[RegHrs] [decimal](5, 2) NULL ,
[RegRate] [decimal](5, 2) NULL ,
[OtHrs] [decimal](5, 2) NULL ,
[OtRate] [decimal](5, 2) NULL ,
[BillHrs] [decimal](5, 2) NULL ,
[BillRate] [decimal](5, 2) NULL ,
[OtBillHrs] [decimal](5, 2) NULL ,
[OtBillRate] [decimal](5, 2) NULL ,
[WCPtr] [int] NULL ,
[WCRate] [decimal](9, 4) NULL ,
[TotChg] [decimal](7, 2) NULL ,
[Adjustment] [tinyint] NULL ,
[YMDAdjustment] [datetime] NULL ,
[Adjuster] [int] NULL ,
[CommentId] [int] NULL ,
[OCIPAmount] [decimal](9, 2) NULL ,
[rowguid] uniqueidentifier ROWGUIDCOL NOT NULL ,
[Transportation] [decimal](9, 2) NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[JobDetl] WITH NOCHECK ADD
CONSTRAINT [PK_JobDetl] PRIMARY KEY CLUSTERED
(
[JobPtr]
) WITH FILLFACTOR = 75 ON [PRIMARY]
GO
ALTER TABLE [dbo].[JobDetl] WITH NOCHECK ADD
CONSTRAINT [DF__JobDetl__rowguid__4AA7D061] DEFAULT (newid()) FOR [rowguid],
CONSTRAINT [DF__JobDetl__Transpo__3A09B649] DEFAULT (0) FOR [Transportation]
GO
The data is correctly entered into the subscribers table and is durable. The data is replicated to the publisher where one, two, or three of the attributes mentioned above are blank or '0'. This occurs less than 1/2 of 1% of the time. There doesn't appear to be any pattern to the corruption. All data is replicated, it is not being partitioned either vertically or horizontally. SQL Server does not generate any error messages or conditions.
Has anyone seen anything like this? I have scripted out the replication configuration if anyone needs it.
Kurt Allebach
Sr. Managing Consultant
Software Architects, Inc.
(813) 288 9515
Director for Community Development
The Professional Association for SQL Server
kallebach
Kurt Allebach
March 25, 2003 at 10:49 am
Have you checked for Conflicts? Of course this would only be a possibility if the row already existed and was being updated by the subscriber. If these are new inserts from the subscriber, then it must be something else.
Jay Madren
Jay Madren
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply