Концепция состоит в том, чтобы переместить данные из Oracle на SQL Server как есть, используя SSIS / связанный сервер / Polybase / bcp:
INSERT INTO SQL_Server_table(id, ...)
SELECT id, ...
FROM Oracle_table;
Если таблица имеет свойство IDENTITY
, то сначала необходимо отключить ее:
SET IDENTITY_INSERT SQL_Server_table ON
После перемещения данных необходимо задать для идентификатора самое высокое значение:
DBCC CHECKIDENT ('SQL_Server_table', RESEED, <max_calculated_value>+1);
Если в таблице нет столбца идентификаторовопределили, что вы можете использовать SEQUENCE
:
CREATE SEQUENCE dbo.SQL_Server_table_seq
START WITH <max_calculated_value>+1
INCREMENT BY 1 ;
ALTER TABLE SQL_Server_table
ADD CONSTRAINT df_SQL_Server_table_seq
DEFAULT NEXT VALUE FOR dbo.SQL_Server_table_seq FOR [<identity_column>];
дБ <> Fiddle demo