как импортировать данные из другой базы данных в SQL Server 2005

У меня есть 2 базы данных в SQL Server 2005. Я хочу, чтобы у меня была такая же структура таблиц в 2 базах данных, например, у меня есть такая же таблица с именем testData в 2 базах данных с именем dbTest1 и dbTest2.

Теперь мне нужен один запрос, с помощью которого я могу добавить все записи из таблицы testData базы данных dbTest2 в таблицу testData базы данных dbTest1.

Я попытался использовать следующий запрос

вставить в значения dbTest1.testData выберите * из dbTest2.testData

но этот запрос не выполняется и выдает ошибку.

Я тоже пробовал

вставить в значения dbTest1.testData (col1, col2, col3) выберите * из dbTest2.testData, но это также дает ошибку "Недопустимое имя объекта dbTest2.testData"

Может ли кто-нибудь помочь в этом

Спасибо


person Sumit Gupta    schedule 04.11.2010    source источник


Ответы (2)


Замените dbTest2.testData на dbTest2..testData - вы должны указать 3 вещи (или, при желании, оставьте среднее поле пустым для dbo).

i.e.

insert into dbTest1..testData
select * from dbTest2..testData

Если таблица еще не существует в dbTest1, вы можете сделать это:

select * 
into dbTest1..testData
from dbTest2..testData
person cjk    schedule 04.11.2010

Вам необходимо указать все имена столбцов в запросе.

insert into dbTest1.dbo.testData(col1,col2,col3) select * from dbTest2.dbo.testData
person x2.    schedule 04.11.2010
comment
Выдает следующую ошибку Недопустимое имя объекта dbTest2.testData - person Sumit Gupta; 04.11.2010
comment
-1 - вам не нужно указывать столбцы, если у вас одинаковая структура в обоих (хотя это рекомендуется для защиты от изменений в будущем). В соответствии с моим ответом настоящая проблема заключается в другом. - person cjk; 04.11.2010
comment
@Sumit Gupta, моя вина, я забыл про dbo, проверьте обновленный ответ - person x2.; 04.11.2010