Как скопировать данные и таблицы базы данных из одной базы данных в другую

#sql-server #sql-server-2008

#sql-сервер #sql-server-2008

Вопрос:

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

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

Спасибо

Ответ №1:

Вы также можете попробовать ApexSQL Script, инструмент миграции базы данных, для создания сценариев объектов и данных из одного экземпляра и выполнения его на другом экземпляре.

Также вы можете использовать ApexSQL Diff и ApexSQL Data Diff, SQL schema и инструменты сравнения данных, чтобы скопировать структуру и данные из источника в пункт назначения.

Отказ от ответственности: Я работаю в ApexSQL

Надеюсь, это поможет

Комментарии:

1. Возможно ли скопировать структуру и данные одновременно? Например, я хочу скопировать структуру и данные TableB и обновить структуру TableA таким образом, чтобы она ссылалась на первичный ключ в TableB.

Ответ №2:

Вы могли бы:

Ответ №3:

Для этого вы можете использовать импорт и экспорт SSIS. Запрашивается имя исходного сервера, source dbName и имя сервера назначения, destination dbName.

или

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

Но я всегда предпочитаю SSIS.

Ответ №4:

Хорошо, я нашел это, полностью в Visual Studio. Это может быть из локальных файлов (.mdf) в файлы сервера и наоборот.

  1. Перейдите в обозреватель объектов Sql Server и найдите исходную базу данных. Или в обозревателе серверов щелкните правой кнопкой мыши на исходной базе данных и нажмите на Обзор в обозревателе объектов Sql Server
  2. В обозревателе объектов Sql Server щелкните правой кнопкой мыши исходную базу данных и выберите Сравнение данных
  3. Появится диалоговое окно, показывающее вам исходную базу данных и целевую базу данных. Ваша исходная база данных уже должна быть выбрана. Теперь выберите вашу целевую базу данных, вам, вероятно, придется добавить новое соединение, просто сделайте это, как вы обычно делаете в Server Explorer. Если вы хотите, чтобы целевой базой данных был локальный файл (.mdf), и вы не можете нажать на «Изменить«, сначала добавьте его в проводник сервера, и он появится в окне со списком.
  4. Выберите то, что вы хотите сравнить, установив флажки, и нажмите Далее.
  5. Он подключится к серверам и покажет вам другое диалоговое окно, что сравнивать, установите флажки и нажмите «Далее».
  6. Здесь у вас будет обзор ваших изменений от исходного к целевому.

На этом этапе вы сможете как бы «зеркально отразить» исходную базу данных с целевой базой данных. Например: Если вы добавили в целевую базу данных больше записей, чем есть в исходной базе данных, то эти записи будут удалены, как только вы нажмете Обновить целевую Внимательно посмотрите на то, что произойдет, когда вы нажмете эту кнопку!

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

изображение сравнения таблиц

К сожалению, после написания этого я обнаружил, что это доступно только в VS Ultimate и Premium, именно это говорится по следующей ссылке о visual studio 2010, я тестировал это в Visual Studio 2015 Enterprise. MSDN:https://msdn.microsoft.com/en-us/library/aa833428 (v = против100).aspx

Комментарии:

1. Использование Visual Studio 2019 Community Edition теперь поддерживает сравнение данных. Похоже, что эта функция в сочетании с проектом базы данных позволит вам полностью зеркально отображать базы данных / управлять ими.

Ответ №5:

Я предлагаю вам ознакомиться с «Проектом базы данных Visual Studio 2010 SQL Server». Это предоставляет вам отличные возможности для управления командной работой с базой данных. Это позволяет вам создать локальную базу данных и импортировать производственную базу данных в локальную базу данных. С этого момента вы и ваша команда можете работать с локальной базой данных, и когда вы будете готовы развернуть свои изменения в рабочей базе данных, Visual Studio 2010 синхронизирует локальную базу данных с рабочей базой данных, поэтому в рабочую базу данных будут внесены последние изменения.

Комментарии:

1. спасибо Alireza, Как мне нужно написать сценарий для этого в TFS. для запуска скриптов сборки tfs? таким образом, мы получим только производственные данные в данные разработчика. Я не хочу полной репликации производственной базы данных, мне нужны только данные.

Ответ №6:

вы можете создать задание DTS для своевременного копирования базы данных и ее содержимого.

http://msdn.microsoft.com/en-us/library/cc917688.aspx

Комментарии:

1. Это SSIS в этой версии SQl server