Как восстановить базу данных с разных компьютеров в один - PullRequest
1 голос
/ 29 апреля 2010

У меня есть 3 компьютера с одной и той же базой данных SQL Server 2005. Я хотел бы собрать данные с 3 компьютеров на другой компьютер с такой же базой данных. Пожалуйста, помогите мне.

Ответы [ 4 ]

3 голосов
/ 29 апреля 2010

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

1 голос
/ 29 апреля 2010

Это может быть сложно без ручного преобразования данных. Это зависит от вашей базы данных и типа данных. Например, что вы используете в качестве ключей? Если у вас есть последовательные целые числа в качестве первичных / внешних ключей, то вам придется выполнить некоторое ручное преобразование данных. Если вы используете GUIDS, это станет немного проще, но вы все равно должны убедиться, что, например, в некоторых таблицах поиска нет разных ключей guid для одних и тех же предметов и т. Д. Но для этого автоматически не требуется.

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

0 голосов
/ 29 апреля 2010

Redgate SQL Toolbelt может вам помочь. Сначала вы должны скопировать базу данных в эту another computer, а затем сравнить ее с Sql Data Compare с 3 базами данных, всегда копирующими данные только одним способом (в вашу новую базу данных). Однако я не уверен на 100%, будет ли это работать так, как я думаю. Вы должны проверить это сами.

Как и другие, предположили, что некоторые вещи, такие как первичные ключи и т. Д., Могут быть проблематичными.

0 голосов
/ 29 апреля 2010

Вам необходимо сделать резервную копию ваших баз данных, щелкнув правой кнопкой мыши в Enterprise Manager и выбрав резервное копирование, прежде чем выбрать местоположение и т. Д.

После резервного копирования вы можете восстановить на локальном сервере Sql, щелкнув правой кнопкой мыши и выбрав восстановление.

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

В качестве альтернативы вы можете использовать что-то вроде Red Gates Sql Data Compare для сравнения и передачи данных с использованием визуального интерфейса. Хотя это стоит денег.

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