Sql-Server
SQL-Server 2008:表格插入和範圍檢查?
我正在使用Table Value 建構子一次插入一堆行。
但是,如果我使用 sql 複製,我會在自動管理的 id 列上遇到對發布者的範圍檢查約束。
原因是在插入多個值期間 id 範圍似乎沒有增加,這意味著在實際範圍擴展可能發生(或 id 門檻值)之前達到了最大 id。
看起來這個問題的解決方案是執行合併代理或執行 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
我有什麼選擇(如果我不想或不能採用任何建議的解決方案)?擴大範圍?降低門檻?
我可以以程式方式修改我的請求以規避此問題嗎?
謝謝。
我有什麼選擇(如果我不想或不能採用任何建議的解決方案)?擴大範圍?
是的,如果您使用自動標識範圍管理,請確保範圍足夠大以容納同步之間可能發生的插入次數。您可能需要增加範圍。