Резервное копирование и восстановление данных SQL Server в измененной структуре базы данных - PullRequest
0 голосов
/ 21 апреля 2009

Сценарий такой. У меня есть база данных SQL Server в Интернете, в которой я запускаю приложение. Во время разработки я добавил дополнительные поля, изменил типы полей, изменил ключи и добавил несколько новых таблиц локально.

Какой лучший способ для меня обновить онлайн-базу данных с новой структурой и не потерять данные? База данных SQL Server 2005.

Ответы [ 5 ]

2 голосов
/ 21 апреля 2009

Загрузите пробную версию Red Gate SQL Compare , сравните два сервера, и все готово. Если вы делаете это часто, это стоит $ 400, или получите один из их комплектов для лучшей отдачи.


И я не работаю на Red Gate, просто счастливый клиент!

2 голосов
/ 21 апреля 2009

Написание сценариев обновления для изменения структуры вашей действующей базы данных в соответствии с новой структурой, а также вставка любых необходимых данных.

Для этого может потребоваться использовать временные таблицы.

Вероятно, лучше всего протестировать этот процесс в тестовой среде, прежде чем запускать сценарии в реальной среде.

0 голосов
/ 21 апреля 2009
  1. Сделать копию существующей базы данных для копирования.

  2. Сделайте еще одну копию и измените ее в вашей новой схеме. сохранить DDL для повторного использования.

  3. Напишите запросы, которые копируют данные из № 1 в № 2. Сохраните запросы для повторного использования.

  4. Проверить результаты.

  5. Повторяйте, пока не закончите.

0 голосов
/ 21 апреля 2009

Это, вероятно, не очень помогает ретроспективно, но я всегда записываю все структурные изменения БД в свою базу данных разработки, а затем, используя номер версии, чтобы определить текущую версию БД, я могу запустить необходимые сценарии в оперативной БД, следовательно, приведение его в соответствие одновременно с загрузкой нового кода.

Это также работает для любых изменений содержимого, например, если изменение в базовой структуре влияет на хранимое содержимое, вы также можете написать сценарии для соответствующей миграции данных.

0 голосов
/ 21 апреля 2009

В зависимости от того, что именно вы сделали, вы можете сойти с рук с помощью операторов alter, хотя из-за их звуков (удаление ключей и так далее) вы делаете некоторую тяжелую работу, которая может сделать это менее чем идеальное решение. Возможно, вам стоит заняться созданием плана обслуживания или, что еще лучше, проекта служб SQL Server Integration Services в Visual Studio. С помощью этих инструментов вы сможете перенести данные из существующей базы данных в новую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...