Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
i0vv
Guest
Поиском нашел только эту тему:
http://www.sql.ru/forum/actualthread.aspx?tid=649070
Гугл и Яндекс выдают на первых местах какие-то не те результаты.
Подскажите пожалуйста правильный порядок действий, или что запросить в поисковике?
Пока думаю вариант:
INSERT INTO Table1(Field1, Field2 ... FieldN)
(SELECT Field1, Field2 ... FieldN FROM Table2)

Индексы с таблиц удалены.
Какие подводные камни будут?
14 янв 13, 11:04    [13765134]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 32453
Гуглить про ssis, bulk insert и т.п.
14 янв 13, 11:05    [13765145]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
i0vv
Guest
Гавриленко Сергей Алексеевич
Гуглить про ssis, bulk insert и т.п.

Большое спасибо!
14 янв 13, 11:10    [13765183]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
i0vv
Guest
http://msdn.microsoft.com/ru-ru/library/ms175937.aspx
автор
SQL Server поддерживает массовый экспорт данных (массовых данных) из таблиц SQL Server и импорт массовых данных в таблицу SQL Server или несекционированное представление. Массовый импорт и массовый экспорт имеют большое значение для эффективной передачи данных между SQL Server и разнородными источниками данных. Массовый экспорт означает копирование данных из таблицы SQL Server в файл данных. Массовый импорт означает загрузку данных из файла данных в таблицу SQL Server. Например, можно экспортировать данные из приложения Microsoft Excel в файл данных, а затем выполнить массовый импорт данных в таблицу SQL Server.

Поправьте пожалуйста: в SQL Server 2005 нет инструмента для массового копирования данных между таблицами. Только выгрузка во внешний формат и обратно. Так получается?
14 янв 13, 11:14    [13765208]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
invm
Member

Откуда: Москва
Сообщений: 4856
http://msdn.microsoft.com/ru-ru/library/ms174335%28v=sql.105%29.aspx
Использование инструкции INSERT INTO…SELECT для массового импорта данных с минимальным протоколированием

Инструкция INSERT INTO <целевая_таблица> SELECT <столбцы> FROM <исходная_таблица> может эффективно перенести большое количество строк из одной таблицы (например, промежуточной) в другую таблицу с минимальным протоколированием. Минимальное протоколирование может повысить производительность выполнения инструкции и снизить вероятность того, что во время операции будет заполнен весь журнал транзакций.

Для минимального протоколирования этой инструкции необходимо выполнение следующих требований.

Модель восстановления базы данных настроена на простое или неполное протоколирование.

Целевой таблицей является пустая или непустая куча.

Целевая таблица не используется в репликации.

Для целевой таблицы указана подсказка TABLOCK.

Для строк, которые вставляются в кучу в результате действия вставки в инструкции MERGE, также может применяться минимальное протоколирование.

В отличие от инструкции BULK INSERT, которая удерживает менее строгую блокировку массового обновления, инструкция INSERT INTO…SELECT с подсказкой TABLOCK удерживает монопольную блокировку (X) таблицы. Это означает, что не поддерживается возможность вставки строк с помощью параллельных операций вставки. Дополнительные сведения о блокировках см. в разделе Режимы блокировки.
14 янв 13, 11:25    [13765285]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 20754
http://msdn.microsoft.com/ru-ru/library/ms174335%28v=sql.105%29.aspx
Использование инструкции INSERT INTO…SELECT для массового импорта данных с минимальным протоколированием
Это же для 2008R2

По моему, в 2005 такого ещё не было...
По крайней мере тут не упоминается.
14 янв 13, 11:31    [13765312]     Ответить | Цитировать Сообщить модератору
 Re: Копирование большого числа записей из одной таблицы в другую MS SQL Server 2005  [new]
invm
Member

Откуда: Москва
Сообщений: 4856
alexeyvg
По моему, в 2005 такого ещё не было...
Ага, не было. Невнимательно заголовок темы прочитал...
14 янв 13, 11:36    [13765352]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить
 
Лучший учебный центр Microsoft!
Новейшие курсы Microsoft SQL Server 2014!
Статус Academy Oracle. Очень привлекательные цены на курсы Oracle!
Отсрочка платежа или скидка 5% на комплексные программы!