Как перенести структуру БД SQL Server на другой сервер - PullRequest
1 голос
/ 21 июня 2010

Скажите, пожалуйста, как лучше всего скопировать структуру БД на другой сервер?

Я пытаюсь сгенерировать скрипт в Management Studio, а затем запустить этот скрипт на удаленном компьютере.И я ненавижу эту вещь.Это работает непредсказуемо, вы должны вручную исправить много дерьма в сгенерированном скрипте.Я думаю, это не лучшее решение.

Затем я попытался сгенерировать пакет служб SSIS с помощью DTSWizard.exe, но я ничего не знаю об этом, и я не смог найти способ скопировать только структуру без данных.

Может быть, есть способ как-то разбить всю структуру БД на более мелкие части и поработать с ними - сначала сделать все таблицы, затем просмотреть, затем выполнить функции и т. Д.

Или есть другой,нормальный способ сделать это без такой головной боли?

Ответы [ 4 ]

5 голосов
/ 21 июня 2010

Создание сценария является лучшим решением. Если вам нужно исправить это вручную, вы пишете это неправильно. Используйте задачу «Создать сценарии ...» в Management Studio

Обязательно проверьте:

  1. Вы генерируете скрипт для соответствующей версии?
  2. Определяете ли вы опции "DROP and CREATE" и "IF EXISTS", если работаете на более ранней версии БД?
  3. Вы пишете в сценарий все вспомогательные объекты (пользователи, триггеры, индексы и т. Д.)
2 голосов
/ 21 июня 2010

Если приемлемы сторонние инструменты, Red Gate SQL Compare - отличный инструмент.

1 голос
/ 14 июля 2010

Попробуйте DBSourceTools. (http://dbsourcetools.codeplex.com)
Его открытый исходный код, специально разработанный для создания сценариев для всей базы данных - таблиц, представлений, процедур на диске, а затем для повторного создания этой базы данных с помощью цели развертывания.
Вы можете создать сценарий для всех данных или просто указать, для каких таблиц необходимо создавать данные.
Кроме того, вы можете заархивировать результаты для распространения.
Мы используем его для контроля версий баз данных и тестирования обновлений для новых выпусков.
В серверной части он построен на основе SMO и поэтому поддерживает SQL 2000, 2005 и 2008.
DBDiff интегрирован, чтобы позволить сравнения схем.
Повеселись, - Натан.

0 голосов
/ 22 июня 2010

Попробуйте SQL Examiner Suite: http://www.sqlaccessories.com/SQL_Examiner_Suite/ - вы можете скопировать схему и данные с помощью этого инструмента

...