Перенос объектов и данных между базами данных SQL 2005 - PullRequest
0 голосов
/ 11 мая 2009

Я хочу передать объекты (таблицы, хранимые процедуры, данные и т. Д.) Между двумя серверами (Dev Box и Live Box), и мне было интересно, как лучше всего это сделать?

В SQL Server 2000 вы можете передавать все объекты и данные между базами данных. Теперь все, что есть, это «скопировать данные» и «написать запрос». Куда пропал второй вариант?

Обе базы данных являются SQL 2005 (с пакетом обновления 2). При передаче первичные ключи и связи должны быть сохранены, равно как и все представления и другие связанные данные в отношении аутентификации ASP.NET. Службы Integration Services не настроены на работающем сервере, поэтому это не вариант.

Единственный способ, которым я могу придумать, - это генерировать сценарии, затем запускать их на другом сервере, но это занимает больше времени, чем старый способ (вот как я это делаю сейчас).

Ответы [ 5 ]

2 голосов
/ 11 мая 2009

Если вы готовы платить, я рекомендую Sql Compare и Sql Data Compare от Красные Ворота .

Очень полезные продукты.

0 голосов
/ 11 мая 2009

Вы не упоминаете объем своего приложения или количество разработчиков и т. Д., Поэтому немного сложно дать какие-либо рекомендации. Однако, если ваша разработка состоит из нескольких параллельных проектов и нескольких разработчиков, и вы копируете из разработки в производство, я бы порекомендовал что-то вроде следующего:

  • реализовать 3 "зоны": dev, qa, production.
  • разрабатывать все изменения в dev, создавать все изменения в скриптах, использовать что-то вроде cvs или sourcesafe для отслеживания изменений на всех объектах
  • когда изменения будут готовы и протестированы, запустите ваши скрипты в qa, это проверит ваши скрипты и установит процедуру
  • когда будешь готов, запусти свои скрипты и установи процедуру на производстве

примечание: qa практически идентична производственной, за исключением внесенных изменений, ожидающих их окончательной производственной установки. dev содержит любые изменения в работе, дополнительную отладку и т. д. Вы можете периодически восстанавливать производственную резервную копию на qa и dev для повторной синхронизации (просто убедитесь, что все разработчики знают об этом и планируют соответственно), потому что (в зависимости от количества разработчики) они (производство против qa против dev) начнут испытывать больше различий со временем.

0 голосов
/ 11 мая 2009

Жаль, что у вас не установлены службы Integration Services, поскольку вы можете использовать «Мастер копирования базы данных». Я считаю, что это создает пакет служб SSIS, который работает на конечном сервере.

Если у вас Visual Studio 2008, вы можете попробовать инструменты сравнения данных и сравнения схем.

0 голосов
/ 11 мая 2009

Ваша лучшая ставка - это, вероятно, инструмент для сравнения схем и данных; в http://www.mssqltips.com/tip.asp?tip=1069

перечислены различные инструменты
0 голосов
/ 11 мая 2009

Мастер публикации баз данных

http://sqlhost.codeplex.com/

...