问题描述:

   首先,不知道你有没有类似的经历,在可更新订阅的事务复制,当初始化订阅时,发生了类似这样的错误:列名 'msrepl_tran_version' 无效 。(源: MSSQLSERVER,错误号: 207 )

   可更新订阅的事务复制错误:列名 'msrepl_tran_version' 无效

      图1.通过复制监视器来检查错误

  可更新订阅的事务复制错误:列名 'msrepl_tran_version' 无效

  图2.通过作业的历史记录来检查错误

问题分析:


   我们知道,在允许可更新订阅的发布中发布表时,会将列 msrepl_tran_version 添加到表中。本文章中,在发布表Product是把列msrepl_tran_version添加到表中。

CREATE TABLE [dbo].[Product](
    
[Name] [nvarchar](50NULL,
    
[ID] [uniqueidentifier] NOT NULL,
    
[msrepl_tran_version] [uniqueidentifier] NOT NULL,
 
CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED 
(
    
[ID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

GO

ALTER TABLE [dbo].[Product] ADD  DEFAULT (newid()) FOR [ID]
GO

ALTER TABLE [dbo].[Product] ADD  CONSTRAINT [MSrepl_tran_version_default_A796A587_FA04_4EC3_BD9E_6F4B54F32206_2105058535]  DEFAULT (newid()) FOR [msrepl_tran_version]
GO

相关文章: