У нас есть и старая база данных с плохо продуманной структурой таблиц, практически никакой установки отношений и схем именования. Я создал новую базу данных с чистой реляционной структурой данных, которая реализует правильные методы проектирования.Как вы переводите старые данные базы данных SQL в новый макет таблицы?
Я ищу совет по различным методам переноса старых данных в новый формат. Для этого потребуется много переформатирования данных, что не будет весело. Данные широко доступны, и задача будет заключаться в том, чтобы синхронизировать обе базы данных для всех соответствующих данных (учетные записи, важные службы и т. Д.).
Я думал, что триггеры могут быть здесь, но, возможно, есть другой метод, о котором я не знаю (возможно, MS Sync Framework или адаптер данных на уровне кода, который будет работать больше, потому что есть так много код доступа к данным распространяется повсеместно, классический ASP и .Net - десятки проектов). Данной базой данных является SQL Server 2005, работающий в режиме совместимости SQL Server 2000.
Лично я бы написал программу для перемещения данных и протестировал ее до тех пор, пока результат не будет таким, как вы хотите. Затем, когда вы хотите жить вживую, вы можете запустить его во время простоя и выполнить задание. Вам действительно нужно тщательно протестировать, особенно если вы сильно меняете структуру и добавляете правила референциальной целостности в новую базу данных. Если база данных была написана плохо, тем лучше шанс, что программное обеспечение, работающее на нем, также было. –
Да, программное обеспечение было написано плохо. Это одна из тех ситуаций, когда компания развивает вещи в течение длительных периодов времени со многими разными разработчиками. Закончился беспорядок. Миграция данных с помощью приложения миграции сразу не является вариантом, так как старая система будет поддерживать некоторые из старых продуктов, а новые продукты переместятся в новую систему. –
Одна из моих идей заключалась в том, чтобы создать схему «адаптера» в новой базе данных, которая будет содержать таблицы, которые связывают старые первичные ключи с новыми первичными ключами и позволяют поддерживать синхронизацию данных между ними. Новая система не будет обновлять старую систему, но изменения старой системы всегда будут распространяться на новую, полностью используя триггеры. –