Создать базу данных из другой базы данных?

StackOverflow https://stackoverflow.com/questions/24541

  •  09-06-2019
  •  | 
  •  

Вопрос

Существует ли автоматический способ в SQL Server 2005 создать базу данных из нескольких таблиц в другой базе данных?Мне нужно поработать над проектом, и мне нужно всего несколько таблиц, чтобы запустить его локально, и я не хочу делать резервную копию базы данных объемом 50 гигабайт.

Обновить

Я попробовал Задачи -> Экспортировать данные в Management Studio, и хотя он создал новую вспомогательную базу данных с нужными мне таблицами, он не копировал никаких метаданных таблицы, ie...no Ограничения PK / FK и отсутствие идентификационных данных (даже с проверкой Сохранения идентификации).

Очевидно, что они нужны мне для того, чтобы это сработало, поэтому я открыт для других предложений.Я попробую этот инструмент публикации базы данных.

У меня нет доступных служб Integration Services, и два SQL-сервера не могут напрямую подключаться друг к другу, поэтому они недоступны.

Обновление Обновления

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

Это было полезно?

Решение

Вы можете использовать Мастер публикации базы данных для этого.Это позволит вам выбрать набор таблиц с данными или без них и экспортировать его в файл сценария .sql, который затем вы можете запустить в другой вашей базе данных для воссоздания таблиц и / или данных.

Другие советы

Сначала создайте свою новую базу данных.Затем щелкните по нему правой кнопкой мыши и перейдите в подменю "Задачи" в контекстном меню.У вас там должна быть какая-то функция импорта / экспорта.Я не могу точно вспомнить, потому что сейчас не на работе!:)

Оттуда вы сможете выбрать исходные и конечные источники данных, а также таблицы, которые вы хотите перенести.Когда вы выберете свои таблицы, нажмите на кнопку дополнительно (или параметры) и установите флажок под названием "сохранять первичные ключи".В противном случае для вас будут созданы новые значения первичного ключа.

Я знаю, что этот метод вряд ли можно назвать автоматическим, но почему бы вам не использовать несколько простых инструкций SELECT INTO?

Потому что сначала мне пришлось бы реконструировать схему, ограничения и индексы.Это та часть, которую я хочу автоматизировать...Получение данных - самая простая часть.

Всем спасибо за ваши предложения, похоже, это несложно.

Службы Integration Services могут помочь выполнить эту задачу.Этот инструмент предоставляет расширенные возможности преобразования данных, так что вы сможете получить точное подмножество необходимых вам данных из большой базы данных.

Предполагая, что такие данные необходимы для тестирования / отладки, вы можете рассмотреть возможность применения выборки строк для уменьшения объема экспортируемых данных.

  1. Создать новую базу данных
  2. Щелкните по нему правой кнопкой мыши,
  3. Задачи -> Импортировать данные
  4. Следуйте инструкциям
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top