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

Откуда: МО
Сообщений: 402
Кто нибудь выгружал с помощью bcp таблицу с более чем 2 млрд записей?
Понятно (из доки) что один поток может выгрузить только 2 147 483 647 записей. Имею 3,5 млрд в таблице. Первый поток с -F 1 -L 2000000000 отрабатывает корректно. А вот второй с -F 2000000001 -L 4000000000 останавливается на 147 483 647. Т.е. в сумме с первым потоком 2 147 483 647 записей. Т.е., как ограничение для одного файла. Это безвыходная ситуация или баг bcp? Или мой баг?

--------------------------------------------------------------------------------------------------------------------------------------------------
Не сортируй отсортированное! (с) Д.Кнут. Искусство программирования. Том 3. Сортировка и поиск.
8 дек 10, 17:23    [9906703]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Я бы запросом выбирал нужные данные.
8 дек 10, 17:45    [9906893]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Alx65
Member

Откуда: МО
Сообщений: 402
Мне нужно всю таблицу выгрузить. Я попробую, конечно, но это геморно. Таких таблиц полсотни. И в каждой искать что-нить по середине от чего плясать? По какому критерию искать? Х.З. Странно, что не работает штатно, т.к. по BOL фирст и ласт могут быть значения до 2^63-1. Просто один выходной файл не должен содержать более чем 2^31.
8 дек 10, 19:01    [9907294]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Евгений Фадеев
Member [заблокирован]

Откуда: Russia, Moscow
Сообщений: 2374
Чем, в итоге, дело кончилось?
16 май 11, 15:33    [10659135]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Alx65
Member

Откуда: МО
Сообщений: 402
Евгений Фадеев,

Так я и не нашел решения.
3 июн 11, 09:34    [10756929]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Alx65
А что у таблиц нет полей, отвечающих за уникальность записи? Чтобы действительно действовать запросами (т.е. кусками таблиц)...
3 июн 11, 09:37    [10756944]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 852
Alx65
Мне нужно всю таблицу выгрузить. Я попробую, конечно, но это геморно. Таких таблиц полсотни. И в каждой искать что-нить по середине от чего плясать? По какому критерию искать? Х.З. Странно, что не работает штатно, т.к. по BOL фирст и ласт могут быть значения до 2^63-1. Просто один выходной файл не должен содержать более чем 2^31.


Если в таблице есть поле содержащее номер строки или что-то еще, позволяющее задавать начальный и конечный параметр для запроса по этому полю, то тогда проблема просто решается. Если такого поля нет можно создать view содержащее все поля из таблицы и поле с номером строки, пронумеровать строки при помощи row_number, а дальше в цикле генерировать bcp команду, задавая начальную и конечную строки и используя аргумент query и не используя параметры -F и -L. Немного трудоемко но работать будет. А с чем связанно ограничение на количесто строк в output-файле?
3 июн 11, 21:07    [10761764]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Fire83
Member

Откуда: Гомель-Минск
Сообщений: 474
[quot flexgen]
Alx65
А с чем связанно ограничение на количесто строк в output-файле?

это был баг в 2005 сиквеле, в 2008 судя по всему должны были пофиксить
4 июн 11, 02:17    [10762440]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Что-то я не понял: bcp row count limit 4-byte integer:
Jimmy Wu, Posted by Microsoft on 16.03.2009 at 14:19
We have identified that this issue has been fixed in the SQL Server 2008 BCP tool. If you feel that this bug has been resolved incorrectly, please let us know.
4 июн 11, 02:22    [10762442]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Fire83, опередил
4 июн 11, 02:22    [10762443]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с bcp  [new]
Alx65
Member

Откуда: МО
Сообщений: 402
На недельку вывалился из темы, сорри.

Как раз задача стояла выгрузки из 2005 для загрузки на 2008.
И помниться, bcp от 2008 ругался, если его натравить на 2005-ю базу.
Там есть еще один прикол. Предположим мне надо выгрузить 10 млрд. записей. Даем команду -F 0 -L 2000000000. Предпопложим выгрузка идет 2 часа. Потом даем команду -F 2000000001 -L 4000000000. Тут начинается цирк. Первые два часа ничего не происходит, но, если глянуть сетевой монитор, то по сети идет поток, такой жа как при выгрузке первых 2-х млрд. И только через два часа начинает писаться первая запись в выходной файл. И, соответственно, еще 2 часа записи. Т.е. на выгрузку
0 - 2 млрд - 2 часа
2 - 4 млрд - 4 часа, из них 2 часа (чтение первых 2 млрд) + 2 часа (запись от 2 до 4 млрд) и т.д.
4 - 6 млрд - 6 часов, из них 4 часа (чтение первых 4 млрд) + 2 часа (запись от 4 до 6 млрд)
6 - 8 млрд - 8 часов, из них 6 часов (чтение первых 6 млрд) + 2 часа (запись от 6 до 8 млрд)
8 - 10 млрд - 10 часов, из них 8 часов (чтение первых 8 млрд) + 2 часа (запись от 8 до 10 млрд)
Итого на выгрузку 10 млрд понадобиться 5 запусков общей длительностью 2+4+6+8+10=30 часов, хотя, собственно время на запись 2х5=10 часов.
14 июн 11, 10:07    [10808385]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить