Ich habe es selbst nicht verwendet, aber ich denke, Sie brauchen das neue Sequence Object
Sie würden ein Sequenzobjekt erstellen und anstatt Identitätswerte zu verwenden, einfach den nächsten Wert aus Ihrem Sequenzobjekt abrufen.
Sequenzobjekt erstellen
CREATE SEQUENCE Sqnc_Number_Generator AS INT --<-- This can be Bigint as well
START WITH 1 -- Start with value 1
INCREMENT BY 1 -- Increment with value 1
MINVALUE 1 -- Minimum value to start is 1
MAXVALUE 50000 -- Maximum it can go to 5000
NO CYCLE -- Do not go above 5000
CACHE 500 -- Increment 500 values in memory rather than incrementing from IO
Nächsten Wert abrufen
SELECT NEXT VALUE FOR dbo.Sqnc_Number_Generator AS NxtValue;