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

Откуда:
Сообщений: 67
Новогоднее архивирование

надо наибыстрейшим способом скопировать 70 Gb таблицу из одной базы в другую
в моем случае обе базы на одном сервере

select @@version
Microsoft SQL Server 2005 - 9.00.3077.00 (X64)
Dec 17 2008 20:40:08
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)


есть ли что-нибудь быстрее чем
select * into t2 from db0..t1
?

в таблице имеются колонки типа TEXT
таблица в отдельной filegroup

может как нибудь через backup datafile извратиться или через partitions ?


ограничение: базу db0 останавливать нельзя
31 дек 09, 19:20    [8141838]     Ответить | Цитировать Сообщить модератору
 Re: наибыстрейшим способом скопировать большую таблицу в другую базу  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
dembel92,

надо набыстрейшим или наименее болезненным для базы?
для первого - select into, для второго я бы использовал bcp.
партиции использовать не получится, т.к. базу в single user надо переводить.
31 дек 09, 19:28    [8141845]     Ответить | Цитировать Сообщить модератору
 Re: наибыстрейшим способом скопировать большую таблицу в другую базу  [new]
dembel92
Member

Откуда:
Сообщений: 67
AAron,

а как с помощью bcp двигать таблицу с текстовыми колонками? какой формат лучше использовать
в тексте что угодно может быть - разделитель не угадаешь

если делал - поделись примерчиком пожалуйста.

select * into уже 10 часов фигачит и я начинаю подумывать о том чтобы его прибить нафиг
31 дек 09, 19:40    [8141861]     Ответить | Цитировать Сообщить модератору
 Re: наибыстрейшим способом скопировать большую таблицу в другую базу  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
Большие объемы данных лучше перегонять порциями по 5-20 тысяч записей.

Если Вы остановите перекачку сейчас, то на откат транзакции уйдут примерно те же 10 часов, так что лучше расслабиться и встречать Новый год. ;)

Оценить объем записей, уже вставленных, можно прочитав на приемнике с опцией with(nolock) или в представлении sysindexes.
31 дек 09, 21:33    [8141994]     Ответить | Цитировать Сообщить модератору
 Re: наибыстрейшим способом скопировать большую таблицу в другую базу  [new]
Denis Reznik
Member

Откуда: Киев
Сообщений: 156
Не знаю, актуален ли ещё вопрос, но перенос данных лучше организовать при помощи Integration Services. Пакет для переноса создаётся очень быстро, легко настраивается передача данных пакетами определённого размера и вставка при помощь BULK INSERT.
1 янв 10, 15:01    [8142857]     Ответить | Цитировать Сообщить модератору
 Re: наибыстрейшим способом скопировать большую таблицу в другую базу  [new]
Александр Волок (def1983)
Member

Откуда: Rotterdam
Сообщений: 4959
AAron
надо набыстрейшим или наименее болезненным для базы?
для первого - select into

+1
2 янв 10, 21:32    [8144096]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить