sql-server - 不适用于复制,SQL 不工作

标签 sql-server database-replication

我设置表列属性Column properties 。根据Microsoft .

激活“NOT FOR REPLICATION”选项后,从复制代理到发布服务器 A 的连接将插入具有 1、2、3、4 等值的行。这些值将不经更改地复制到发布服务器 B(即 1、2、3) ,4)。来自发布服务器 B 上的复制代理的连接获取值 1001、1002、1003、1004。这些值将不经更改地复制到 A。当所有数据被分发或合并时,两个发布服务器的值均为 1、2、3、4、1001、1002、1003、1004。发布服务器 A 的下一个本地插入值为 5。发布服务器 B 的下一个本地插入值为 1005。

但是当我尝试上述过程并尝试插入查询时,最后一行 id 值为 10,然后尝试插入查询。

`SET IDENTITY_INSERT [BusOprtn].[dbo].[WinFormMaster] ON
insert into [BusOprtn].[dbo].[WinFormMaster] (Id,Name)  values(40,'fdsf'); 

设置 IDENTITY_INSERT [BusOprtn].[dbo].[WinFormMaster] 关闭。此后,当我在 sql Management Studio 的编辑模式下插入新行时,它会插入 id 为 41 的新行,但应该是 11。这可能是什么错误。

如果上面没有错误,那么我如何解决以身份列作为主键的复制或同步的动机。如果同步无法实现,我想使用合并复制。

最佳答案

没有错误,运行插入后,标识值将是 1 + 最后插入的值。您需要执行 dbcc checkident(TableName, newvalue, Reseed)

关于sql-server - 不适用于复制,SQL 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25381426/

相关文章:

sql-server - sql中NULL的数学运算

sql - 如何有效地将我的数据与远程数据库进行比较?

sql - SQL 是否可以使用 ORDER BY 为同一查询的两次运行返回不同的结果?

sql - 使用 SQL Server 获取层次结构

Mysql - 失败的 INSERT IGNORE 是否会复制到从属服务器?

mysql - mysql 复制可以配置为防止删除数据库被复制吗?

sql-server - 为什么无法在 Windows 7 Professional 64 位 SP1 上安装 SQL Server Express 2016?

mysql - 是否可以使用 MySQL 进行 N-master => 1-slave 复制?

apache-kafka - 微服务数据复制模式

postgresql - 错误: could not create replication slot "my_subscription": ERROR: logical decoding requires wal_level >= logical