我正在使用Table Value constructor一次插入一堆行。
但是,如果我正在使用sql复制,我会在我自动管理的id列上的发布者上遇到范围检查约束。
原因是在插入多个值期间似乎没有增加id范围,这意味着在实际范围扩展(或id阈值)之前达到最大id。
看起来像problem解决方案正在运行合并代理程序或运行sp_adjustpublisheridentityrange存储过程。
我很喜欢这样的事情:
INSERT INTO dbo.MyProducts (Name, ListPrice)
VALUES ('Helmet', 25.50),
('Wheel', 30.00),
((SELECT Name FROM Production.Product WHERE ProductID = 720),
(SELECT ListPrice FROM Production.Product WHERE ProductID = 720));
GO
我有什么选择(如果我不想或不能采用任何建议的解决方案)?扩大范围?降低门槛?
我可以通过编程方式修改我的请求以避免此问题吗?
感谢。
答案 0 :(得分:0)
唯一的解决方案似乎是运行sp_adjustpublisheridentityrange存储过程。