Копировать таблицы с данными в другую базу данных в SQL Server 2008

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

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

Кто-нибудь, пожалуйста, помогите... Спасибо заранее...

Ответ 1

Вы можете использовать тот же способ для копирования таблиц в одной базе данных, SELECT INTO, но использовать полные имена таблиц database.schema.object_name вместо этого:

USE TheOtherDB;

SELECT *
INTO NewTable
FROM TheFirstDB.Schemaname.OldTable

Это создаст новую таблицу Newtable в базе данных TheOtherDB из таблицы OldTable, которая принадлежит базе данных TheFirstDB

Ответ 2

  • Щелкните правой кнопкой мыши по базе данных, выберите задачи и нажмите "Сгенерировать скрипты".
  • В появившемся всплывающем окне выберите нужные параметры (нажмите "Дополнительно" ), чтобы удалить и создать таблицу, удалить, если существует, и т.д.
  • Прокрутите вниз и выберите "Схема и данные" или "Только данные" или "Типы данных в script (2008 R2)", как требуется.
  • Сохранить в файл и выполнить в целевой БД.

Преимущества -

  • Может выполняться с целевым БД, даже если он находится на другом сервере/экземпляре
  • Быстро script несколько таблиц с данными по мере необходимости

Предупреждение. Может потребоваться довольно много времени для script, если в таблицах содержится большой объем данных.

Раджан

Ответ 3

INSERT INTO DB2.dbo.MyOtherTable (Col0, Col1)
SELECT Col0, Col1 FROM DB1.dbo.MyTable

Оба столбца таблицы должны иметь одинаковые типы данных.

Ответ 4

Ниже SQL Query скопирует схему таблицы SQL Server и данные из одной базы данных в другую базу данных. Вы всегда можете указать имя таблицы (SampleTable) в своей целевой базе данных.

SELECT * INTO DestinationDB.dbo.SampleTable FROM SourceDB.dbo.SampleTable