#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:
Вы могли бы:
- резервное копирование и восстановление базы данных
- отсоедините и повторно присоедините базу данных
- используйте такие инструменты, как Red-Gate SQL Compare для структурного и Red-Gate SQL Data Compare для сравнения данных и синхронизации
- вы могли бы создать свой собственный, используя инструкции SQL и / или SMO (объекты управления SQL Server)
- вероятно, существует миллион других способов сделать это…..
Ответ №3:
Для этого вы можете использовать импорт и экспорт SSIS. Запрашивается имя исходного сервера, source dbName и имя сервера назначения, destination dbName.
или
вы можете использовать процесс резервного копирования и восстановления.
Но я всегда предпочитаю SSIS.
Ответ №4:
Хорошо, я нашел это, полностью в Visual Studio. Это может быть из локальных файлов (.mdf) в файлы сервера и наоборот.
- Перейдите в обозреватель объектов Sql Server и найдите исходную базу данных. Или в обозревателе серверов щелкните правой кнопкой мыши на исходной базе данных и нажмите на Обзор в обозревателе объектов Sql Server
- В обозревателе объектов Sql Server щелкните правой кнопкой мыши исходную базу данных и выберите Сравнение данных
- Появится диалоговое окно, показывающее вам исходную базу данных и целевую базу данных. Ваша исходная база данных уже должна быть выбрана. Теперь выберите вашу целевую базу данных, вам, вероятно, придется добавить новое соединение, просто сделайте это, как вы обычно делаете в Server Explorer. Если вы хотите, чтобы целевой базой данных был локальный файл (.mdf), и вы не можете нажать на «Изменить«, сначала добавьте его в проводник сервера, и он появится в окне со списком.
- Выберите то, что вы хотите сравнить, установив флажки, и нажмите Далее.
- Он подключится к серверам и покажет вам другое диалоговое окно, что сравнивать, установите флажки и нажмите «Далее».
- Здесь у вас будет обзор ваших изменений от исходного к целевому.
На этом этапе вы сможете как бы «зеркально отразить» исходную базу данных с целевой базой данных. Например: Если вы добавили в целевую базу данных больше записей, чем есть в исходной базе данных, то эти записи будут удалены, как только вы нажмете Обновить целевую Внимательно посмотрите на то, что произойдет, когда вы нажмете эту кнопку!
- Если вы удовлетворены результатом, нажмите Обновить цель. Если вас это не устраивает, рядом с кнопкой есть маленький значок для экспорта в файл .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 для своевременного копирования базы данных и ее содержимого.
Комментарии:
1. Это SSIS в этой версии SQl server