Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как скопировать таблицу в другую базу  [new]
Anatoliy Yevtushenko
Member

Откуда:
Сообщений: 88
Здраствуйте!

Подскажите, как можно с помощью sql скопировать таблицу и ее данные из одной базы в другую.

Заранее спасибо!
8 авг 05, 18:21    [1771142]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
Johnny25
Member

Откуда:
Сообщений: 19
Добрый день, Анатолий, уважаемый ALL!

Просто таблицу скопировать-то просто. Проще всего конечно это сделать в Enterprise Manager'е. Там есть Data Transformation Services - на нем правой кнопкой - All Tasks - Import или Export data (все равно). Выбираем источник, место куда копировать и дальше будет широкий выбор возможных вариантов. В том числе и помощник по строительствую SQL-запроса на копирование данных.

Если не ответил на Ваш вопрос - учтоните его.
8 авг 05, 18:46    [1771208]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
Anatoliy Yevtushenko
Member

Откуда:
Сообщений: 88
Я имею ввиду спомощью sql запроса типа insert into.

Пусть источник база dbSource, таблица table1
Скопировать нужно в базу dbDest, таблица table1

Структура таблиц одинакова.

Пробовал так
use dbSource;
insert table1 select * from dbDest.table1;

Пишет
Invalid object name 'dbDest.table1'.

Помогите неграмотному....
8 авг 05, 19:23    [1771281]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
Taffy
Member

Откуда:
Сообщений: 20501
Владельца забыли
use dbSource;
insert table1 select * from dbDest.dbo.table1;
8 авг 05, 19:32    [1771300]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
Anatoliy Yevtushenko
Member

Откуда:
Сообщений: 88
Ура!!!! Получилось!!!
Спасибо вам огромное!!!
8 авг 05, 19:48    [1771320]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как скопировать таблицу в другую базу  [new]
Necef
Member

Откуда:
Сообщений: 27
use dbSource;
insert table1 select * from dbDest.dbo.table1;

А что писать в место "use dbSource;" если эта таблица находится на удаленном компе?
5 янв 17, 12:42    [20074709]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
aleks2
Guest
insert destLinkedServer.destDatabase.schema.table select * from srcLinkedServer.srcDatabase.schema.table;
5 янв 17, 13:09    [20074781]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
Necef
Member

Откуда:
Сообщений: 27
aleks2
insert destLinkedServer.destDatabase.schema.table select * from srcLinkedServer.srcDatabase.schema.table;

А пробно можете написать? Например я не понимаю что нужно вписать в место destLinkedServer, destDatabase и schema
5 янв 17, 13:19    [20074797]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
uaggster
Member

Откуда:
Сообщений: 867
Necef
aleks2
insert destLinkedServer.destDatabase.schema.table select * from srcLinkedServer.srcDatabase.schema.table;

А пробно можете написать? Например я не понимаю что нужно вписать в место destLinkedServer, destDatabase и schema

Во-первых, придется создать объект "Linked Servers", который будет ссылаться на этот самый "целевой сервер" (destLinkedServer), и назвать этот объект как то. Соответственно в запросе вместо "destLinkedServer" должно быть имя прилинкованного сервера из коллекции Linked Servers.
Во-вторых, нужно настроить это соединение, чтобы такие запросы допускались.
Ну и в третьих - вместо destDatabase указать имя целевой БД, вместо schema - схему, в которой находится целевая таблица, например dbo, ну и вместо table - имя таблицы.

И, разумеется, разобраться с правами на подключение, вставку и т.д.
5 янв 17, 14:50    [20075024]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
uaggster,

как-то не совсем просто выглядит для человека вообще задающего такой простой вопрос.....

если не слишком большая таблица то можно в файл ее слить и проимпортить в новую базу визардом
или написать что-то типа
select 'insert table1(fieldInt1,fieldChar2) 
select '+cast(fieldInt1 as varchar)+','''+fieldChar2+''''
from table1
иногда проще так чем разбираться с линкованием и пр
5 янв 17, 18:04    [20075416]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
o-o
Guest
если небольшая, то зачем руками писать инсерты,
когда можно заскриптовать студией в виде инсертов?
5 янв 17, 18:15    [20075439]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
o-o,

студия есть или нет не понятно
какой версии не понятно
а инсерты писать надо учиться без вариантов
5 янв 17, 20:17    [20075703]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу в другую базу  [new]
o-o
Guest
leov
студия есть или нет не понятно
какой версии не понятно

... сервер ли другой вообще есть? непонятно
даже если и есть, это точно sql server? непонятно
мыслить надо ширше, или ширее.
известно лишь, что есть таблица (возможно, эксель)
и что она "на другом компе" (ага, на клиентском. и ТС хочет закачать ее на сервер, почему нет? )
5 янв 17, 20:25    [20075727]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить