使用对等拓扑安装MSSQL复制:设置冲突检测的问题

我正在设置一个SQL复制策略,使用MSSQL2008与对等发布(2个服务器,每个订阅另一个)。
我从MSDN跟随这个HOWTO ,并且安装似乎工作正常:添加logging到服务器A上的一个表,服务器B上的查询显示新logging。 到现在为止还挺好。
到目前为止,我只有一个表'模板':

Id PK(计算字段)
NodeId int默认1/2(服务器A = 1,服务器B = 2)
LocalId int autoid
名称 nvarchar(100)

现在,我想启用“冲突检测”,默认情况下应该启用。 但是,每次我尝试保存“发布属性”中的“冲突检测”function时,都会出现以下错误:

无法保存对等冲突检测属性。

执行Transact-SQL语句或批处理时发生exception(Microsoft.SqlServer.ConnectionInfo)

计划地点:
在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand,ExecutionTypes executionType)
在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(stringsqlCommand)
在Microsoft.SqlServer.Replication.ReplicationObject.ExecCommand(String commandIn)
在Microsoft.SqlServer.Replication.TransPublication.SetPeerConflictDetection(布尔enablePeerConflictDetection,Int32的peerOriginatorID)
在Microsoft.SqlServer.Management.UI.PubPropSubscriptionOptions.SaveP2PConflictDetection()
在Microsoft.SqlServer.Management.UI.PubPropSubscriptionOptions.SaveProperties(ExecutionMode&executionResult)

目标表或视图中不存在列名'Id'。
将数据库上下文更改为“TestDB”。 (.Net SqlClient数据提供程序)

要获取帮助,请单击: http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.2531&EvtSrc=MSSQLServer&EvtID=1911&LinkId=20476

服务器名称:SERVER_A
错误号码:1911
严重性:16
状态:1
行号:2

计划地点:
在System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,布尔breakConnection)
在System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,布尔breakConnection)
在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)
在System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(stringmethodName,布尔asynchronous)
在System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result,String methodName,Boolean sendToPipe)
在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand,ExecutionTypes executionType)

现在,我误导了这个错误,什么也没有显示出来。 我也似乎无法找出什么确切的目标表错误“列名称Id”不存在…“是。
有没有人做到这一点? 我错过了什么吗? 有了这个设置没有冲突检测感觉很没用…

编辑
好的,经过一些更多的研究和设置不同的数据库等,我发现模板表中计算的“Id”列是罪魁祸首。 我不知道为什么,但复制似乎不允许计算列(这也是主键)。 它现在也工作,没有“Id”列,并使用NodeId和LocalId作为一个组合的PK。
所以现在的问题是,为什么不允许有一个计算列作为PK复制冲突检测?