Я бы использовал SSIS (который поставляется с сервером SQL), чтобы сделать это. Однако это не будет легкой или быстрой задачей. Преобразование из одной схемы в другую может занять очень много времени, и вы почти наверняка найдете данные, которые не соответствуют одной схеме другой, с которыми вам приходится иметь дело. Например, если в первой схеме поле имеет тип varchar, а во второй - datetime, вам почти наверняка придется исключить неправильные значения (например, «как можно скорее»), что может стать проблемой, особенно если поле является обязательным полем. На самом деле вам также придется иметь дело с этими типами несоответствий - если это не требовалось и сейчас, какое значение вы вкладываете туда для записей, где оно в настоящее время равно null
. Что вы делаете, когда размеры полей не совпадают, возможно, вам придется обрезать данные. Если у вас есть разные значения поиска от одного к другому, вам нужна таблица преобразования. Вам может понадобиться таблица преобразования, чтобы связать старые и новые поля id, чтобы вы могли правильно загрузить дочерние таблицы. Это очень сложная задача.