Как перенести все таблицы между базами данных с помощью SQL Management Studio? - PullRequest
1 голос
/ 21 августа 2010

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

Если это невозможно, не могли бы вы посоветовать, как я могу сделать следующее:

  • У меня есть две базы данных, содни и те же имена таблиц, но у одного есть больше данных, чем у другого
  • Они имеют разные имена баз данных (имена таблиц идентичны)
  • Они оба находятся на разных серверах

Мне нужно получить все дополнительные данные из большой базы данных в меньшую базу данных.

Обе базы данных MS SQL

Ответы [ 3 ]

5 голосов
/ 21 августа 2010

Поскольку оба сервера MS SQL находятся на разных хостах ... зачем использовать CSV, если вы можете настроить экземпляр связанного сервера , чтобы получить доступ к одному экземпляру из другого с помощью оператора SQL? 1003 *

  1. Убедитесь, что у вас есть действительный пользователь в экземпляре, из которого вы хотите извлечь данные - у него должен быть доступ к таблицам
  2. Создать экземпляр связанного сервера
  3. Ссылка на имя в запросах с использованием синтаксиса четырех имен:

    INSERT INTO db1.dbo.SmallerTable
    SELECT *
      FROM linked_server.db.dbo.LargerTable lt
     WHERE NOT EXISTS(SELECT NULL
                        FROM db1.dbo.SmallerTable st
                       WHERE st.col = lt.col) 
    

Замените WHERE st.col = lt.col на любые критерии, которые вы считаете дублирующими значениями между двумя таблицами.

3 голосов
/ 21 августа 2010

Существует также очень хороший инструмент от Redgate, который синхронизирует данные между двумя базами данных.

Я также использовал SQL scriptter прежде, чтобы сгенерировать файл SQL с операторами вставки, которые можно запустить в другой базе данных для вставки данных.

0 голосов
/ 21 августа 2010

Если вы щелкнете правой кнопкой мыши по базе данных, в меню Задачи вы можете использовать опцию Генерировать сценарии, чтобы создавать сценарии SQL для всех таблиц и данных. См. сообщение в блоге для деталей. Если вы хотите синхронизировать вторую базу данных с первой, то лучше использовать что-то вроде Redgate, как предложено в ответе mpenrow.

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