小编Ste*_*wie的帖子

复制两个程序使用的数据库

我在两个相同的数据库之间设置了一个对等事务复制集,每个数据库都被两个不同服务器上的不同程序使用。由于我们实现了复制,我一直在表上遇到 PK 冲突,尽管插入语句没有输入主键并让 SQL Server 处理它,但两个程序都会更新。在这种情况下,表名是 Statistics: Violation of PRIMARY KEY 约束 'PK_Statistics'。无法在对象“dbo.Statistic”中插入重复键。

我的插入语句:

INSERT INTO [StackExchange].[dbo].[Statistic]
       ([UserId]
       ,[CreateDate]
       ,[IsError]
       ,[CustomData]
       ,[ModuleId]
       ,[StatisticTypeId])
 VALUES
       (19,GETDATE(),'true','test replication',1,1)
Run Code Online (Sandbox Code Playgroud)

此外,服务器中的事件查看器充满了冲突数据:

这是我在服务器 2 上经常遇到的错误:

在对等 1(传入)、事务 id 0x000000000031dea3 和对等(空)(在磁盘上)、事务 id(空)之间的对等 2 上检测到“更新-删除”类型的冲突

这是我在服务器 1 上遇到的相同事务错误:

在对等 2(传入)、事务 ID 0x0000000000245950 和对等 1(在磁盘上)、事务 ID 0x000000000031dea3 之间的对等 1 上检测到“删除更新”类型的冲突

在这种情况下,你会建议我做什么?

谢谢!

replication sql-server

5
推荐指数
1
解决办法
713
查看次数

标签 统计

replication ×1

sql-server ×1